尝试将目录 CP 到 /dev/null

pas*_*ger 6 command-line cp

真正想做的是验证外部驱动器上的数据仍然可读。我认为最简单、最可靠的方法是将所有内容复制到/dev/null. 它非常适合文件。但是,当我-R向递归复制添加目录结构时,如果失败(大概),因为它无法在/dev/null.

当我尝试时:

cp -R Flintstones/ /dev/null
Run Code Online (Sandbox Code Playgroud)

我得到:

cp: cannot overwrite non-directory '/dev/null' with directory 'Flintstones/'
Run Code Online (Sandbox Code Playgroud)

但这有效:

cd Flintstones
cp Fred.txt /dev/null
Run Code Online (Sandbox Code Playgroud)

如何一次性复制整个目录?

谢谢,请对新手温柔一点。

Eli*_*ias 1

您好,欢迎来到 Ask Ubuntu!

如果我正确理解您的问题,您只想运行一些命令来读取给定目录中的所有文件,但除了表示无法读取文件的潜在错误消息之外,您对任何输出都不感兴趣。例如,您可以使用以下命令来实现grep

grep -r Zaphod Flintstones/
Run Code Online (Sandbox Code Playgroud)

上面的命令意味着grep将递归地遍历Flintstones目录中的所有文件,查找字符串“Zaphod”(您可以在那里放置其他字符串,没关系,只是要grep搜索的内容,如果您不想输出,请选择以下内容)您认为不会出现在任何文件中)。如果命令完成时没有出现有关不可读文件的错误消息,则表示该目录是可读的。

并不是说这是最好的方法,可能还有更优雅的方法,但上面是一种方法。