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

这篇具有很好参考价值的文章主要介绍了Linux :: 【基础指令篇 :: 文件及目录操作:(6)】:: rmidr / rm:删除空目录、删除非空目录及删除文件指令。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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


学习集:

  • C++ 入门到入土!!!学习合集
  • Linux 从命令到网络再到内核!学习合集

目录索引:
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:创建普通文件、修改文件创建时间及其他基本操作;文章来源地址https://www.toymoban.com/news/detail-754601.html


到了这里,关于Linux :: 【基础指令篇 :: 文件及目录操作:(6)】:: rmidr / rm:删除空目录、删除非空目录及删除文件指令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux :: 【基础指令篇 :: 文件及目录操作:(4)】:: mkdir :: 创建目录:指定路径单个目录创建及一次性创建多级目录

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 目录索引: 1. 基本语法及功能 2. 基本使用示例 - - 2.1 当前目录下创建指定新目录 - - 2.2 指定目录下

    2024年02月06日
    浏览(58)
  • Linux :: 【基础指令篇 :: 文件及目录操作:(7)】:: cp:指定文件或目录的拷贝及指定拷贝到指定路径(与重命名)

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 目录索引: 1. 基本语法及功能 2. 常用可选项说明 3. 文件基本拷贝操作 - - 3.1 指定文件拷贝到当前

    2024年02月03日
    浏览(73)
  • rm命令——删除文件或目录

    rm命令是英文单词remove的缩写,主要功能是删除文件或目录。 因为删除文件是一个破坏性动作,因此,在使用时需要格外小心,在执行之前一定要再三确认删除的是哪个目录中的什么文件。 rm命令的语法格式如下: 常用选项如下: 选项 作用或含义 -f 强制删除,且不提示确认

    2024年02月02日
    浏览(55)
  • Linux命令集(Linux文件管理命令--rm指令篇)

    如下为笔者总结出在 linux 中最常用的 rm 指令集 🌟希望能够帮助正在Linux路上奋斗的你🌟 删除文件或目录 短选项 长选项 描述 -f --force 忽略不存在的文件,不给出提示 -i --interactive 进行交互式删除操作,删除前逐一询问确认 -r --recursive 将指定目录及其子目录递归删除 -v --

    2024年02月01日
    浏览(56)
  • 掌握终端基础技巧:Linux下的文件和目录复制操作

    在Linux系统中,命令行终端是一个大而高效的工具,让使用者可以通过简单的命令完成各种任务。其中,文件和目录的复制操作是日常使用频率较高的一项操作。本文将介绍Linux下的文件和目录复制基础技巧,帮助您更好地掌握命令行终端的使用。 一、复制文件: 1.cp命令:

    2024年02月08日
    浏览(51)
  • Linux下通过 rm -f 删除大量文件时报错:Argument list too long

    Linux下通过 rm -f 删除大量的小文件时出现类似如下错误信息:   -bash: /bin/rm: Argument list too long 如下图所示: 如果待删除文件中包含的小文件数量过多,通常是由于受到 shell 参数个数限制所致。 这个是Linux系统存在的限制,可以通过如下指令查看该参数值的配置: 注: 删除

    2024年02月13日
    浏览(47)
  • Linux 删除文件提示:rm: cannot remove ‘XXXX‘: Operation not permitted 解决方案

            今天遇到一个很恼火的问题,就是在维护TP6项目时,无法在Linux中删除原有的vendor文件夹,更新进去新的内容,因为composer新require的必要的内容,本想着讲原有的删掉,直接讲压缩包放上去,解压,简单暴力,万万没想到。。。 用lsattr命令来查看是否是系统添加了

    2024年01月21日
    浏览(55)
  • /bin/rm Argument list too long – Linux 删除海量文件报错的解决方法

    这种情况主要在大批量删除居多文件的情况下发生,也是因为删除的命令参数超过了shell参数的个数导致的,可以通过 getconf ARG_MAX 来确认,解决方法好几种 配合find与xargs完成删除海量文件 可以通过find和xargs命令配合的方式,比如删除当前目录所有的png文件, 上面的这个命令

    2024年01月21日
    浏览(49)
  • Linux :: 【基础指令篇 :: 文件内容操作:(4)】:: head / tail 指令 :: 查看前后 n 行内容 | 指定查看文件的部分内容

    前言:本篇是 Linux 基本操作篇章的内容! 笔者使用的环境是基于腾讯云服务器:CentOS 7.6 64bit。 学习集: C++ 入门到入土!!!学习合集 Linux 从命令到网络再到内核!学习合集 注: 本文涉及文件内容查看或编辑,故有预先准备的测试示例,若读者无测试示例,可参照 第 0

    2024年02月08日
    浏览(58)
  • Linux基础命令 - 文件及目录操作, 打印输出, 查找命令, 用户及权限管理, vi的使用等

    vi - 纯文本编辑器 vi命令 是UNIX操作系统和类UNIX操作系统中最通用的 全屏幕 纯文本编辑器。Linux中的vi编辑器叫 vim ,它是vi的 增强版 (vi Improved),与vi编辑器 完全兼容 ,而且实现了很多 增强功能 。 vi编辑器支持 编辑模式 和 命令模式 ,编辑模式下可以完成文本的编辑功

    2024年02月06日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包