以下是一些 Linux 中常见相似命令的详细对比及实例,按功能分类整理:
一、文件/目录操作
1. cp vs rsync
cp: 基本文件复制命令。1
2cp source.txt dest.txt # 复制文件
cp -r dir1/ dir2/ # 递归复制目录rsync: 支持增量同步、远程复制,适合备份。1
2rsync -av source/ dest/ # 同步目录(保留权限和时间戳)
rsync -avz user@remote:/path/ /local/ # 远程同步
2. rm vs shred vs trash-cli
rm: 删除文件(不可逆)。1
2rm file.txt # 删除文件
rm -rf dir/ # 强制递归删除目录shred: 安全删除(覆盖文件内容)。1
shred -u file.txt # 覆盖后删除文件
trash-cli: 将文件移到回收站(需安装)。1
trash-put file.txt # 安全删除(可恢复)
二、文本查看与处理
1. cat vs more vs less
cat: 显示全部内容。1
cat file.txt # 输出整个文件
more: 分页查看(仅向下翻页)。1
more file.txt # 按空格键翻页
less: 更强大的分页查看(支持上下翻页、搜索)。1
less file.txt # 按 `q` 退出,`/` 搜索
2. head vs tail
head: 查看文件开头。1
head -n 5 file.txt # 显示前5行
tail: 查看文件结尾(支持实时追踪)。1
2tail -n 5 file.txt # 显示最后5行
tail -f log.txt # 实时追踪日志
3. grep vs awk vs sed
grep: 文本搜索工具。1
grep "error" log.txt # 查找包含 "error" 的行
awk: 文本处理(按列分析)。1
awk '{print $1}' data.txt # 输出第一列
sed: 流编辑器(替换/删除文本)。1
sed 's/foo/bar/g' file.txt # 替换所有 "foo" 为 "bar"
三、查找命令
1. find vs locate
find: 实时搜索文件(支持复杂条件)。1
2find /home -name "*.txt" # 查找所有 .txt 文件
find . -mtime -7 # 查找7天内修改过的文件locate: 基于数据库快速查找(需更新updatedb)。1
locate .bashrc # 快速查找路径
四、系统信息
1. top vs htop vs ps
top: 实时进程监控(基础版)。1
top # 按 CPU 使用排序
htop: 增强版top(支持颜色、鼠标操作)。1
htop # 更友好的交互界面
ps: 查看当前进程快照。1
ps aux # 显示所有进程详细信息
2. df vs du
df: 显示磁盘空间使用情况。1
df -h # 以易读格式显示磁盘空间
du: 统计目录/文件占用空间。1
du -sh dir/ # 显示目录总大小
五、网络相关
1. ifconfig vs ip
ifconfig: 传统网络接口配置工具。1
ifconfig eth0 # 查看 eth0 接口信息
ip: 更现代的替代工具(推荐使用)。1
ip addr show # 显示所有网络接口
2. netstat vs ss
netstat: 查看网络连接、路由表。1
netstat -tuln # 查看监听端口
ss: 更高效的替代工具。1
ss -tuln # 显示监听端口(比 netstat 更快)
六、压缩与解压
1. tar vs gzip vs zip
tar: 打包文件(不压缩)。1
tar cvf archive.tar dir/ # 打包目录
gzip: 压缩文件(常与tar联用)。1
tar czvf archive.tar.gz dir/ # 打包并压缩为 .tar.gz
zip: 跨平台压缩工具。1
zip -r archive.zip dir/ # 压缩为 .zip 文件
七、权限管理
1. chmod vs chown vs chgrp
chmod: 修改文件权限。1
2chmod 755 script.sh # 设置权限为 rwxr-xr-x
chmod +x script.sh # 添加执行权限chown: 修改文件所有者。1
chown user:group file.txt # 修改所有者和所属组
chgrp: 修改文件所属组。1
chgrp developers file.txt # 修改文件所属组
八、进程管理
1. kill vs pkill vs killall
kill: 通过 PID 终止进程。1
kill 1234 # 终止 PID 为 1234 的进程
pkill: 通过进程名终止。1
pkill firefox # 终止所有 Firefox 进程
killall: 类似pkill(不同实现)。1
killall nginx # 终止所有 nginx 进程
总结技巧
- 需要交互式操作:优先选择
less(文本查看)、htop(进程管理)。 - 处理大文件或远程操作:使用
rsync或ssh组合命令。 - 安全删除文件:推荐
trash-cli代替rm。
通过理解这些命令的区别和适用场景,可以更高效地使用 Linux 命令行工具。