百度
360搜索
搜狗搜索

在linux下将命令行串起来详细介绍

在 Linux 中,通过命令连接符可以将多个命令组合成一个更复杂的命令行,实现流程控制、数据传递或批量操作。以下是常用的命令串联方法:

一、
按顺序执行(不关心前序命令结果)

使用 分号(;),无论前一个命令是否执行成功,都会按顺序执行后续命令。
语法
bash

命令1  命令2  命令3

示例
bash

 /tmp   test_dir     test_dir/file.txt  

二、
条件执行(根据前序命令的退出状态)

1.
仅当前序命令成功时执行后续命令(&&)

使用 逻辑与(&&),当前一个命令的退出状态为 0(成功)时,才会执行后一个命令。
语法
bash

命令1  命令2

示例
bash

  old_file.txt   new_file.txt old_file.txt  

2.
仅当前序命令失败时执行后续命令(||)

使用 逻辑或(||),当前一个命令的退出状态非 0(失败)时,才会执行后一个命令。
语法
bash

命令1  命令2

示例
bash

 mydir     

3.
组合条件执行(&& 和 || 混合)

可以链式组合,实现更复杂的逻辑:
bash

命令1  命令2  命令3  

三、
数据传递(管道与重定向)

1.
管道(|)

将前一个命令的输出作为后一个命令的输入(标准输入)。
语法
bash

命令1  命令2  命令3

示例
bash

      

2.
重定向输入 / 输出(<、>、>>、2>、&>)

  • >:覆盖输出到文件(标准输出)。
  • >>:追加输出到文件(标准输出)。
  • <:从文件读取输入。
  • 2>:重定向错误输出到文件。
  • &>>&:同时重定向标准输出和错误输出到文件。
    示例

bash

 /var/log    log_files.txt  

https://example.com > error.log

non_exist_file output.log

3.
tee 命令(同时输出到终端和文件)

bash

命令   文件  

命令 文件

示例
bash

    output.txt  

四、
子 shell 与分组执行

1.
括号分组(子 shell)

使用 () 将多个命令分组,在子 shell 中执行,共享同一环境(如变量)。
语法
bash

命令1 命令2 命令3

示例
bash

cd /tmp  dir1 dir2  

2.
命令替换(将命令输出作为参数)

使用 $(命令) 或反引号 `命令` 捕获命令输出,作为其他命令的参数。
语法
bash

命令 子命令

示例
bash

     /backup/  

+"

五、
后台执行与作业控制

1.
后台运行(&)

在命令末尾加 &,使命令在后台运行,不阻塞终端。
语法
bash

命令 

示例
bash

  bigfile.tar.gz /data   

2.
多个后台命令(分号 + &)

bash

命令1  命令2  命令3   

六、
综合示例

1.
过滤日志并统计行数

bash

 app.log        

2.
批量重命名文件

bash

 *.txt       " .txt}.md"   

3.
下载文件并校验(成功后删除临时文件)

bash

 https://example.com/file.tar.gz  sha256sum file.tar.gz      file.tar.gz

总结

  • 分号(;):无条件顺序执行。
  • 逻辑与(&&):前序成功则执行后续。
  • 逻辑或(||):前序失败则执行后续。
  • 管道(|):传递数据到后续命令的标准输入。
  • 重定向(>、>>、2> 等):改变输入输出目标。
  • 子 shell(()):分组执行或捕获输出。

根据需求选择合适的连接符,可高效组合命令实现自动化任务或复杂数据处理。

阅读更多 >>>  linux怎么看外网ip

文章数据信息:

本文主要探讨:"在linux下将命令行串起来", 浏览人数已经达到34次, 首屏加载时间:1.408 秒。