Linux :: 【基础指令篇 :: 文件及目录操作:(6)】:: rmidr / rm:删除空目录、删除非空目录及删除文件指令

前言:本篇是 Linux 基本操作篇章的内容!
笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。


学习集:


目录索引:
1. rmdir / rm 基本语法及功能
2. rmdir 基本使用测试 (看操作代码)
- - 2.1 创建一个空目录并删除
- - 2.2 创建一个目录和文件尝试删除
3. rm 基本使用测试(看操作代码:含可选项测试)
- - 3.1 测试删除文件
- - 3.2 测试删除非空目录 、 -r 可选项及递归删除目录
- - 3.3 rm -f 强制删除【rm * -rf 清空目录下所有内容】
- - 3.4 rm -i 删除提示信息显示
4. 相关文章或系列推荐


1. rmdir / rm 基本语法及功能

语法:

  • rmdir [-p] [dirName]
  • rm [-f-i-r-v] [dirName/dir]

功能及使用对象:

  • rmdir:只能用于删除空目录!!!(适用对象:具有当前目录操作权限的所有使用者)
  • rm:删除文件或目录! (使用对象:所有使用者)
  • 注:rm 默认情况下是不能删除目录的,需要使用可选项 -r(递归删除)!

2. rmdir 基本使用测试 (看操作代码)

2.1 创建一个空目录并删除
[Mortal@VM-12-16-centos test_mkdir]$ pwd
/home/Mortal/test_mkdir
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1

/* 创建空目录 */
[Mortal@VM-12-16-centos test_mkdir]$ mkdir test_rmdir
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1  test_rmdir
/* 删除空目录 */
[Mortal@VM-12-16-centos test_mkdir]$ rmdir test_rmdir/
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1

2.2 创建一个目录和文件尝试删除
/* 创建测试目录 */
[Mortal@VM-12-16-centos test_mkdir]$ mkdir test_rmdir
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1  test_rmdir

/* 新建目录下创建文件 */
[Mortal@VM-12-16-centos test_mkdir]$ touch test_rmdir/test.txt

/* 查看指定目录树形结构 */
[Mortal@VM-12-16-centos test_mkdir]$ tree test_rmdir/
test_rmdir/
`-- test.txt

0 directories, 1 file

/* 尝试删除新建的目录:失败:rmdir 只能删除空目录! */
[Mortal@VM-12-16-centos test_mkdir]$ rmdir test_rmdir/
rmdir: failed to remove ‘test_rmdir/’: Directory not empty

/* 尝试删除新建目录下的文件:失败:rmdir 只能删除目录,不能删除文件 */
[Mortal@VM-12-16-centos test_mkdir]$ rmdir test_rmdir/test.txt
rmdir: failed to remove ‘test_rmdir/test.txt’: Not a directory

3. rm 基本使用测试(看操作代码)

注:代码延续上述 rmdir 的测试代码


  • rm 指令:默认情况下是不能删除目录的!
  • rm -r 结合使用 -r 可选项进行非空目录(递归)的删除!
  • rm -f 强制删除

以下测试中会引入可选选项!

注:rm * 指定目录【即:删除全部内容!】

3.1 测试删除文件
[Mortal@VM-12-16-centos test_mkdir]$ rm test_rmdir/test.txt
[Mortal@VM-12-16-centos test_mkdir]$ tree test_rmdir/
test_rmdir/

0 directories, 0 files

/* 删除成功!  => rm 指令可以删除文件 */

3.2 测试删除非空目录 、 -r 可选项及递归删除目录

rm 指令

/* 在待删除目录下创建文件! */
[Mortal@VM-12-16-centos test_mkdir]$ touch test_rmdir/test.txt

/* 查看指定目录树形结构 */
[Mortal@VM-12-16-centos test_mkdir]$ tree test_rmdir/
test_rmdir/
`-- test.txt

0 directories, 1 file

/* 尝试删除指定目录:失败:rm 指令默认情况下是不能删除目录的!(需结合 -r 可选项进行操作) */
[Mortal@VM-12-16-centos test_mkdir]$ rm test_rmdir/
rm: cannot remove ‘test_rmdir/’: Is a directory

/* 结合使用 -r 可选项进行非空目录的删除! */
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1  test_rmdir

[Mortal@VM-12-16-centos test_mkdir]$ rm -r test_rmdir/
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1

/* 递归删除目录 */
/* 递归创建删除测试目录 */
[Mortal@VM-12-16-centos test_mkdir]$ mkdir -p b/bb/bbb
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  b  test1
[Mortal@VM-12-16-centos test_mkdir]$ rm b			/* 默认不能递归删除! */
rm: cannot remove ‘b’: Is a directory
[Mortal@VM-12-16-centos test_mkdir]$ rm -r b
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1

3.3 rm -f 强制删除

在一般学习过程中我们操作的文件或目录都是我们自己创建的,所以有直接操作权限,但是在协同开发中可能存在其他用户创建的文件是被保护的,我们删除时会有提示!而 rm -f 是强制删除,它不会在意是谁创建的,只知道:“干就完了”!该操作有风险!

同时,rm -rf 更是强大!递归强制删除!

[Mortal@VM-12-16-centos ~]$ cd test_mkdir/
[Mortal@VM-12-16-centos test_mkdir]$ ls
a  test1

/* 强制清空目录下内容 */
[Mortal@VM-12-16-centos test_mkdir]$ rm * -rf
[Mortal@VM-12-16-centos test_mkdir]$ ls

3.4 rm -i 删除提示信息显示

删除过程中,一般用户自己创建的内容不会有删除提示,若需要有提示,可设置 rm -i 进行提示;且 y 便是yes;n 表示 no!

[Mortal@VM-12-16-centos test_mkdir]$ ls

[Mortal@VM-12-16-centos test_mkdir]$ touch a.txt
[Mortal@VM-12-16-centos test_mkdir]$ mkdir -p a/aa/aaa

[Mortal@VM-12-16-centos test_mkdir]$ ls
a  a.txt
[Mortal@VM-12-16-centos test_mkdir]$ tree .
.
|-- a
|   `-- aa
|       `-- aaa
`-- a.txt

3 directories, 1 file

[Mortal@VM-12-16-centos test_mkdir]$ rm -ir a.txt
rm: remove regular empty file ‘a.txt’? y

[Mortal@VM-12-16-centos test_mkdir]$ rm -ir a
rm: descend into directory ‘a’? y
rm: remove directory ‘a/aa’? y
rm: remove directory ‘a’? y
[Mortal@VM-12-16-centos test_mkdir]$ y
-bash: y: command not found
[Mortal@VM-12-16-centos test_mkdir]$ ls



4. 相关文章或系列推荐

1. Linux 学习目录合集


2. Linux :: 【基础指令篇 :: 文件及目录操作:(4)】:: mkdir :: 创建目录:指定路径单个目录创建及一次性创建多级目录
3. Linux :: 【基础指令篇 :: 文件及目录操作:(5)】:: touch:创建普通文件、修改文件创建时间及其他基本操作


  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NPC的白话文谈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值