编写Shell找出系统内大于50k,小于100k的文件,并删除它们 ?
参考答案:
要找出并删除系统中大于50k且小于100k的文件,你可以使用find
命令结合-size
选项来实现。下面是一个示例命令:
find /path/to/search -type f -size +50k -size -100k -exec rm {} \;
在这个命令中,你需要将/path/to/search
替换为你要搜索的目录路径。这个命令会递归地搜索指定目录及其子目录中的文件,并找出大小在50k到100k之间的文件。
解释一下命令中的各个部分:
find
: 是用于在文件系统中查找文件的命令。/path/to/search
: 是你要搜索的目录路径。-type f
: 表示只查找普通文件,不包括目录和其他特殊文件。-size +50k
: 表示文件大小大于50k。-size -100k
: 表示文件大小小于100k。-exec rm {} \;
: 对每个找到的文件执行rm
命令进行删除。{}
是一个占位符,代表当前找到的文件名。\;
表示-exec
选项的结束。
请注意,这个命令会立即删除找到的文件,而不会将它们移动到回收站或进行任何形式的备份。因此,在执行此命令之前,请务必谨慎并确认你的操作是正确的。
如果你希望在删除文件之前先查看它们的列表,你可以将-exec rm {} \;
替换为-exec echo {} \;
,这样命令将只打印出文件的路径,而不会实际删除它们。这样,你可以先查看输出列表,确认无误后再执行删除操作。