访问手机版  

Linux删除文件夹?Linux技术问题|Linux培训认证|工资待遇与招聘,详询超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux删除文件夹

关于增量删除和海量删除!

时间:2018-06-20

在Linux中,经常会用到删除文件,大多数时候使用rm命令就可以,有的时候需要强制删除就会用到-f,碰到有子目录的时候,需要加-r参数,也就是说,不考虑安全问题,rm -rf filename就可以解决绝大部分问题。但是还会遇到增量删除和海量删除怎么更快捷呢?
增量删除:
mkdir {dirA,dirB}              # 创建测试目录
ouch dirA/{A1,A2,A3}     # dirA创建三个文件A1,A2,A3
touch dirB/{B1,B2,B3}      # dirA创建三个文件B1,B2,B3
1) 将dirA的所有文件同步到dirB内,并保留文件的属主,属组,文件权限等信息:rsync -avz dirA/ dirB/
2)将dirA的所有文件同步到dirB内,并删除dirB内多余的文件:rsync -avz --delete dirA/ dirB/
3)将dirA的所有文件同步到dirB,但是在dirB内除了B3这个文件不删之外,其他的都删除:rsync -avz --delete --exclude='B3' dirA/ dirB/
4)将dirA目录内的A1.txt和A2.txt不同步到dirB目录内:rsync -avz  --exclude='A1' --exclude='A2' dirA/ dirB/
5)将dirA目录内的A1和A2不同步到dirB目录内,并且在dirB目录内删除多余的文件:rsync -avz --exclude='A1' --exclude='A2'  --delete dirA/ dirB/
6)将dirA目录内的A1和A2不同步到dirB目录内,并且在dirB目录内删除多余的文件,同时,如果dirB内有A2和A1这两个被排除同步的文件,仍然将其删除:rsync -avz --exclude='A1' --exclude='A2'  --delete-excluded dirA/ dirB/
海量删除:
有时候文件太多,执行rm –rf file* 会报错,进行不下去,这个时候,同样要考虑到rsync同步删除操作,且高效快速,其思路,建一个空目录作为中转,再删除:
rsync --delete-before -avH --progress --stats /tmp/   /yourdir/
-a:        归档模式
-v:        显示全部过程
-H:        保持硬链接文件
-progress    在传输时显示传输过程
 
这几种方法的使用,几乎可以解决删除操作中碰到的任何问题,但有几点必须注意的问题:
1). 有挂载点的情况下,一定要执行umount操作
2). 不要删除目录的下,执行删除的操作,很蠢
3). 如果执行rm -rf /dir1/dir2/dir3/*.*删除不掉的话,尝试删除其父目录rm -rf /dir1/dir2