引言
Linux 操作系统以其强大的命令行工具著称,掌握基础指令是高效使用 Linux 的必备技能。无论是文件管理、文本处理还是系统监控,命令行都能以极简的操作完成复杂任务。本文系统梳理 Linux 最核心的 30+ 基础指令,配合实际场景案例和进阶技巧,助你从“小白”快速进阶为命令行高手。
一、文件与目录操作
1. 基础导航与查看
指令 | 作用 | 常用参数 | 示例 |
---|---|---|---|
pwd | 显示当前工作目录 | - | pwd → /home/user |
ls | 列出目录内容 | -l (详情)-a (显示隐藏文件) | ls -la → 显示所有文件详情 |
cd | 切换目录 | .. (上级目录)~ (家目录) | cd ../documents → 进入上级目录的documents |
场景示例:快速定位并查看隐藏配置文件
cd /etc # 进入系统配置目录
ls -a | grep ssh # 列出所有文件并过滤包含"ssh"的项
2. 文件操作
指令 | 作用 | 关键特性 | 示例 |
---|---|---|---|
cp | 复制文件/目录 | -r (递归复制目录) | cp -r dir1 dir2 |
mv | 移动或重命名文件 | 重命名无需额外参数 | mv old.txt new.txt |
rm | 删除文件/目录 | -r (递归删除)-f (强制) | rm -rf tmp/ (⚠️慎用) |
touch | 创建空文件或更新文件时间戳 | - | touch file1.txt |
避坑指南:
-
rm -rf /
会删除系统所有文件!操作前务必确认路径。 -
建议使用
alias rm='rm -i'
为rm
添加确认提示。
3. 文件内容查看与搜索
指令 | 作用 | 进阶用法 |
---|---|---|
cat | 查看完整文件内容 | cat file1 file2 > merged.txt |
head /tail | 查看文件头部/尾部内容 | tail -f log.txt (实时追踪日志) |
grep | 文本搜索 | -i (忽略大小写)-v (反向匹配) |
find | 按条件搜索文件 |
|
组合技:统计代码中特定关键词出现次数
grep -r "TODO" ./src | wc -l # 递归搜索src目录下的"TODO"并计数
二、文本处理三剑客
1. sed
:流式文本编辑器
核心功能:替换、删除、插入文本
# 替换文件中的字符串(原地修改)
sed -i 's/foo/bar/g' file.txt # 删除包含"debug"的行
sed '/debug/d' file.txt
2. awk
:文本分析工具
经典用例:提取特定列数据
# 提取日志中第3列IP地址
awk '{print $3}' access.log # 统计各IP访问次数
awk '{ip_count[$3]++} END {for(ip in ip_count) print ip, ip_count[ip]}' access.log
3. cut
:按列切割文本
# 提取以冒号分隔的/etc/passwd第一列(用户名)
cut -d':' -f1 /etc/passwd
三、系统监控与管理
1. 进程管理
指令 | 作用 | 关键参数 |
---|---|---|
ps | 查看进程状态 | -aux (显示所有进程) |
top /htop | 动态查看系统资源占用 | htop 需额外安装 |
kill | 终止进程 | -9 (强制终止) |
场景示例:批量结束僵尸进程
ps aux | grep 'Z' | awk '{print $2}' | xargs kill -9
2. 系统状态监控
指令 | 作用 | 实用技巧 |
---|---|---|
df | 查看磁盘空间 | -h (人类可读格式) |
free | 显示内存使用情况 | -m (以MB为单位) |
netstat | 查看网络连接状态 | -tuln (显示所有监听端口) |
四、权限与用户管理
1. 权限控制
指令 | 作用 | 数字权限示例 |
---|---|---|
chmod | 修改文件权限 | chmod 755 script.sh |
chown | 修改文件所有者 | chown user:group file |
权限解释:
-
755
→ 所有者:rwx,其他用户:rx -
644
→ 所有者:rw,其他用户:r
2. 用户管理
sudo useradd new_user # 创建新用户
sudo passwd new_user # 设置密码
sudo usermod -aG sudo new_user # 赋予sudo权限
五、高效命令行技巧
1. 管道与重定向
符号 | 作用 | 示例 | ||
---|---|---|---|---|
> | 输出重定向(覆盖) | ls > filelist.txt | ||
>> | 输出重定向(追加) | echo "new line" >> log.txt | ||
` | ` | 管道(前命令输出作为后命令输入) | `ps aux | grep nginx` |
2. 快捷操作
-
历史命令:
Ctrl+R
反向搜索历史命令,!!
重复上一条命令。 -
通配符:
*
匹配任意字符,?
匹配单个字符,{a,b}
匹配多选项。cp *.txt backup/ # 复制所有txt文件 rm image-{1..5}.png # 删除image-1.png到image-5.png
六、实战演练:日志分析
目标:分析 Nginx 访问日志,统计访问量最高的前5个IP
# 步骤1:提取IP列并排序统计
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -5# 分解说明:
# awk → 提取第一列(IP)
# sort → 排序(为uniq做准备)
# uniq -c → 统计重复次数
# sort -nr → 按数值倒序排序
# head -5 → 取前5行
七、总结
本文涵盖了 Linux 命令行最核心的操作指令,掌握这些内容可应对 80% 的日常运维与开发需求。建议读者:
-
熟记常用指令的 高频参数组合
-
多用
man [命令]
查看官方手册(如man grep
) -
善用 Tab 键补全和
history
命令提升操作效率
附:学习资源推荐
-
《Linux命令行与Shell脚本编程大全》 - Richard Blum
-
在线练习平台:Linux Journey
-
速查表:Linux命令大全
如果对某个指令的用法有疑问,欢迎在评论区交流!