我在UNIX的目录下有数百个PDF。PDF的名称确实很长(约60个字符)。
当我尝试使用以下命令一起删除所有PDF时:
rm -f *.pdf
我收到以下错误:
/bin/rm: cannot execute [Argument list too long]
该错误的解决方法是什么?mv
和cp
命令也会发生此错误吗?如果是,该如何解决这些命令?
发生这种情况的原因是,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中使用。 当我使用 我得到以下