1. 为什么需要Linux命令速查手册?
作为一个从Windows转战Linux的老用户,我清楚地记得第一次面对黑底白字的终端窗口时的手足无措。与图形界面操作完全不同,Linux的精髓在于命令行——这个认知让我在最初三个月摔了不少跟头。直到某天同事扔给我一份手写命令清单,工作效率才突然开挂。
Linux命令之所以让新手畏惧,主要因为三个特性:
- 组合性:通过管道符(|)和重定向(>)将简单命令组合成复杂操作
- 简写惯例:ls(list)、cd(change directory)等缩写需要记忆
- 参数依赖:同一个命令配合不同参数实现截然不同的功能
提示:建议初学者先在虚拟机或云服务器练习,避免误操作影响生产环境。推荐使用VirtualBox安装CentOS或Ubuntu进行实验。
2. 文件与目录操作命令精要
2.1 基础导航命令
pwd # 显示当前工作目录(Print Working Directory) ls -lh # 人性化显示文件大小(-h参数),-l显示详细信息 cd ~ # 返回用户主目录(波浪线快捷方式)实测技巧:
- 使用
ls --color=auto可启用颜色区分文件类型(通常已设为默认) ls -R递归列出子目录内容时,配合| less分页查看更高效
2.2 文件操作四件套
cp -r dir1 dir2 # 递归复制目录(-r参数关键) mv old.txt new.txt # 重命名或移动文件 rm -i *.log # 交互式删除(-i防止误删) touch {1..10}.txt # 批量创建空文件(花括号展开语法)避坑指南:
- 执行
rm前务必确认路径,特别是rm -rf /这样的危险命令 - 误删恢复方案:立即卸载分区并使用extundelete等工具抢救
2.3 文件内容查看
head -n 20 sys.log # 查看前20行 tail -f app.log # 实时追踪日志更新(-f参数) less +F debug.log # 类似tail -f但支持翻页查看历史3. 系统监控与进程管理
3.1 资源监控三巨头
top -d 1 # 1秒刷新间隔的动态监控 htop # 增强版top(需额外安装) df -hT # 显示磁盘使用情况和文件系统类型参数解析:
top界面按M按内存排序,P按CPU排序df -i可查看inode使用情况(小文件过多时需关注)
3.2 进程管理实战
ps aux | grep nginx # 查找nginx相关进程 kill -9 1234 # 强制终止PID为1234的进程 nice -n 10 make # 以较低优先级运行编译任务典型场景:
- 服务卡死时先用
kill -15尝试优雅退出,无效再用-9 nohup command &实现后台运行且退出终端不中断
4. 网络相关命令大全
4.1 连接诊断工具
ping -c 4 baidu.com # 发送4个测试包 traceroute -n github.com # 显示路由路径(-n禁用DNS解析) mtr -rw google.com # 实时路由跟踪(结合ping+traceroute)4.2 网络配置与调试
ifconfig eth0 | grep "inet " # 获取IP地址(新版推荐ip addr) netstat -tulnp # 查看监听中的端口与服务 ssh -p 2222 user@host # 指定端口连接SSH安全提示:
- 生产环境慎用
telnet等明文协议 - 推荐用
ssh-copy-id配置密钥登录替代密码
5. 文本处理与Shell技巧
5.1 文本处理三剑客
grep -rin "error" /var/log # 递归忽略大小写搜索 sed -i 's/foo/bar/g' *.txt # 批量替换文件内容 awk '{print $1,$3}' data.csv # 提取指定列高阶用法:
grep -A 3 -B 2显示匹配行前后若干行上下文awk -F: '{print $1}' /etc/passwd按冒号分隔处理
5.2 实用Shell技巧
history | grep ssh # 搜索历史命令 !! # 重复上条命令 ctrl+r # 反向搜索历史命令 echo $PATH | tr ":" "\n" # 将PATH变量转为多行显示6. 权限与用户管理
6.1 权限体系解析
chmod 755 script.sh # 设置rwxr-xr-x权限 chown user:group file # 同时修改属主和属组 umask 0022 # 控制新建文件默认权限权限数字记忆法:
- 4(r)、2(w)、1(x)
- 755表示:属主7(4+2+1),属组5(4+1),其他5(4+1)
6.2 用户管理示例
useradd -m -s /bin/bash devuser # 创建用户并生成家目录 passwd devuser # 设置密码 usermod -aG sudo devuser # 添加sudo权限7. 压缩打包与软件管理
7.1 压缩解压大全
tar -czvf backup.tar.gz dir/ # 创建gzip压缩包 tar -xzvf backup.tar.gz # 解压gzip包 unzip -O GBK legacy.zip # 处理中文编码zip文件7.2 软件包管理对比
| 命令 | 适用系统 | 典型用法 |
|---|---|---|
| apt install | Debian/Ubuntu | sudo apt install nginx |
| yum install | RHEL/CentOS | sudo yum install httpd |
| dnf install | Fedora | sudo dnf install mariadb |
| pacman -S | Arch Linux | sudo pacman -S firefox |
8. 进阶实用命令推荐
8.1 系统调试神器
strace -f -p 1234 # 追踪进程系统调用 lsof -i :80 # 查看80端口占用情况 dmesg | grep -i error # 检查内核日志错误8.2 开发辅助工具
man 2 open # 查看系统调用手册(非命令手册) time ls -R # 测量命令执行时间 watch -n 1 df -h # 每秒刷新磁盘空间情况9. 命令学习路线建议
- 第一阶段:掌握
ls/cd/mv/cp/rm等基础文件操作 - 第二阶段:熟练使用
grep/awk/sed进行文本处理 - 第三阶段:理解
ps/top/netstat等系统监控命令 - 第四阶段:组合使用管道和重定向实现复杂任务
推荐每天用终端完成日常工作,三个月后你会发现自己再也离不开命令行。我现在的日常操作包括:
- 用
find / -name "*.conf" 2>/dev/null快速定位配置文件 - 用
rsync -avzP src/ user@host:dest/同步开发代码 - 用
for i in *.mp4; do ffmpeg -i "$i" "${i%.*}.avi"; done批量转换视频格式