云计算大数据——Linux基本操作命令(下半)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
本文围绕Linux基本操作命令展开,以“实用导向”为核心原则,为初学者搭建系统化的学习框架。内容将覆盖日常操作中最核心的场景:文件与目录管理、用户与权限控制、进程管理、系统状态监控等,摒弃冗余的底层原理推导,重点解析命令的基本语法、常用选项及实际应用案例。同时,针对初学者易混淆的知识点(如相对路径与绝对路径、权限符号含义等)进行针对性说明,助力读者快速将命令转化为实操能力,为后续学习Shell脚本编程、服务部署、容器化技术等高级内容筑牢基础。
3.7 创建新目录的方法mkdir
mkdir [选项] 目录位置及名称(绝对路径、相对路径)
-p:递归创建,创建一个已有的目录会报错,加-p则不会报错/当父目录不存在时
在命令行或脚本中,使用 mkdir 命令可以快速创建新目录。以下是具体用法和常见示例:
基本语法
mkdir 目录名
此命令会在当前路径下创建一个名为“目录名”的文件夹。
创建多级目录
添加 -p 参数可自动创建父目录(若不存在):
mkdir -p 父目录/子目录
设置目录权限
通过 -m 参数直接指定权限(如755):
mkdir -m 755 目录名
批量创建目录
支持同时创建多个同级目录:
mkdir dir1 dir2 dir3

3.8创建空文件touch
使用 touch 命令创建空文件
①文件存在:修改文件或者目录的时间属性,包括存取时间和更改时间。
②文件不存在:创建新文件。
在这里插入图片描述

创建单个空文件
直接指定文件名即可创建空文件。如果文件已存在,touch 会更新该文件的访问和修改时间戳而不改变内容:
touch filename.txt
批量创建多个空文件
通过空格分隔文件名,可以一次性创建多个空文件:
touch file1.txt file2.txt file3.log
创建带空格的文件名
若文件名包含空格,需使用引号包裹:
touch "new file.txt"
通过大括号扩展创建序列文件
适用于生成有规律的文件名(如带数字序号):
touch report_{1..5}.md # 创建 report_1.md 到 report_5.md
强制创建文件(忽略符号链接)
默认情况下,若目标文件名是符号链接,touch 会修改链接指向的文件。添加 -h 选项可避免这种行为:
touch -h symlink_file
通过 -t 选项可设置特定时间戳(格式为 [[CC]YY]MMDDhhmm[.ss]):
touch -t 202405301830.00 timestamp_file
使用参考文件的时间戳
-r 选项可复制另一个文件的时间戳到新文件:
touch -r source_file.txt new_file.txt
3.9 创建链接文件ln(软链接、硬链接)
3.9.1软链接(Symbolic Link)
软链接类似于Windows的快捷方式,是一个指向目标文件或目录的特殊文件。删除软链接不会影响目标文件,但删除目标文件后软链接会失效。
创建软链接的命令格式:
ln -s 目标文件路径 链接文件路径
示例:为/home/user/file.txt创建软链接/home/user/link_to_file
ln -s /home/user/file.txt /home/user/link_to_file
查看软链接指向:
ls -l 链接文件路径
3.9.2 硬链接
硬链接是文件系统的直接引用,与原始文件共享相同的inode。删除原始文件后,只要存在至少一个硬链接,文件内容仍然存在。
创建硬链接的命令格式:
ln 目标文件路径 链接文件路径
示例:为/home/user/file.txt创建硬链接/home/user/hardlink_to_file
ln /home/user/file.txt /home/user/hardlink_to_file
查看文件的硬链接数:
ls -l 目标文件路径
关键区别
软链接可以跨文件系统,硬链接不行
软链接可以对目录创建,硬链接通常不能对目录创建
软链接存储的是路径信息,硬链接直接引用inode
删除原始文件后,软链接失效,硬链接不受影响
3.10复制文件或目录cp
基本用法
复制文件到目标目录:
cp source_file destination_directory/
复制文件并重命名:
cp source_file destination_file
递归复制目录
复制整个目录及其内容:
cp -r source_directory destination_directory/
保留文件属性
保留文件的权限、时间戳等属性:
cp -p source_file destination_file
交互模式
覆盖前提示确认:
cp -i source_file destination_file
强制覆盖
不提示直接覆盖现有文件:
cp -f source_file destination_file
显示详细信息
显示复制的文件信息:
cp -v source_file destination_file
创建链接而非复制
创建硬链接:
cp -l source_file destination_file
创建符号链接:
cp -s source_file destination_file
3.11删除文件或目录rm
rm 命令的基本用法
rm 命令用于删除文件或目录。基本语法如下:
rm [选项] 文件或目录
删除文件
直接使用 rm 后跟文件名可以删除单个文件:
rm filename
删除多个文件可以通过空格分隔文件名:
rm file1 file2 file3
删除目录
默认情况下 rm 不能删除目录,需要使用 -r 或 -R 选项递归删除目录及其内容:
rm -r directory_name
强制删除
使用 -f 选项可以强制删除,避免提示确认:
rm -f filename
组合 -rf 可以强制递归删除目录:
rm -rf directory_name
交互式删除
使用 -i 选项会在删除前提示确认,增加安全性:
rm -i filename
删除前显示信息
-v 选项会在删除时显示详细信息:
rm -v filename
注意事项
rm -rf命令极其危险,特别是以 root 用户执行时可能导致系统文件被删除。- 删除操作通常不可逆,建议先备份重要数据。
- 可以使用
--preserve-root选项防止意外删除根目录(现代系统通常默认启用)。
替代方案
对于更安全的删除,可以考虑使用 trash-cli 工具将文件移动到回收站而非直接删除:
trash-put filename
3.12移动文件或目录/改名mv
基本语法
mv [选项] 源文件或目录 目标文件或目录
常见用途
移动文件或目录
将文件从当前目录移动到指定目录:
mv file.txt /path/to/destination/
将目录及其内容移动到新位置:
mv dirname/ /new/path/
重命名文件或目录
在同一目录下重命名文件:
mv oldname.txt newname.txt
重命名目录(需在同一父目录下):
mv olddir/ newdir/
常用选项
-i:交互模式,覆盖前询问确认
-n:禁止覆盖已存在的文件
-v:显示详细操作过程
-f:强制覆盖,不提示
注意事项
若目标路径是目录,源文件/目录会被移至该目录下,名称不变。
若目标路径是文件名或新目录名,则执行重命名或移动并重命名。
3.13### 查找命令或文件存放目录的方法
which 是一个常用的命令行工具,用于查找可执行文件或命令的存放路径。它会在系统的 PATH 环境变量所列出的目录中搜索指定的命令或文件。
基本语法:
which [命令名]
示例:
which ls
输出可能是:
/bin/ls
使用 whereis 查找更全面的文件位置
whereis 不仅能找到可执行文件,还能定位相关的源代码、手册页等资源。
基本语法:
whereis [命令名]
示例:
whereis python
输出可能包含:
python: /usr/bin/python /usr/lib/python2.7 /usr/include/python2.7
使用 locate 进行快速全局搜索
locate 通过预建的数据库快速查找文件和目录,适合搜索系统中所有匹配的文件名。
基本语法:
locate [文件名或部分名称]
示例:
locate nginx.conf
输出可能包含:
/etc/nginx/nginx.conf
/usr/share/nginx/conf/nginx.conf
使用 find 进行高级搜索
find 提供了更灵活的搜索方式,可以按名称、类型、时间等条件查找文件。
基本语法:
find [搜索路径] -name [文件名]
示例:
find /usr -name "python*"
输出可能列出所有以 python 开头的文件或目录。
使用 type 检查命令类型
type 可以显示命令的类型(如别名、内置命令或外部可执行文件)。
基本语法:
type [命令名]
示例:
type cd
输出可能是:
cd is a shell builtin
注意事项
- 部分命令可能是别名或内置命令(如
cd),which可能无法直接找到其路径。 locate需要定期更新数据库(通过updatedb命令),否则可能无法搜索到最新创建的文件。find是实时搜索,速度较慢但结果最准确。查找命令/文件存放目录which
3.14查找文件或目录find
使用 find 命令查找文件或目录
find 是 Linux 和 Unix 系统中用于查找文件和目录的强大工具,支持多种条件筛选,如名称、类型、大小、时间戳等。
基本语法
find [路径] [选项] [表达式]
- 路径:指定搜索的起始目录,默认为当前目录(
.)。 - 选项:控制搜索行为,如深度限制等。
- 表达式:定义匹配条件,如名称、类型等。
按名称查找
通过 -name 选项按文件名匹配(区分大小写):
find /path/to/search -name "filename.txt"
使用 -iname 忽略大小写:
find /path/to/search -iname "*.jpg"
按类型查找
- 文件:
-type f - 目录:
-type d
find /path/to/search -type d -name "dir_name"
按时间筛选
- 修改时间(mtime):
-mtime n(n 天前)find /path -mtime +7 # 7天前修改的文件 - 访问时间(atime):
-atime -1(最近1天内访问)
按大小查找
- 大于指定大小:
-size +10M(>10MB) - 小于指定大小:
-size -1G(<1GB)
find /path -size +100M -type f
组合条件
- 与逻辑(默认):多个条件同时满足
find /path -name "*.log" -mtime +30 -size +1M - 或逻辑:
-ofind /path -name "*.tmp" -o -name "*.bak"
执行操作
- 删除匹配文件:
-deletefind /path -name "*.tmp" -delete - 执行命令:
-execfind /path -name "*.txt" -exec chmod 644 {} \;
其他常用选项
- 限制搜索深度:
-maxdepth nfind /path -maxdepth 2 -name "*.conf" - 排除目录:
-prunefind /path -name "node_modules" -prune -o -name "*.js"
示例汇总
- 查找当前目录下所有
.py文件:find . -name "*.py" - 查找
/var/log中大于 50MB 的日志文件:find /var/log -type f -size +50M -name "*.log" - 查找用户主目录下 30 天内未访问的临时文件并删除:
find ~ -atime +30 -name "*.tmp" -delete
通过灵活组合选项,find 可以高效完成复杂的文件检索任务。
总结
掌握这些基本命令,不仅能满足日常系统操作需求,更能培养“自主解决问题”的核心能力:通过man 命令或命令 --help查阅手册、利用管道符(|)组合命令实现复杂需求、通过日志命令排查操作异常,这些能力的迁移价值远超出命令本身。需要着重强调的是,Linux学习的关键在于“实操落地”——只有在实际操作中反复尝试(如模拟文件备份、权限配置)、排查错误(如“权限不足”“路径不存在”等常见问题),才能真正将命令内化为技能,而非停留在理论记忆层面。
更多推荐


所有评论(0)