1. 参考文档
- linux-command:https://github.com/jaywcjlove/linux-command.git
- web手册:http://linux.devonline.net/
- 菜鸟教程:linux 命令大全
2. 文件与目录操作
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
ls | 列出目录内容 | -l (详细信息)-a (显示隐藏文件)-h (人类可读大小) | ls -lah /home | 默认不显示隐藏文件(以 . 开头的文件)。 |
cd | 切换目录 | ~ (主目录).. (上一级目录)- (返回上次目录) | cd ~/Documents | 路径支持绝对路径和相对路径。 |
cp | 复制文件/目录 | -r (递归复制目录)-i (覆盖前提示) | cp -r dir1 dir2 | 复制目录必须加 -r ,否则会失败。 |
mv | 移动/重命名文件 | -i (覆盖前提示)-f (强制覆盖) | mv old.txt new.txt | 重命名本质是移动文件到同一目录的新名称。 |
rm | 删除文件/目录 | -r (递归删除)-f (强制删除) | rm -rf dir/ | 慎用 -rf ,可能误删重要文件! |
mkdir | 创建目录 | -p (递归创建多级目录) | mkdir -p dir1/dir2 | 若目录已存在会报错(除非用 -p )。 |
touch | 创建空文件或更新时间戳 | -a (仅更新访问时间)-m (仅更新修改时间) | touch file.txt | 若文件存在,时间戳更新为当前时间。 |
3. 查看与编辑文件
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
cat | 显示文件内容 | -n (显示行号)-b (非空行编号) | cat -n file.txt | 大文件可能导致终端卡顿。 |
more | 分页查看文件 | /keyword (搜索关键词) | more longfile.log | 仅支持向下翻页,按 q 退出。 |
less | 分页查看文件(支持上下翻页) | -N (显示行号)-i (忽略搜索大小写) | less -N file.log | 功能比 more 更强大,支持反向搜索。 |
head | 显示文件头部内容 | -n 10 (显示前10行) | head -n 5 data.csv | 默认显示前10行。 |
tail | 显示文件尾部内容 | -n 10 (显示后10行)-f (实时追踪新增内容) | tail -f /var/log/syslog | -f 常用于监控日志文件。 |
grep | 文本搜索 | -i (忽略大小写)-v (反向匹配)-r (递归搜索目录) | grep -ri "error" /var/log | 支持正则表达式,复杂匹配需学习正则语法。 |
4. 权限与所有权
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
chmod | 修改文件权限 | 数字模式(如 755 )u+x (给所有者加执行权) | chmod 755 script.sh | 权限分为:读(4)、写(2)、执行(1)。 |
chown | 修改文件所有者 | user:group (同时修改所有者和组) | chown root:admin file.txt | 需要 root 权限才能修改其他用户的文件。 |
chgrp | 修改文件所属组 | -R (递归修改目录) | chgrp dev /project | 需确保目标组存在。 |
5. 进程管理
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
ps | 查看进程状态 | aux (显示所有进程)-ef (完整格式) | ps aux | grep nginx | 常用组合:ps aux | grep 进程名 。 |
top | 实时监控系统资源 | -d 5 (5秒刷新一次)-p PID (监控指定进程) | top -d 2 | 按 q 退出,k 终止进程。 |
kill | 终止进程 | -9 (强制终止)-15 (优雅终止) | kill -9 1234 | -9 是最后手段,可能导致数据丢失。 |
jobs | 查看后台任务 | -l (显示任务PID) | jobs -l | 仅显示当前 Shell 启动的后台任务。 |
6. 网络操作
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
ping | 测试网络连通性 | -c 5 (发送5次请求) | ping -c 4 google.com | 按 Ctrl+C 终止。 |
curl | 传输数据(HTTP/FTP等) | -O (保存文件)-L (跟随重定向) | curl -LO https://example.com/file | 常用于 API 测试或下载文件。 |
ssh | 远程登录服务器 | -p 2222 (指定端口) | ssh user@host -p 2222 | 默认使用 22 端口。 |
scp | 安全复制文件 | -r (递归复制目录)-P 2222 (指定端口) | scp -P 2222 file.txt user@host:/path | 注意参数大小写(-P 是端口)。 |
netstat | 查看网络状态 | -tuln (显示监听端口) | netstat -tuln | 逐渐被 ss 命令取代。 |
ifconfig | 配置网络接口 | up (启用接口)down (关闭接口) | ifconfig eth0 down | 新系统推荐使用 ip 命令。 |
7. 系统信息与监控
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
df | 查看磁盘空间 | -h (人类可读)-T (显示文件系统类型) | df -hT | 重点关注 / 和 /home 分区。 |
du | 查看目录占用空间 | -s (汇总)-h (人类可读) | du -sh /var/log | 大目录可能计算较慢。 |
free | 查看内存使用 | -h (人类可读)-s 5 (每5秒刷新) | free -h | available 列表示可用内存。 |
uname | 查看系统信息 | -a (全部信息) | uname -a | 可获取内核版本和系统架构。 |
8. 压缩与解压
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
tar | 打包/解压文件 | -c (创建)-x (解压)-z (gzip压缩)-v (显示过程) | tar -czvf backup.tar.gz dir/ | 参数顺序敏感,-f 必须放在最后。 |
gzip | 压缩为 .gz 文件 | -d (解压)-9 (最大压缩率) | gzip -9 file | 压缩后原始文件会被删除。 |
unzip | 解压 .zip 文件 | -l (列出内容)-d (指定解压目录) | unzip archive.zip -d target/ | 不支持直接压缩目录(需配合 zip -r )。 |
9. 高级工具
命令 | 用途 | 常用参数 | 示例 | 注意事项 |
---|---|---|---|---|
find | 查找文件 | -name (按名称搜索)-type (按类型过滤)-exec (执行命令) | find / -name "*.log" -mtime +30 -exec rm {} \; | -exec 需以 \; 结尾,{} 表示匹配的文件。 |
sed | 流编辑器(文本替换) | -i (直接修改文件)s/old/new/g (全局替换) | sed -i 's/foo/bar/g' file.txt | 务必备份文件,避免误操作。 |
awk | 文本分析工具 | -F (指定分隔符){print $1} (输出第一列) | awk -F ',' '{print $1,$3}' data.csv | 适合处理结构化文本(如 CSV、日志)。 |
总结
- 学习建议:通过
man 命令名
(如man tar
)查看完整文档,结合实践练习。 - 危险命令:
rm -rf
、dd
、chmod 777
等操作需谨慎,避免误删或破坏系统。 - 组合使用:利用管道符
|
和重定向>
、>>
提升效率(如grep "error" log.txt \| wc -l
)。