linux删除命令(l常用的inux命令删除指定文件)

-r就是向下递归,不管有多少级目录,一并删去

-f就是直接强行删去,不作任何提示的意思

删去文件夹实例:

rm-rf/var/log/httpd/access

将会删去/var/log/httpd/access目录以及其下所有文件、文件夹

删去文件使用实例:

rm-f/var/log/httpd/access.log

将会强制删去/var/log/httpd/access.log这个文件
图片[1]-linux删除命令(l常用的inux命令删除指定文件)-小白之家,常用的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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论