我想删除除某些文件外的所有文件和脏文件,这些文件的名称我要指定。有什么PHP脚本可以帮助我吗?
下面是一个示例:
Dir名称:
/home/root/database/“数据库”目录中的文件是:
[include]
[img]
[file]
index.php
index.html
.htaccess
index.jpg
index.png
readme.txt
video.mp4
music.mp3我希望删除除.htaccess和index.php以及[file] dir之外的所有文件。
是否有任何命令可以保存这些文件并删除其他文件或任何php代码?
发布于 2018-07-12 21:49:59
首先复印一份:
tar -cf /to/a/save/place/PHP_backup.tar *其中/to/a/save/place是不在该路径中的任何目录。
现在可以使用以下命令:
rm -rv !(.htaccess|index.php|file)中删除文件
如果您必须使用php,您可以接受这个功能并修改它以保留想要的文件和dir。
发布于 2018-07-12 22:13:58
来自trash的垃圾桶命令对于这种类型的事情非常方便。它可以在宇宙存储库中使用,如果没有命令sudo apt install trash-cli,就可以安装它
一旦安装,您只需发出命令
trash !(.htaccess|index.php|file),它告诉它将所有与括号中的内容不匹配的东西都丢弃掉。在本例中,.htaccess、index.php和目录文件。
当然,这需要用shopt -s extglob打开扩展模式匹配,就像点心在这个评论中提到的那样
实际上,不需要使用这种方法备份tar文件中的所有内容,因为所有垃圾都将位于垃圾箱中,如果您出错,可以使用restore-trash恢复,并选择希望恢复的相应文件或目录。
如果您必须使用PHP,请参阅断开连接。
这个答案在一定程度上受到了这一个的启发
https://askubuntu.com/questions/1054639
复制相似问题