ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

linux下删除本目录下除了“XXX”目录外的命令

linux下删除本目录下除了“XXX”目录外的命令 Linux下经常会出现有文件的名称变为了特殊字符或乱码导致无法删除的情况这个时候我们可以使用一些方法删除比如在当前目录下删除除了XXX目录以外的所有内容包括名称乱码的文件可以用find . -mindepth 1 ! -name XXX ! -path ./XXX/* -exec rm -rf {} 更推荐先预览一下会删哪些find . -mindepth 1 ! -name XXX ! -path ./XXX/* -print确认没问题后再执行删除find . -mindepth 1 ! -name XXX ! -path ./XXX/* -exec rm -rf {} 含义-mindepth 1表示不匹配当前目录.本身。! -name XXX ! -path ./XXX/*表示保留XXX目录以及XXX目录下的所有内容。也可以用 Bash 的方式shopt -s extglob rm -rf !(XXX)但这个方式依赖 Bash 的extglob而且对隐藏文件处理不如find方式稳妥。建议用find。
返回列表