Linux(Centos 7.6)命令详解:rm

1.命令作用

删除(取消链接)文件(Remove (unlink) the FILE(s)).

2.命令语法

Usage: rm [OPTION]... FILE...

3.参数详解

OPTION:

  • -f, --force,忽略不存在的文件和对象,从不提示;即删除不存在文件时不提示信息
  • -i,每次删除前提示信息(默认);如文件不存在提示不存在信息,文件存在提示是否删除信息
  • -I,删除或递归删除三个以上文件对象前进行提示;三个文件对象及以下不提示直接删除
  • --interactive[=WHEN],WHEN可设置never、once (与-I参数相同)、always (与-i参数相同),没有WHEN,则为always(i)
  • --one-file-system,仅删除当前文件系统中的文件,跳过删除其他挂载点中的文件,其作用是避免跨文件系统的删除
  • --no-preserve-root,不要特别对待"/",删除,执行删除根目录时,可正常执行,需要与-r递归删除一起使用
  • --preserve-root,不要删除"/"目录(默认),执行删除根目录时,提示是危险操作不实际执行删除操作,需要与-r递归删除一起使用
  • -r, -R, --recursive,递归地删除目录及其目录下内容
  • -d, --dir,删除空白文件夹/目录,如目录为非空则报错提示Directory not empty
  • -v, --verbose,解释正在做什么,输出详细信息

4.常用用例

4.1.不存在文件的删除(-f)

## 存在文件file1.txt
[root@node2 Desktop]# ll
total 4
-rw-r--r--. 1 root root 27 Mar  2 12:08 file1.txt
[root@node2 Desktop]# 

## 删除一个不存在的文件file2.txt,没有参数提示错误,添加-f参数忽略不存在信息
[root@node2 Desktop]# rm file2.txt 
rm: cannot remove ‘file2.txt’: No such file or directory
[root@node2 Desktop]# 
[root@node2 Desktop]# rm -f file2.txt 
[root@node2 Desktop]# 

4.2.空目录的删除(-d)

## dir1目录非空,dir2目录为空
[root@node2 Desktop]# tree *
dir1
└── file1.txt
dir2

0 directories, 1 file
[root@node2 Desktop]# 

## 非空目录添加-d参数删除提示为非空目录
[root@node2 Desktop]# rm -d dir1/
rm: cannot remove ‘dir1/’: Directory not empty
[root@node2 Desktop]# 

## 空目录添加-d参数可正常删除,如使用"rm -df *"则仅删除空目录且不提示,非空目录不删除
[root@node2 Desktop]# rm -d dir2/
rm: remove directory ‘dir2/’? y
[root@node2 Desktop]# ll
total 0
drwxr-xr-x. 2 root root 23 Mar  2 12:10 dir1
[root@node2 Desktop]# 

4.3.递归删除(-r)

[root@node2 Desktop]# tree *
dir1
├── dir2
│   └── file2.txt
└── file1.txt

1 directory, 2 files
[root@node2 Desktop]# 

## 递归删除会有提示,每个目录及其文件都要提示
[root@node2 Desktop]# rm dir1/
rm: cannot remove ‘dir1/’: Is a directory
[root@node2 Desktop]# rm -r dir1/
rm: descend into directory ‘dir1/’? y
rm: descend into directory ‘dir1/dir2’? y
rm: remove regular file ‘dir1/dir2/file2.txt’? y
rm: remove directory ‘dir1/dir2’? y
rm: remove regular file ‘dir1/file1.txt’? y
rm: remove directory ‘dir1/’? y
[root@node2 Desktop]# ll
total 0
[root@node2 Desktop]# 

4.4.提示方式(-i,-I,-f)

## 删除多个文件使用-i与默认情况是一样的,每个目录和文件删除都需要提示信息
[root@node2 Desktop]# tree *
dir1
├── dir2
│   └── file2.txt
└── file1.txt

1 directory, 2 files
[root@node2 Desktop]# rm -ri dir1/
rm: descend into directory ‘dir1/’? y
rm: descend into directory ‘dir1/dir2’? y
rm: remove regular file ‘dir1/dir2/file2.txt’? y
rm: remove directory ‘dir1/dir2’? y
rm: remove regular file ‘dir1/file1.txt’? y
rm: remove directory ‘dir1/’? y
[root@node2 Desktop]# ll
total 0
[root@node2 Desktop]# 
## 删除操过3个文件及目录(总共操过3个对象),仅提示一次,如果不到3个对象,不提示直接删除
[root@node2 Desktop]# tree *
dir1
├── dir2
│   └── file2.txt
└── file1.txt

1 directory, 2 files
[root@node2 Desktop]# rm -rI dir1/
rm: remove 1 argument recursively? y
[root@node2 Desktop]# ll
total 0
[root@node2 Desktop]# 
## 直接删除不提示
[root@node2 Desktop]# tree *
dir1
├── dir2
│   └── file2.txt
└── file1.txt

1 directory, 2 files
[root@node2 Desktop]# rm -rf dir1/
[root@node2 Desktop]# ll
total 0
[root@node2 Desktop]#

4.5.根目录的删除(--preserve-root,--no-preserve-root)

## 指定--preserve-root参数或则不指定时删除根目录,会提示非安全操作,且不执行删除
[root@node2 Desktop]# rm -r --preserve-root /
rm: it is dangerous to operate recursively on ‘/’
rm: use --no-preserve-root to override this failsafe
[root@node2 Desktop]# 

## 指定--no-preserve-root参数时,允许删除根目录,一般不使用该命令
## 注意:谨慎使用如下命令
[root@node2 Desktop]# rm -r --no-preserve-root /
rm: descend into directory ‘/’? 

注意:Linux系统删除时需要谨慎操作,特别是使用如下删除命令时需要特别谨慎

  • rm -rf *
  • rm -rf --no-preserve-root /
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值