-r就是向下递归,不管有多少级目录,一并删去
-f就是直接强行删去,不作任何提示的意思
删去文件夹实例:
rm-rf/var/log/httpd/access
将会删去/var/log/httpd/access目录以及其下所有文件、文件夹
删去文件使用实例:
rm-f/var/log/httpd/access.log
将会强制删去/var/log/httpd/access.log这个文件
,常用的inux命令删除指定文件,在LINUX中,常常要删去文件,大多时分运用rm指令就足以应付了,有的时分需求用-f,强制删去,碰到有子目录的时分,需求加-r参数,也就是说,不考虑安全问题,rm-rffilename就能够解决绝大部分问题.先看下rm的一般用法:
也就是说,大多状况下:
办法一:rmfile#直接删去
办法二:rm-ifile#删前提示
办法三:rm-ffile#强制删去
办法四:rm-rf/dir#递归删去
可是,常常在删去文件时会碰到DeviceorResourceisbusy的状况,这个时分测验用下面的办法:
办法五:运用ps和kill指令检查并删去相应的进程,时分再履行rm删去操作
办法六:运用lsof指令检查运用该文件并用kill删去,再履行rm操作
办法七:运用fuser-kvm/mnt/test指令,再履行rm操作
-k参数:缩写kill
-v参数:详细输出
-m参数:表面指定的路径为挂载点
办法八:运用find指令结合-exec指令来删去
$find/tmp-typef-execrm-rf{}\;
办法九:运用find指令结合xargs指令来删去
$find/tmp-typef|xargsrm-rf
【增量删去】:
$mkdir{dirA,dirB}#创立测试目录
$touchdirA/{A1,A2,A3}#dirA创立三个文件A1,A2,A3
$touchdirB/{B1,B2,B3}#dirA创立三个文件B1,B2,B3
目录结构如下:
1)将dirA的一切文件同步到dirB内,并保留文件的属主,属组,文件权限等信息:
$rsync-avzdirA/dirB/
2)将dirA的一切文件同步到dirB内,并删去dirB内剩余的文件
$rsync-avz–deletedirA/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′–deletedirA/dirB/
6)将dirA目录内的A1和A2不同步到dirB目录内,并且在dirB目录内删去剩余的文件,一起,假如dirB内有A2和A1这两个被排除同步的文件,仍然将其删去
$rsync-avz–exclude=’A1′–exclude=’A2′–delete-excludeddirA/dirB/
【海量删去】:
有时分文件太多,履行rm–rffile*会报错,进行不下去,这个时分,相同要考虑到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
Tips:本站所有资源均收集自互联网,分享目的仅供学习参考,资源版权归该资源的合法拥有者所有。
Tips:若本站所发布的资源侵犯到您的合法权益,请及时联系 hqteam@qq.com 删除!
暂无评论内容