在/tmp/REPORTS
下我有一百个文件。我想要做的是删除 /tmp/REPORTS
中每个文件的内容(而不是删除它们)。所以我尝试了以下操作,但收到此错误:
cp /dev/null /tmp/REPORTS/*
cp: Target /tmp/REPORTS/….. must be a directory
Usage: cp [-f] [-i] [-p] [-@] f1 f2
cp [-f] [-i] [-p] [-@] f1 ... fn d1
cp -r|-R [-H|-L|-P] [-f] [-i] [-p] [-@] d1 ... dn-1 dn
如何清除目录下所有文件的内容?
最佳答案
假设您想要截断每个文件的内容,您可以这样做:
for file in /tmp/REPORTS/*; do > "$file"; done
这将清除目录中每个文件的内容。
如gniourf_gniourf在上面的评论中建议,有一个 GNU 工具 truncate
也可以为您完成这项工作:
truncate --size 0 /tmp/REPORTS/*
这可能比手动循环文件更快。
关于linux - 如何删除一个目录下所有文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29238694/