Linux常用命令组合大全(分类整理+实战案例)
作者:SoftHope
时间:2026-07-11
浏览:0
Linux命令组合八大语法包括管道、重定向、多命令顺序执行、命令替换、后台执行、花括号扩展、分组执行及逻辑组合,用于实现数据流传递、条件控制、批量操作和后台任务等高效运维场景。
Linux命令组合的核心,其实就靠这八大语法:管道符|、重定向>/>>/<、分号;、&&、||、命令替换$()和反引号`、花括号{}批量,还有后台运行符&。下面按场景拆开讲,每个符号怎么用、有什么区别、实战中怎么搭。
一、管道符|:把前一个命令输出作为后一个输入(最常用)
格式很简单:cmd1 | cmd2 | cmd3。说白了就是数据流的串联——过滤、统计、检索、分页,一条链搞定。
高频示例
- 查看进程过滤nginx
ps -ef | grep nginx
- 分页查看长输出
cat access.log | less ls -l /etc | more
- 统计匹配行数
grep "error" app.log | wc -l
- 去重排序
cat ip.txt | sort | uniq
- 提取端口号
netstat -tulpn | awk '{print $5}'
二、重定向:输出/输入写入文件(>/>>/</2>/&>)
1. 标准输出重定向
>覆盖写入文件
ls -l > list.txt
>>追加写入(不覆盖)
echo "new line" >> list.txt
2. 标准错误重定向(报错信息)
2>只把错误写入文件
ls /nonexist 2> error.log
&>标准输出 + 错误全部写入
python run.py &> all.log
3. 输入重定向<
mysql -uroot -p < init.sql
管道 + 重定向组合
grep "warn" log.txt | head -100 > warn_top100.log
三、多命令顺序执行:; && ||
1. ;分号:不管前一条成功失败,全部依次执行
mkdir test; cd test; touch a.txt
2. &&与:前一条执行成功,才执行后一条(最常用)
典型场景:前置校验,失败就不往下跑了。
# 存在目录才cd,不存在不会执行touch test -d /data && cd /data && touch ok.txt # 更新并重启服务 apt update && apt install nginx -y && systemctl restart nginx
3. ||或:前一条失败,才执行后一条(容错)
# 目录不存在就创建 test -d test || mkdir test # 命令失败则打印提示 systemctl start mysql || echo "mysql启动失败"
组合&& ||实现if判断逻辑
test -f app.jar && echo "文件存在" || echo "文件丢失"
四、命令替换:$()/反引号`(拿命令输出当参数)
两种写法等价,推荐$(),嵌套时更清晰。
基础
# 获取当前路径并打印 echo $(pwd) echo `pwd` # 批量删除7天前日志 find ./logs -name "*.log" -mtime +7 -delete # 等价替换写法 rm -f $(find ./logs -name "*.log" -mtime +7)
嵌套示例($()支持多层,反引号不行)
echo $(date +%Y)-$(hostname)
五、后台执行 & + 组合
末尾加&扔到后台跑,配合分号或&&很顺手。
# 后台解压,同时输出日志 tar -zxvf big.tar.gz &> tar.log & # 后台启动服务,启动成功输出提示 ja va -jar app.jar & && echo "服务已后台启动"
配合nohup实现持久后台(断开ssh不退出)
nohup python task.py &> run.log &
六、批量扩展{}花括号组合(批量创建/删除文件)
1. 连续文件
# 创建 file1 file2 file3
touch file{1,2,3}
# 创建 log01~log10
touch log{01..10}
# 多级目录
mkdir -p test/{dir1,dir2}/{a,b}
2. 批量操作搭配管道
rm -rf tmp{1..20} | echo "清理完成"
七、分组执行()/{}命令块
1. (cmd1;cmd2)子shell执行,不改变当前目录环境
# 子shell内cd,外层pwd不变 (cd /etc; ls -l); pwd
2. { cmd1; cmd2; }当前shell执行(注意空格与分号)
适合多条命令统一重定向输出。
{ echo "开始"; ls -l; echo "结束"; } > output.txt
八、逻辑进阶组合(生产高频)
1. 过滤 + 统计 + 写入日志
cat access.log | grep 500 | wc -l > 500_count.log
2. 查找文件 + 批量删除
find . -name "*.tmp" -type f | xargs rm -f
xargs:把管道多行输出转为命令参数,处理大量文件不会报参数过长。
3. 监控实时日志过滤
tail -f app.log | grep --color "Exception"
4. 解压后进入目录并列出文件
unzip code.zip && cd code && ls -lh
5. 不存在则下载,存在直接解压
[ ! -f node.tar.gz ] && wget https://xxx/node.tar.gz && tar -zxf node.tar.gz
九、各组合符号对比速记
| 符号 | 作用 | 核心特点 | ||
|---|---|---|---|---|
| ` | ` | 管道传输出 | 数据流串联过滤 | |
>/>> | 输出到文件 | > 覆盖,>> 追加 | ||
; | 顺序执行 | 失败也继续 | ||
&& | 成功才执行 | 流程校验 | ||
| ` | ` | 失败才执行 | 容错兜底 | |
$() | 命令替换 | 嵌套友好 | ||
& | 后台运行 | 不阻塞终端 | ||
{} | 批量扩展 | 批量创建文件目录 | ||
() | 子 shell 分组 | 不污染当前环境 |
十、避坑要点
- 反引号
`不支持多层嵌套,优先$(); xargs处理大量文件优于直接rm $(find ...),避免参数列表过长报错;{}批量时前后必须有空格,{a,b}逗号两侧无空格;- 后台
&只作用于单条命令,多条要用(命令组)&; - 错误日志单独
2>,区分正常输出与报错便于排查。
作者最新文章
苹果折叠屏iPhone是翻盖还是对折形态
2026-09-14 13:33
速腾聚创自研SPAD-SoC芯片交付破50万颗,MARS基地实现8秒下线一台激光雷达
2026-09-08 17:42
TECNO Camon Slim 5G发布:6.39mm机身与6000mAh电池规格解析
2026-09-08 17:04
小米 18 Fold 暖金白图赏:中折叠形态与核心规格解析
2026-09-08 16:50
PDF文件太大怎么压缩?变小后清晰度怎么看?
2026-09-04 10:02
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多


































