linux 批量删除目录下的文件和目录(排除指定目录)
Bash:删除当前目录所有内容,保留 data、.git 两个目录
先预览(务必先跑这条,核对待删除列表)
find . -maxdepth 1 ! -path . ! -path ./data ! -path ./.git确认输出是你要删掉的文件/文件夹,再执行删除:
find . -maxdepth 1 ! -path . ! -path ./data ! -path ./.git -exec rm -rf {} +参数说明
! -path .:排除当前目录本身! -path ./data:保留data文件夹! -path ./.git:保留.git版本控制目录-maxdepth 1:只操作当前层级,不会钻进data/.git内部删除内容
Windows PowerShell 版本(保留 data 与 .git)
预览:
Get-ChildItem . | Where-Object {$_.Name -notin @('data','.git')}执行删除:
Get-ChildItem . | Where-Object {$_.Name -notin @('data','.git')} | Remove-Item -Recurse -Force⚠️操作前建议备份,预览输出确认无误再执行删除命令。
版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/linux.html
转载时须注明出处及本声明