当前位置: 首页 > 面试题库 >

rm,cp,mv命令的参数列表过长错误

贝自怡
2023-03-14
问题内容

我在UNIX的目录下有数百个PDF。PDF的名称确实很长(约60个字符)。

当我尝试使用以下命令一起删除所有PDF时:

rm -f *.pdf

我收到以下错误:

/bin/rm: cannot execute [Argument list too long]

该错误的解决方法是什么?mvcp命令也会发生此错误吗?如果是,该如何解决这些命令?


问题答案:

发生这种情况的原因是,bash实际上将星号扩展到每个匹配的文件,从而产生了很长的命令行。

尝试这个:

find . -name "*.pdf" -print0 | xargs -0 rm

警告: 这是递归搜索,还将在子目录中查找(和删除)文件。-f仅在确定不希望确认时,才使用rm命令。

您可以执行以下操作使命令非递归:

find . -maxdepth 1 -name "*.pdf" -print0 | xargs -0 rm

另一种选择是使用find的-delete标志:

find . -name "*.pdf" -delete


 类似资料:
  • 这个错误的解决方案是什么?和命令也会出现此错误吗?如果是,如何解决这些命令?

  • 在 Linux 中,一切都是文件。但是什么是文件?现在完全可以说,它是一个包含一些信息的对象。它通常定义如下: 计算机文件是用于存储信息的,任意的信息块或资源。它可用于计算机程序,并且通常基于某种持久的存储器。文件是持久的,因为它在当前程序完成后,仍然可用于其它程序。计算机文件可以认为是纸质文档的现代对应物,它们通常保存于办公室和图书馆的文件中,这是该术语的来源。 但这个定义太笼统了,所以让我们更

  • 主要内容:描述,示例命令用于移动或重命名文件,目录或符号链接。 简介 描述 移动或重命名文件,目录或符号链接。 在第一种形式中,它将重命名为,必须存在,并且是文件,符号链接或目录。 在第二种形式中,最后一个参数必须是现有的目录; 给定的源()将被移动到这个目录中。 索引在成功完成后更新,但仍必须提交更改。 示例 以下是一些示例 - 把一个文件:text.txt 移动到 mydir,可以执行以下操作 - 运行上面的 其

  • 这是我得到的问题“编写一个程序来读取和显示2个命令行参数和命令行参数数组的长度”。 这是我用Java给出的答案。。这是正确的吗?

  • 主要内容:描述,示例命令用于从工作区和索引中删除文件。 简介 描述 从索引中删除文件,或从工作树和索引中删除文件。 不会从您的工作目录中删除文件。 (没有任何选项只能从工作树中删除文件,并将其保留在索引中;)要删除的文件必须与分支的提示相同,并且在索引中不能对其内容进行更新,尽管可以使用选项覆盖(默认行为)。 当给出时,暂存区内容必须与分支的提示或磁盘上的文件相匹配,从而仅将文件从索引中删除。 使用 来删除文件,同时

  • 我试图通过一个名为HOSTS的变量的命令参数解析IP:端口列表,以便在函数read_head_block_ints中使用。 当我使用 我得到以下