Linux常用命令组合大全(分类整理 + 实战案例)

 更新时间:2026年07月10日 09:21:14   作者:其实防守也摸鱼  
在Linux 系统中,熟练使用命令行工具可以极大地提高工作效率,下面是一些常用的命令组合方式,分为不同类别,并附有实战示例,感兴趣的朋友跟随小编一起看看吧

Linux 命令组合核心依赖 管道 |、重定向 >/>>/<、分号 ;、&&、||、$()、反引号 `、{} 批量、& 后台 八大语法,下面分场景讲用法、区别、实例。

一、管道符|:把前一个命令输出作为后一个输入(最常用)

格式:cmd1 | cmd2 | cmd3 作用:串联过滤、统计、检索、分页

高频示例

  1. 查看进程过滤 nginx
ps -ef | grep nginx
  1. 分页查看长输出
cat access.log | less
ls -l /etc | more
  1. 统计匹配行数
grep "error" app.log | wc -l
  1. 去重排序
cat ip.txt | sort | uniq
  1. 提取端口号
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 &
# 后台启动服务,启动成功输出提示
java -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 分组不污染当前环境

十、避坑要点

  1. 反引号 ` 不支持多层嵌套,优先 $()
  2. xargs 处理大量文件优于直接 rm $(find ...),避免参数列表过长报错;
  3. {} 批量前后必须有空格,{a,b} 逗号两侧无空格;
  4. 后台 & 只作用于单条命令,多条要用 (命令组)&
  5. 错误日志单独 2>,区分正常输出与报错便于排查。

到此这篇关于Linux常用命令组合大全(分类整理 + 实战案例)的文章就介绍到这了,更多相关Linux 常用命令组合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Shell expr命令进行整数计算的实现

    Shell expr命令进行整数计算的实现

    这篇文章主要介绍了Shell expr命令进行整数计算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 一个可交互的并发ping检测脚本

    一个可交互的并发ping检测脚本

    可交互的并发ping检测脚本,供大家学习参考。重点& 跟wait,这样“并发”的结果是输出结果不是能按顺序,后台返回。如果需要再排序下
    2013-02-02
  • 防止shell脚本重复执行的代码

    防止shell脚本重复执行的代码

    利用锁机制,让一个特定的shell脚本,每次只能运行一个实例。具体来说,获得锁的脚本实例,能够继续往下执行临界区代码;没有获得锁的实例,则只能等待
    2013-01-01
  • Linux使用Split命令分割文件与合并的操作方法

    Linux使用Split命令分割文件与合并的操作方法

    Linux split是一个命令行工具,用于将文件分割成多个较小的文件,它可以按照文件大小、行数或者指定的分割符来进行分割,本文给大家介绍了Linux使用Split命令分割文件与合并的操作方法,需要的朋友可以参考下
    2024-03-03
  • Django中shell命令的使用

    Django中shell命令的使用

    Django的manage工具提供了shell命令,本文主要介绍了Django中shell命令的使用,方便直接在终端中执行测试python语句,有需要的小伙伴可以参考下
    2021-05-05
  • Linux 中的gunzip命令

    Linux 中的gunzip命令

    gunzip是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为.gz。下面通过本文给大家分享Linux 中的gunzip命令,一起看看吧
    2017-09-09
  • 你可能不知道的Shell(有趣的知识)

    你可能不知道的Shell(有趣的知识)

    这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝shell主食后的甜点吧
    2013-07-07
  • Shell脚本中paste工具的使用

    Shell脚本中paste工具的使用

    paste是一个非常实用的命令行工具,用于将多个文件的行按列合并,下面就来介绍一下paste工具的使用,具有一定的参考价值,感兴趣的可以了解一下
    2025-08-08
  • Linux 中的 users 命令详解

    Linux 中的 users 命令详解

    users 命令用于显示当前登录到 Linux 系统的所有用户名‌,每个登录会话对应一个用户名显示,直接运行即可查看,本文给大家介绍Linux 的users命令,感兴趣的朋友跟随小编一起看看吧
    2026-05-05
  • Shell 字符串拼接的实现示例

    Shell 字符串拼接的实现示例

    这篇文章主要介绍了Shell 字符串拼接的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12

最新评论