在 Linux 上的多个目录中执行命令在 Linux 上的多个目录中执行命令在 Linux 上的多个目录中执行命令在 Linux 上的多个目录中执行命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 Linux 上的多个目录中执行命令

介绍

作为 Linux 用户,在多个目录中运行相同的命令是很常见的。例如,您可能想要搜索具有特定扩展名的所有文件或在多个目录中运行 shell 脚本。如果手动完成此任务可能会非常耗时,并且随着目录数量的增加会变得更加乏味。幸运的是,Linux 提供了多种方法来有效地跨多个目录运行命令。在本文中,我们将了解其中一些方法,并向您展示如何在 Linux 中的多个目录上运行命令。

使用Find命令执行命令

find 命令是 Linux 中最强大的命令之一。它允许您根据不同的条件(如名称、大小、日期等)搜索文件和目录。您还可以对 find 命令找到的文件和目录执行命令。要在多个目录中运行命令,可以使用带有 ‘-exec’ 选项的 find 命令。 “-exec”选项允许您对搜索命令找到的每个文件或目录运行命令。这是一个例子 -

$ find /path/to/directories -type f -name "*.txt" -exec cat {} \;

上面的命令将搜索位于“/path/to/directories”目录中的所有“.txt”文件,并对每个文件运行 cat 命令。 ‘{}’符号代表搜索命令找到的文件,;该符号表示要执行的命令的结束。

This is the contents of file1.txt
This is the contents of file2.txt
This is the contents of file3.txt
...

使用 xargs 命令

xargs 命令是另一个用于跨多个目录运行命令的有用工具。允许您在标准输入上执行命令,该命令可以由另一个命令生成。要在多个目录中运行命令,可以使用 ls 命令列出每个目录中的文件,然后将输出通过管道传输到 xargs 命令。这是一个例子 -

$ ls /path/to/directories | xargs cat

上面的命令将列出位于 /path/to/directories 中的目录的内容,并且 xargs 命令将捕获列出的每个文件。

This is the contents of file1.txt
This is the contents of file2.txt
This is the contents of file3.txt
...

使用 Shell 脚本

shell脚本是用shell语言编写的程序,例如bash。它允许您使用单个命令自动执行任务并执行复杂的操作。要在多个目录中运行命令,可以编写一个 shell 脚本来遍历目录并执行所需的命令。这是一个例子 -

#!/bin/bash

for dir in /path/to/directories/*/; 
do
   cd "$dir"
   cat *
   cd -
done

上面的脚本将遍历位于“/path/to/directories”中的所有目录,并对每个目录中的每个文件运行 cat 命令。 cd命令将当前目录更改为正在处理的目录,“cd - ”命令执行命令后将当前目录更改为原始目录。

This is the contents of file1.txt
This is the contents of file2.txt
This is the contents of file3.txt
...

如果手动执行,在 Linux 中的多个目录上运行命令可能需要很长时间。然而,有几种有效的方法可以做到这一点,例如 find 命令、xargs 命令和 shell 脚本。在本文中,我们讨论了每种方法,并向您展示如何在 Linux 中的多个目录上运行命令。无论您是初学者还是高级用户,这些方法都将节省您的时间并使您的工作变得更轻松。 find、xargs、 和 shell 脚本命令可以通过多种方式使用,并且您可以自定义它们以满足您的特定需求。

结论

总之,当您知道正确的工具时,在 Linux 中的多个目录上运行命令是一项简单的任务。使用 find 命令、xargs 命令或 shell 脚本,您可以节省时间并简化工作。无论您是搜索文件、运行 shell 脚本还是执行其他任务,这些方法都将帮助您高效地实现目标。

©2015-2025 艾丽卡 support@alaica.com