2
引用文件名是否足以运行`xargs sudo rm -rf`?
我编写了一个脚本,该脚本删除了文件夹中除最后两个文件以外的所有文件: #!/bin/bash ls -1 --quoting-style=shell-always /path/to/some/folder \ | head -n -2 \ | xargs printf -- "'/path/to/some/folder/%s'\n" \ | xargs sudo rm -rf 该脚本将每天作为cron作业执行。 理由如下: 使用获取所有文件的列表ls -1(这样我每行得到一个文件); 使用head -n -2; 从列表中删除最后两个。 由于ls打印相对路径,因此请使用xargs printf事物在文件夹路径之前加上前缀,并使其成为绝对路径; 将其发送给sudo rm -rf使用xargs。 每个人都可以访问此文件夹,因此任何人都可以创建和删除此文件夹中的任何文件。 问题是: sudo rm -rf很恐怖。xargs sudo rm -rf非常可怕。 我想确保没有人会通过创建聪明的文件来删除(意外或故意删除)而损坏其他文件夹/系统。我不知道,像这样的聪明东西: file with / spaces.txt 这可能会导致超级恐怖sudo …