Linux常用命令手册
一、目录与文件管理
1. cd - 切换目录
cd /root # 切换到/root目录 cd ./path # 切换到当前目录下的path cd ../path # 切换到上层目录下的path cd ~ # 切换到当前用户的家目录 cd - # 切换到上一次所在的目录
2. ls - 列出目录内容
ls -l # 长格式显示 ls -a # 显示所有文件(含隐藏文件) ls -lh # 人类可读的格式(显示文件大小) ls -ltr # 按时间倒序排列(最新文件在最后) ls -R # 递归列出子目录内容
3. pwd - 显示当前目录路径(补充)
二、文件内容查看与处理
4. cat - 查看文件内容
cat file.txt cat -n file.txt # 显示行号 cat file1.txt file2.txt > merge.txt # 合并文件
5. less / more - 分页查看
less file.txt # 可以上下翻页,按q退出 more file.txt # 只能向下翻页
6. head - 查看文件头部
head -n 20 file.txt # 查看前20行
7. tail / tailf - 查看文件尾部
tail -n 10 file.txt tail -f app.log # 实时跟踪日志 tailf app.log # 省电版实时跟踪
8. grep - 文本搜索
grep "error" app.log grep -i "error" app.log # 忽略大小写 grep -r "TODO" ./src # 递归搜索目录 grep -v "debug" app.log # 排除包含debug的行 grep -E "error|fatal" app.log # 扩展正则匹配多个关键词
三、查找与定位
9. find - 高级文件查找
find /home -name "*.txt" find /var/log -mtime -7 # 最近7天内修改的文件 find . -type f -size +10M # 查找大于10M的文件 find . -perm 755 # 权限为755的文件 find . -user root # 属于root用户的文件
10. locate - 快速查找(基于数据库)
locate nginx.conf sudo updatedb # 更新数据库
11. which / whereis - 查找命令位置(补充)
which python3 # 显示命令路径 whereis nginx # 显示二进制、源码、手册页位置
四、文件操作
12. cp - 复制
cp file1.txt file2.txt cp -r dir1/ dir2/ # 递归复制目录 cp -i file.txt /target/ # 覆盖前提示 cp -u source.txt target.txt # 仅在源文件更新时复制
13. mv - 移动或重命名
mv oldname.txt newname.txt mv file.txt /target/ mv -i file.txt /target/ # 覆盖前提示
14. rm - 删除
rm file.txt rm -r dir/ # 递归删除目录 rm -rf dir/ # 强制删除(危险)
⚠️ 安全建议:尽量避免 rm -rf / 或 rm -rf *,建议使用 mv 移动到临时目录后定期清理。
15. ln - 链接
ln -s /usr/bin/python3 /usr/bin/python # 软链接 ln file.txt hardlink.txt # 硬链接(同一文件系统)
16. touch - 创建空文件或更新时间戳(补充)
touch newfile.txt touch -t 202501011200 file.txt # 修改时间戳
五、权限管理
17. chmod - 修改权限
chmod 755 script.shchmod +x script.sh # 添加执行权限 chmod -R 644 *.txt # 递归修改
18. chown - 修改所有者
chown user:group file.txt chown -R user:group ./dir/
19. chgrp - 修改用户组
六、压缩与解压
20. tar - 打包压缩
tar -czvf archive.tar.gz /path/to/dir # 压缩 tar -xzvf archive.tar.gz -C /target # 解压 tar -tzvf archive.tar.gz # 查看内容
21. zip / unzip
zip -r archive.zip ./dir unzip archive.zip -d /target
22. gzip / gunzip
gzip file.txt # 压缩为 file.txt.gz gunzip file.txt.gz # 解压
七、进程管理
23. ps - 查看进程
ps aux ps -ef | grep nginx
24. top / htop - 实时监控
top -u username htop # 更友好的界面,需安装
25. kill / killall
kill -9 1234 # 强制杀死进程kill -15 1234 # 正常终止(推荐) killall nginx # 杀死所有同名进程
26. pkill - 按名称或属性杀进程
pkill -f "python script.py"
27. jobs / bg / fg - 后台任务管理
jobs # 查看后台任务 bg %1 # 将任务1放到后台运行 fg %1 # 将任务1调到前台
28. nohup - 后台不挂断运行
八、系统信息与资源
29. free - 内存使用
free -h free -s 5 # 每5秒刷新一次
30. df - 磁盘使用情况
df -h df -i # 查看inode使用情况
31. du - 目录或文件大小
du -sh /home du -h --max-depth=1
32. uname - 系统信息
33. uptime - 系统运行时间
34. who / w - 登录用户
九、网络相关
35. curl - HTTP请求
curl -O http://example.com/file.zipcurl -X POST -d "name=value" http://example.com/apicurl -H "Content-Type: application/json" -d '{"key":"val"}' http://api.example.com
36. wget - 下载工具
wget http://example.com/file.zipwget -c http://example.com/file.zip # 断点续传 wget -r http://example.com/ # 递归下载
37. scp - 远程复制
scp file.txt user@remote:/path/ scp -r dir/ user@remote:/path/
38. rsync - 增量同步
rsync -avz /local/dir/ user@remote:/remote/dir/
39. netstat / ss - 网络状态
40. ping / telnet / nc - 网络连通性
ping google.comtelnet example.com 80 nc -zv example.com 80
十、包管理与用户管理
41. yum / apt - 包管理器
# CentOS/RHEL yum install nginx -y # Ubuntu/Debian apt update && apt install nginx -y
42. rpm / dpkg - 本地包管理
rpm -ivh package.rpm dpkg -i package.deb
43. useradd / userdel / passwd
useradd -m username passwd username userdel -r username
十一、定时任务与日志
44. crontab - 定时任务
crontab -e # 编辑 crontab -l # 查看 # 每天凌晨2点执行脚本 0 2 * * * /path/to/script.sh
45. journalctl - systemd日志
journalctl -u nginx -f journalctl --since "2025-01-01"
十二、其他实用命令
46. alias - 命令别名
alias ll='ls -alh' unalias ll
47. history - 命令历史
history !100 # 执行第100条命令 !! # 执行上一条命令
48. date - 日期时间
date date +"%Y-%m-%d%H:%M:%S"
49. sleep - 延迟执行
50. echo - 输出文本
echo "Hello World" echo $PATH