有关如何在 Linux 上使用 xargs 命令的示例有关如何在 Linux 上使用 xargs 命令的示例有关如何在 Linux 上使用 xargs 命令的示例有关如何在 Linux 上使用 xargs 命令的示例
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

有关如何在 Linux 上使用 xargs 命令的示例

发表 admin at 2025年2月28日
类别
  • 未分类
标签
月額480円〜の高速レンタルサーバー ColorfulBox

xargs Linux 命令允许用户从标准输入执行命令行。如果这听起来令人困惑,那么看一个基本示例可能会更容易。以下命令将使用 xargs 来 cat 由 ls 命令列出的所有文件。


$ ls
1.txt  2.txt  3.txt

$ ls | xargs cat
this is file1
this is file2
this is file3

在上面的命令中,我们将 ls 命令的输出通过管道传输到 xargs,并使用 cat 命令列出三个文件中每个文件的内容。 xargs 的大多数用途都涉及从不同的命令通过管道传输到它,并利用它连续执行另一个命令。如果您想从其他基本示例开始,请查看我们的 xargs 初学者指南或多线程 xargs 示例。

在本指南中,我们将介绍 xargs 命令的各种命令行示例,以便您可以了解如何在 Linux 系统上有效地使用它。请跟随我们了解 xargs 命令的基础知识和更复杂的方面。

在本教程中您将学习:

  • 如何在 Linux 上使用 xargs 命令,通过示例

Linux 上的各种 xargs 命令示例

xargs 命令示例

请按照下面的示例了解如何在 Linux 上的各种场景中使用 xargs。

  1. 让我们回到原来的示例,准确解释执行 xargs 命令时发生的情况。现在我们有三个文本文件,目标是使用 cat 命令查看所有三个文件的内容。由于这是当前目录中仅有的三个文件,我们可以使用 ls 命令来检索文件名,然后使用 将这些名称传递给 cat xargs。

    
    $ ls | xargs cat
    this is file1
    this is file2
    this is file3
    

    这里真正发生的事情相当于以下命令:

    
    $ cat 1.txt 2.txt 3.txt 
    
  2. 要查看 xargs 正在执行的命令,可以使用 -t 选项。这仍然会执行该命令,但它为我们提供了一种方式来查看最终命令的实际格式。

    
    $ ls | xargs -t cat
    cat 1.txt 2.txt 3.txt 
    this is file1
    this is file2
    this is file3
    
  3. 我们还可以使用-p选项,它会在执行命令之前要求我们确认。这很方便使用,例如,在使用 xargs 执行 rm 命令时,因为您不想意外删除任何文件。您可以输入 y(是)确认运行命令,或输入 n(否)中止命令。

    
    $ ls | xargs -p rm
    rm 1.txt 2.txt 3.txt ?...y
    
  4. 在前面的示例中,xargs 正在执行 cat 1.txt 2.txt 3.txt。换句话说,它只执行一个命令,并且所有文件名都被附加。我们可以使用 -n (最大参数)选项让 xargs 单独运行每个 cat 命令。在下面的示例中,我们还包含了 -t 选项,因此我们可以看到该命令如何单独执行 cat 三次,而不是只执行一次。

    
    $ ls | xargs -t -n 1 cat
    cat 1.txt 
    this is file1
    cat 2.txt 
    this is file2
    cat 3.txt 
    this is file3
    

    在本例中,-n 1 选项告诉 xargs 它一次只能使用一个文件名(最多)。如果我们使用 -n 2 来代替,会有什么不同。

    
    $ ls | xargs -t -n 2 cat
    cat 1.txt 2.txt 
    this is file1
    this is file2
    cat 3.txt 
    this is file3
    
  5. 如果使用 -I 选项,xargs 还可以运行多个命令。您需要指定一个“替换字符串”来与此选项一起使用。一种非常常见的用法是百分号,我们在下面使用它。举一个简单的例子,以下命令将在我们的三个文件上执行 touch,然后执行 cat,这三个文件的名称从 ls 传递到 xargs。

    
    $ ls | xargs -t -I % sh -c '{ touch %; cat %; }'
    sh -c '{ touch 1.txt; cat 1.txt; }' 
    this is file1
    sh -c '{ touch 2.txt; cat 2.txt; }' 
    this is file2
    sh -c '{ touch 3.txt; cat 3.txt; }' 
    this is file3
    
  6. xargs 的另一个方便用途是它能够接受来自文件的输入。这是通过 -a 选项完成的。以以下命令为例,我们将文件名列表传递给 xargs,然后 cat 这些文件。

    
    $ xargs -t -a files.txt cat
    cat 1.txt 2.txt 3.txt 
    this is file1
    this is file2
    this is file3
    

    您可能会猜到,file.txt 的内容如下所示:

    
    1.txt
    2.txt
    3.txt
    
  7. xargs 最常见的用途之一是与 find 命令结合使用。 find 已经包含 -exec 选项,因此它能够对找到的任何文件执行命令,但 xargs 效率更高。在 find 命令中,您应该添加 -print0 选项,以便在每个文件名后打印一个额外的空字符。您还需要在 xargs 命令中包含相应的 -0 选项。下面是一个示例,我们搜索 .txt 文件并对每个文件运行 cat。我们将再次附加 -t 选项来查看命令 xargs 最终运行。

    
    $ find . -name "*.txt" -print0 | xargs -t -0 cat
    cat ./3.txt ./2.txt ./1.txt 
    this is file3
    this is file2
    this is file1
    

这些示例应该足以帮助您充分利用 xargs 命令。您可以使用该命令执行很多操作,并且在许多不同的场景中它都可以派上用场。如果您想了解更多信息,建议查看手册页以获取更多使用示例。


$ man xargs

结束语

在本指南中,我们通过各种示例了解了如何在 Linux 上使用 xargs 命令。我们将它与多个其他命令结合起来,并且还学习了如何使用它来读取文件的内容。 xargs 命令具有无限不同的应用程序,并被证明是 Linux 命令行上最通用的工具之一。

©2015-2025 Norria support@alaica.com