Linux文件目录管理指令详解(下篇)
Linux文件目录管理指令详解(下篇)
19 find指令
功能:在目录树中搜索文件或目录
基本语法:
find [搜索路径] [匹配条件] [操作]
常用选项:
-name "文件名"
:按名称精确匹配(支持通配符*
)-type f/d
:按类型查找(f
文件,d
目录)-mtime +n/-n
:按修改时间查找(+n
表示n天前,-n
表示n天内)-size +n/-nk/M/G
:按文件大小查找(如+100M
表示大于100MB)-exec 命令 {} \;
:对搜索结果执行命令({}
代表文件名,需用\;
结束)
应用实例:
- 查找
/etc
目录下所有.conf
文件:find /etc -name "*.conf"
- 查找当前目录7天内修改过的文件并删除:
find . -mtime -7 -exec rm {} \;
使用细节:
- 通配符
*
需用双引号包裹(如"*log"
),避免Shell扩展。 -exec
操作可替换为xargs
(如find ... | xargs rm
)。
20 grep指令
功能:在文件中搜索文本模式(支持正则表达式)
基本语法:
grep [选项] "搜索内容" 文件名
常用选项:
-i
:忽略大小写-r
:递归搜索目录-n
:显示行号-v
:反向匹配(显示不包含模式的行)-E
:启用扩展正则表达式(如grep -E "error|warn"
)
应用实例:
- 在
/var/log
中查找含"error"的行(忽略大小写):grep -ri "error" /var/log
- 统计文件中"warning"出现的次数:
grep -c "warning" app.log
21 tar指令
功能:文件归档与压缩(常用格式:.tar
, .tar.gz
, .tar.bz2
)
基本语法:
tar [选项] 压缩包名 文件/目录
常用选项:
- 压缩:
-czvf
:创建gzip压缩包(.tar.gz
)-cjvf
:创建bzip2压缩包(.tar.bz2
)
- 解压:
-xzvf
:解压gzip压缩包-xjvf
:解压bzip2压缩包
-C 目录
:解压到指定目录
应用实例:
- 压缩目录
/data
为data.tar.gz
:tar -czvf data.tar.gz /data
- 解压到
/opt
目录:tar -xzvf data.tar.gz -C /opt
22 gzip/gunzip指令
功能:压缩/解压.gz
文件
基本语法:
gzip 文件名 # 压缩(生成.gz文件,原文件被删除)
gunzip 文件名.gz # 解压
应用实例:
- 压缩
largefile.txt
:gzip largefile.txt
- 解压
archive.gz
:gunzip archive.gz
23 ps指令
功能:查看当前进程状态
基本语法:
ps [选项]
常用选项:
aux
:显示所有用户进程(BSD风格)-ef
:显示完整进程信息(UNIX风格)--forest
:以树状结构显示进程层级
应用实例:
- 查找所有Java进程:
ps aux | grep java
- 查看进程树:
ps -ef --forest
24 top指令
功能:实时监控系统资源(CPU、内存、进程)
基本语法:
top [选项]
常用选项:
-d 秒数
:设置刷新间隔(如top -d 5
每5秒刷新)-p PID
:监控指定进程(如top -p 1234
)- 交互命令:
P
:按CPU使用率排序M
:按内存使用率排序k
:终止进程
应用实例:
实时监控并每3秒刷新:
top -d 3
25 kill指令
功能:发送信号终止进程
基本语法:
kill [信号] PID
常用信号:
-9
(SIGKILL):强制终止(立即结束,不可被忽略)-15
(SIGTERM):默认信号(允许进程清理后退出)
应用实例:
强制终止PID为1234的进程:
kill -9 1234
26 chmod指令
功能:修改文件/目录权限
基本语法:
chmod [选项] 权限 文件/目录
权限表示:
- 数字模式:如
755
(所有者:rwx,组:rx,其他:rx) - 符号模式:如
u+x
(所有者添加执行权限),g-w
(组移除写权限)
应用实例:
- 设置脚本可执行:
chmod 755 script.sh
- 递归修改目录权限:
chmod -R 750 /data
27 chown指令
功能:修改文件/目录所有者
基本语法:
chown [用户]:[组] 文件/目录
应用实例:
- 将文件所有者改为用户
admin
,组改为developers
:chown admin:developers file.txt
- 递归修改目录所有者:
chown -R admin:developers /data
28 useradd指令
功能:创建新用户
基本语法:
useradd [选项] 用户名
常用选项:
-m
:创建用户家目录(默认在/home
)-s /bin/bash
:指定默认Shell-G 组名
:附加到附加组
应用实例:
创建用户devuser
并设置家目录:
useradd -m -s /bin/bash devuser
29 apt指令(Debian/Ubuntu)
功能:软件包管理工具
基本语法:
apt [选项] 命令
常用命令:
install
:安装包remove
:卸载包update
:更新软件源upgrade
:升级所有已安装包autoremove
:删除无用依赖
应用实例:
- 安装Nginx:
sudo apt install nginx
- 更新系统并升级软件:
sudo apt update && sudo apt upgrade
30 yum指令(RHEL/CentOS)
功能:RPM包管理工具(类似apt)
基本语法:
yum [选项] 命令
常用命令:
install
:安装包remove
:卸载包update
:更新包list installed
:列出已安装包
应用实例:
安装Apache HTTP服务器:
sudo yum install httpd
31 df指令
功能:查看磁盘空间使用情况
基本语法:
df [选项]
常用选项:
-h
:以易读格式显示(如GB、MB)-T
:显示文件系统类型
应用实例:
查看所有挂载点的磁盘使用情况:
df -hT
32 du指令
功能:统计文件/目录的磁盘使用量
基本语法:
du [选项] 目录/文件
常用选项:
-s
:仅显示总大小-h
:以易读格式显示--max-depth=N
:限制递归深度(如--max-depth=1
)
应用实例:
统计/var/log
目录总大小:
du -sh /var/log
33 crontab指令
功能:设置定时任务
基本语法:
crontab [选项]
常用选项:
-e
:编辑当前用户的定时任务-l
:列出当前用户的定时任务-r
:删除所有定时任务
时间格式:
* * * * *
分别表示:分钟(0-59)、小时(0-23)、日(1-31)、月(1-12)、周(0-7, 0和7均为周日)
应用实例:
- 每天凌晨3点执行备份脚本:
0 3 * * * /path/to/backup.sh
- 每5分钟检查一次服务状态:
*/5 * * * * systemctl status nginx
34 curl指令
功能:传输数据的工具(支持HTTP/FTP/SCP等协议)
基本语法:
curl [选项] URL
常用选项:
-O
:下载文件到当前目录(保留远程文件名)-o 文件名
:指定保存文件名-L
:跟随重定向-I
:仅显示响应头信息
应用实例:
- 下载文件:
curl -O https://example.com/file.zip
- 测试网页状态码:
curl -I -s -o /dev/null -w "%{http_code}" https://example.com
35 netstat指令
功能:查看网络连接、路由表、接口统计信息
基本语法:
netstat [选项]
常用选项:
-tuln
:查看监听中的TCP/UDP端口-p
:显示进程PID和名称-r
:显示路由表
应用实例:
查看所有监听端口及对应进程:
sudo netstat -tulnp
36 scp指令
功能:基于SSH的安全文件传输
基本语法:
scp [选项] 源文件 用户@远程主机:目标路径
常用选项:
-r
:递归传输目录-P 端口
:指定SSH端口(默认22)
应用实例:
- 将本地文件复制到远程主机:
scp file.txt user@remote:/home/user/
- 从远程主机下载目录:
scp -r user@remote:/data/logs .
37 rsync指令
功能:高效文件同步工具(支持增量传输)
基本语法:
rsync [选项] 源文件 目标路径
常用选项:
-a
:归档模式(保留权限、时间戳等)-v
:显示详细输出-z
:压缩传输--delete
:同步删除目标多余文件
应用实例:
同步本地目录到远程主机:
rsync -avz /data/ user@remote:/backup/
以上命令覆盖了Linux系统管理的核心场景,建议结合man
手册(如man find
)深入学习各指令的进阶用法。