GVKun编程网logo

Linux 中 rmdir 和 rm 主要区别是什么?(linux中rm和rmdir的区别)

6

此处将为大家介绍关于Linux中rmdir和rm主要区别是什么?的详细内容,并且为您解答有关linux中rm和rmdir的区别的相关问题,此外,我们还将为您介绍关于10.23相对,绝对路径,cd,mk

此处将为大家介绍关于Linux 中 rmdir 和 rm 主要区别是什么?的详细内容,并且为您解答有关linux中rm和rmdir的区别的相关问题,此外,我们还将为您介绍关于10.23 相对,绝对路径,cd,mkdir/rmdir,rm命令、2.6 相对和绝对路径 2.7 cd 命令 2.8 创建和删除目录 mkdir/rmdir 2.9 rm 命令、2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令、2.8 创建和删除目录 mkdir/rmdir的有用信息。

本文目录一览:

Linux 中 rmdir 和 rm 主要区别是什么?(linux中rm和rmdir的区别)

Linux 中 rmdir 和 rm 主要区别是什么?(linux中rm和rmdir的区别)

  在 Linux 操作系统中,rmdir 命令和 rm 命令都属于删除命令,也是非常常用的基础命令之一。虽然同为删除命令,但两者有着不同之处,那么 Linux 中 rmdir 命令和 rm 命令有什么区别?以下是具体的内容介绍。

  在 Linux 中,rmdir 和 rm 是用于删除目录的命令,但它们之间存在一些不同之处。

  rmdir:rmdir 命令用于删除空目录。如果目录不为空,rmdir 将无法删除该目录并显示错误消息。因此,rmdir 主要用于删除不包含任何文件或子目录的空目录。

  rm:rm 命令用于删除文件和目录,它更加强大且灵活。rm 可以删除单个文件、多个文件以及非空目录。当使用 rm 删除目录时,必须使用递归选项 - r,以便删除目录及其所有内容。

  主要区别如下:

  rmdir 只能删除空目录,而 rm 可以删除文件和非空目录。

  rmdir 删除目录的速度通常比 rm 快,因为它只需要删除目录本身的记录,而不需要处理目录中的文件。rm 可以使用递归选项 - r 或 - R 删除目录及其所有内容,包括其中的文件和子目录。

  在使用这两个命令时要小心谨慎,特别是在删除目录时。由于 rm 命令没有验证步骤,误删除可能导致不可恢复的数据丢失。为避免意外删除重要文件,请确保在使用 rm 命令时仔细检查命令参数,并且最好在执行前进行备份。

10.23 相对,绝对路径,cd,mkdir/rmdir,rm命令

10.23 相对,绝对路径,cd,mkdir/rmdir,rm命令

相对,绝对路径

相对路径就是相对当前所在目录来说的路径,绝对路径就是相对/(根)目录来说的路径。相对路径不以/开头,绝对路径以/开头,./abc是相对路径(./表示当前路径),/abc是绝对路径。但是:~/abcd/123/是一个绝对路径,因为~符号表示的是用户的家目录,所以这个是绝对路径。

例如ls命令后面跟的这个路径是相对于root目录的:

技术分享

绝对路径:

技术分享

pwd可以查看当前在哪个目录下:

技术分享

echo $PWD 也可以查看当前在哪个目录下:

技术分享

whoami用于查看当前用户的名字:

技术分享

id可以查看uid等:

技术分享

cd命令

  cd是change directory 的缩写,就是改变目录的意思,可以使用这个命令进入文件目录:

  cd如果不加任何参数的话,就会进入到用户的家目录下,如果你当前用户是root,那么就会进入到root目录下:

技术分享

cd后面加目录名就可以进入哪个目录下:

技术分享

cd - 命令可以回到上一次所在的目录下:

技术分享

cd ~ 命令可以进入到当前用户的家目录下,和cd的意义是一致的:

技术分享

cd . 进入当前目录:

技术分享

cd .. 进入到上一层目录:

技术分享

mkdir/rmdir

  mkdir是make directory的缩写,这个命令是用来创建一个目录的:

技术分享

date命令可以查看当前系统时间:

技术分享

mkdir -p 命令可以批量创建目录:

技术分享

技术分享

mkdir -pv 命令加个v选项可以显示创建目录的过程:

技术分享

rmdir是remove directory的缩写,这个命令是用于删除目录的,但是前提是这个目录是空的不然无法删除:

技术分享

只有目录为空才能删除:

技术分享

touch命令可以创建一个空的文件:

技术分享

rmdir -p 可以批量删除目录,同样的目录要为空才能删除:

技术分享

技术分享

rm命令

  rm是remove的缩写,rm可以删除目录也可以删除非空的文件:

技术分享

rm -f 命令可以强制删除,不进行询问:

技术分享

!tree 命令可以运行最近一次敲的tree开头的命令:

技术分享

history 命令可以查看之前敲的命令:

rm -r 命令可以批量删除目录,但是每次都会询问:

技术分享

rm -rf 命令可以批量删除目录,因为加了f选项就不会进行询问了:

rm -rfv 命令可以看到删除的过程,v表示可视化。

2.6 相对和绝对路径 2.7 cd 命令 2.8 创建和删除目录 mkdir/rmdir 2.9 rm 命令

2.6 相对和绝对路径 2.7 cd 命令 2.8 创建和删除目录 mkdir/rmdir 2.9 rm 命令

绝对路径和相对路径

以跟目录开始的叫绝对路径

不以根目录开始的叫绝对路径

[root@cham3 ~]# ls /etc/sysconfig/network-scripts/ifcfg-

ifcfg-ens33 ifcfg-lo

[root@cham3 ~]# ls /etc/sysconfig/network-scripts/ifcfg-

ifcfg-ens33 ifcfg-lo

[root@cham3 ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts/ifcfg-ens33

[root@cham3 ~]# ls /root/anaconda-ks.cfg

/root/anaconda-ks.cfg

[root@cham3 ~]# ls /etc/hostname

/etc/hostname

[root@cham3 ~]# cat /etc/hostname

cham3

[root@cham3 ~]# ls /root/.ssh/authorized_keys 绝对路径

/root/.ssh/authorized_keys

[root@cham3 ~]# pwd

/root

[root@cham3 ~]# ls .ssh/authorized_keys 相对路径

.ssh/authorized_keys

[root@cham3 ~]# cd /etc/sysconfig/

[root@cham3 sysconfig]# ls network-scripts/ifcfg-ens33

network-scripts/ifcfg-ens33 相对路径

 

cd 命令

[root@cham3 ~]# cd /etc/sysconfig/             cd进入 etc /sysconfig路径

[root@cham3 sysconfig]# cd - cd -               返回上一次的所在目录,有点类似电视的返看键

/root

[root@cham3 ~]# cd -                                  再cd - 又回到 etc/sysconfig路径

/etc/sysconfig

[root@cham3 sysconfig]# pwd

/etc/sysconfig

[root@cham3 sysconfig]# cd -

/root

[root@cham3 ~]# cd ~                               ~就是家目录,cd ~就是回到加目录

[root@cham3 ~]# cd ..                               cd .. 返回上一级目录

[root@cham3 /]# cd -                                cd- 返回到家目录

/root

[root@cham3 ~]# pwd                              查看所在目录位置


 

 

 

创建和删除目录 mkdir/rmdir     rm 命令

 

1. 命令语法

rm 目录

2. 命令描述:

rm (remove) 的缩写,这个命令既可以删除目录,也可以删除文件。

3. 命令参数

-r 删除目录用的选项,可以删除非空目录。但会询问你是否删除,"y" 或 "n"
输入图片说明

-f 表示强制删除。它不会询问你是否删除。如果后面跟一个不存在的文件或目录,则不会报错。在使用 - f 选项的时候,一定要加上 - r 选项,否则会报错。

注:一般使用 - rf 命令,这样删除目录或文件比较方便。

 

命令 history

1.History 命令语法: #history [n]
#history [-c]
#history [-raw] histfiles

2. 命令描述: history (历史的简写) 可以列出之前你用的所有命令

3. 参数:
n   :数字,要列出最近的 n 笔命令列表
-c  :将目前的 shell 中的所有 history 内容全部消除
-a  :将目前新增的 history 指令新增入 histfiles 中,若没有加 histfiles , 则预设写入~/.bash_history
-r  :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w  :将目前的 history 记忆内容写入 histfiles

Linux 系统当你在 shell (控制台) 中输入并执行命令时,shell 会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history 文件中。默认保存 1000 条,你也可以更改这个值。

如果你键入 history, history 会向你显示你所使用的前 1000 个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看 1000 个命令中的所有项目,当然你也可以加入数字来列出最近的 n 笔命令列表。

linux 中 history 命令不仅仅让我们可以查询历史命令而已。我们还可以利用相关的功能来帮我们执行命令。

 

History 命令实战

列出所有的历史记录: # history
只列出最近 10 条记录: # history 10 (注,history 和 10 中间有空格)
输入图片说明
使用命令记录号码执行命令,执行历史清单中的第 99 条命令 #!99 (! 和 99 中间没有空格)
重复执行上一个命令 #!!

执行最后一次以 rpm 开头的命令 (!?  ? 代表的是字符串,这个 String 可以随便输,Shell 会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。) #!rpm

逐屏列出所有的历史记录:# history | more 使用空格看下面的命令记录。

立即清空 history 当前所有历史命令的记录 #history -c

除了使用 history 命令,在 shell 或 GUI 终端提示下,你也可以使用上下方向键来翻阅命令历史 (向下箭头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入类似的命令。

 

 

创建和删除目录

1.命令格式:
#mkdir [-mp] 目录名称

2.命令描述:
命令 mkdir (make directory 的简写) 用于创建目录。

3.命令参数:
-m: 选项用于指定要创建目录的权限.
-p: 选项可以创建一大串级联目录,并且当创建一个已经存在的目录时,不会报错。
-pv: 加上 v 选项可以显示创建的过程

1. 命令格式:
#rmdir 目录名称

2. 命令功能:
命令 rmdir (remove directory 的简写) 用于删除空目录,后面可以是一个目录,也可以是多个目录 (用空格分隔) 该命令只能删除目录,不能删除文件。

 

命令 touch

1.命令格式:
touch [选项] [文件]

2.命令描述:
如果有这个文件,则会改变该文件的访问时间,如果没有这个文件,就会创建这个文件。
输入图片说明

3.命令参数:
-a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。
-c 或 --no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决 BSD 版本 touch 指令的兼容性问题。
-m 或 --time=mtime 或 --time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。

 

命令 tree

1. 命令语法:tree [-aACdDfFgilnNpqstux][-I < 范本样式 >][-P < 范本样式 >][目录...]

2. 命令描述:以树状图列出目录的内容。
补充说明:执行 tree 指令,它会列出指定目录下的所有文件,包括子目录里的文件。

3. 命令参数:
  -a   显示所有文件和目录。
  -d   显示目录名称而非内容。
  -D   列出文件或目录的更改时间。
  -f   在每个文件或目录之前,显示完整的相对路径名称。
  -i   不以阶梯状列出文件或目录名称。
  -N   直接列出文件和目录名称,包括控制字符。
  -p   列出权限标示。
  -s   列出文件或目录大小。
  -t   用文件和目录的更改时间排序。

以下是命令行:                                           

 make directory

Last login: Thu Oct 19 18:23:24 2017 from 192.168.230.1                   我们先登陆
[root@cham2 ~]# mkdir /tmp/chamlinux                                       在tmp下新建一个chamlinux目录
[root@cham2 ~]# ls -ld /tmp/chamlinux                                      用ls -ld 查看目录
drwxr-xr-x 2 root root 6 1023 21:18 /tmp/chamlinux
[root@cham2 ~]# date                                                            时间
20171023日 星期一 21:19:01 CST
[root@cham2 ~]# mkdir /tmp/chamlinux/1/2/                       会提示没有文件或目录
mkdir: 无法创建目录"/tmp/chamlinux/1/2/": 没有那个文件或目录
[root@cham2 ~]# ls -l /tmp/chamlinux                                看一下   是空的
总用量 0
[root@cham2 ~]# mkdir -p /tmp/chamlinux/1/2/                 用-p 级联创建   
[root@cham2 ~]# ls -l /tmp/chamlinux/
总用量 0
drwxr-xr-x 3 root root 15 1023 21:20 1
[root@cham2 ~]# ls -l /tmp/chamlinux/1
总用量 0
drwxr-xr-x 2 root root 6 1023 21:20 2
[root@cham2 ~]# mkdir -p /tmp/chamlinux/2/3/4
[root@cham2 ~]# mkdir -pv /tmp/chamlinux/2/3/4                           -v可视化过程      

[root@cham2 ~]# mkdir -pv /tmp/chamlinux/2/3/4
mkdir: 已创建目录 "/tmp/chamlinux/2/3"
mkdir: 已创建目录 "/tmp/chamlinux/2/3/4"

[root@cham2 ~]# rmdir /tmp/chamlinux/2
rmdir: 删除 "/tmp/chamlinux/2" 失败: 目录非空
[root@cham2 ~]# rmdir /tmp/chamlinux/2/3/4/
[root@cham2 ~]# touch /tmp/chamlinux/2/3/1.txt
[root@cham2 ~]# ls /tmp/chamlinux/2/3/
1.txt

[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
├── 1
│   └── 2
└── 2
    └── 3
        └── 1.txt

4 directories, 1 file
[root@cham2 ~]# rmdir /tmp/chamlinux/2/3
rmdir: 删除 "/tmp/chamlinux/2/3" 失败: 目录非空
[root@cham2 ~]# rmdir /tmp/chamlinux/1/2/
[root@cham2 ~]# mk
mkdict            mkfifo            mkfs.ext2         mkfs.xfs          mknod
mkdir             mkfs              mkfs.ext3         mkhomedir_helper  mkswap
mkdumprd          mkfs.btrfs        mkfs.ext4         mkinitrd          mktemp
mke2fs            mkfs.cramfs       mkfs.minix        mklost+found      
[root@cham2 ~]# mkdir /tmp/chamlinux/1/2
[root@cham2 ~]# rmdir -p /tmp/chamlinux/1/2/                    这种方法很少用    一样可以级联删除
rmdir: 删除目录 "/tmp/chamlinux" 失败: 目录非空
[root@cham2 ~]# tree /tmp/chamlinux/                                实际上是已经删除了1/2已经删除了      
/tmp/chamlinux/
└── 2
    └── 3
        └── 1.txt

2 directories, 1 file
[root@cham2 ~]# rm /tmp/chamlinux/2/3/1.txt                        使用rm 命令删除
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/1.txt"?y                   
[root@cham2 ~]# tree /tmp/chamlinux/                                        看一下
/tmp/chamlinux/
└── 2
    └── 3

2 directories, 0 files
[root@cham2 ~]# toch /tmp/chamlinux/2/3/1.txt                新建文件
-bash: toch: 未找到命令
[root@cham2 ~]# touch /tmp/chamlinux/2/3/1.txt               新建文件

[root@cham2 ~]# touch /tmp/chamlinux/2/3/2.txt          
[root@cham2 ~]# rm /tmp/chamlinux/2/3/                        使用了TAB命令
1.txt  2.txt  
[root@cham2 ~]# rm /tmp/chamlinux/2/3/
1.txt  2.txt  
[root@cham2 ~]# rm /tmp/chamlinux/2/3/*.txt                           用*表示通配
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/1.txt"?n
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/2.txt"?n
[root@cham2 ~]# rm -f /tmp/chamlinux/2/3/*.txt                加-f   不询问   强制的
[root@cham2 ~]# !tree                                                       小知识,上一次最近的tree开头的命令
tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2
    └── 3

2 directories, 0 files
[root@cham2 ~]# rm /tmp/chamlinux/2/3/                      删除目录rm不行
rm: 无法删除"/tmp/chamlinux/2/3/": 是一个目录           
[root@cham2 ~]# rm -rv /tmp/chamlinux/2/3/                 加-r  就是删除级联的目录
rm:是否进入目录"/tmp/chamlinux/2/3/"? y
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/2.txt"?y
已删除"/tmp/chamlinux/2/3/2.txt"
rm:是否删除目录 "/tmp/chamlinux/2/3/"?y
已删除目录:"/tmp/chamlinux/2/3/"
[root@cham2 ~]

[root@cham2 ~]# rm -r /tmp/chamlinux/2/3/
rm: 无法删除"/tmp/chamlinux/2/3/": 没有那个文件或目录
[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2

1 directory, 0 files
[root@cham2 ~]# rm -rf /tmp/chamlinux/2/                     加-f  就是不提示,强制删除
[root@cham2 ~]# !tree
tree /tmp/chamlinux/
/tmp/chamlinux/                                                            这时候已经没有任何文件和目录了

0 directories, 0 files

[root@cham2 ~]# !tree
tree /tmp/chamlinux/2
/tmp/chamlinux/2 [error opening dir]

0 directories, 0 files
[root@cham2 ~]# mkdir -pv /tmp/chamlinux/2/3/      在创建一下
mkdir: 已创建目录 "/tmp/chamlinux/2"
mkdir: 已创建目录 "/tmp/chamlinux/2/3/"

[root@cham2 ~]# touch /tmp/chamlinux/2/3/1.txt        在新建一个文件
[root@cham2 ~]# touch /tmp/chamlinux/2/2.txt             在新建一个文件

[root@cham2 ~]# tree /tmp/chamlinux/                       看一下
/tmp/chamlinux/
└── 2
    ├── 2.txt
    └── 3
        └── 1.txt

2 directories, 2 files
[root@cham2 ~]# rm -rfv /tmp/chamlinux/2/3/                加-v删除,,是可视化。
已删除"/tmp/chamlinux/2/3/1.txt"                                     先删除文件或者下面的子目录
已删除目录:"/tmp/chamlinux/2/3/"                                  然后再删除
[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# rm -rfv /tmp/chamlinux/2/3/              知识点删除一个不存在的目录,再去删,什么                                                                                          都不提示   -f  起的作用
[root@cham2 ~]# rm -rv /tmp/chamlinux/2/3/              取消-f
rm: 无法删除"/tmp/chamlinux/2/3/": 没有那个文件或目录

 

2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令

2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令

绝对路径和相对路径

以跟目录开始的叫绝对路径

不以根目录开始的叫绝对路径

[root@cham3 ~]# ls /etc/sysconfig/network-scripts/ifcfg-

ifcfg-ens33 ifcfg-lo

[root@cham3 ~]# ls /etc/sysconfig/network-scripts/ifcfg-

ifcfg-ens33 ifcfg-lo

[root@cham3 ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts/ifcfg-ens33

[root@cham3 ~]# ls /root/anaconda-ks.cfg

/root/anaconda-ks.cfg

[root@cham3 ~]# ls /etc/hostname

/etc/hostname

[root@cham3 ~]# cat /etc/hostname

cham3

[root@cham3 ~]# ls /root/.ssh/authorized_keys 绝对路径

/root/.ssh/authorized_keys

[root@cham3 ~]# pwd

/root

[root@cham3 ~]# ls .ssh/authorized_keys 相对路径

.ssh/authorized_keys

[root@cham3 ~]# cd /etc/sysconfig/

[root@cham3 sysconfig]# ls network-scripts/ifcfg-ens33

network-scripts/ifcfg-ens33 相对路径

 

cd命令

 


 

[root@cham3 ~]# cd /etc/sysconfig/             cd进入 etc /sysconfig路径

[root@cham3 sysconfig]# cd - cd -               返回上一次的所在目录,有点类似电视的返看键

/root

[root@cham3 ~]# cd -                                  再cd - 又回到 etc/sysconfig路径

/etc/sysconfig

[root@cham3 sysconfig]# pwd

/etc/sysconfig

[root@cham3 sysconfig]# cd -

/root

[root@cham3 ~]# cd ~                               ~就是家目录,cd ~就是回到加目录

[root@cham3 ~]# cd ..                               cd .. 返回上一级目录

[root@cham3 /]# cd -                                cd- 返回到家目录

/root

[root@cham3 ~]# pwd                              查看所在目录位置


 创建和删除目录mkdir/rmdir     rm命令

 

1.命令语法

rm 目录

2.命令描述:

rm(remove)的缩写,这个命令既可以删除目录,也可以删除文件。

3.命令参数

-r 删除目录用的选项,可以删除非空目录。但会询问你是否删除,"y" 或 "n"
输入图片说明

-f 表示强制删除。它不会询问你是否删除。如果后面跟一个不存在的文件或目录,则不会报错。在使用-f选项的时候,一定要加上-r选项,否则会报错。

注:一般使用-rf命令,这样删除目录或文件比较方便。

命令history

1.History命令语法: #history [n]
#history [-c]
#history [-raw] histfiles

2.命令描述: history(历史的简写)可以列出之前你用的所有命令

3.参数:
n   :数字,要列出最近的 n 笔命令列表
-c  :将目前的shell中的所有 history 内容全部消除
-a  :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles , 则预设写入 ~/.bash_history
-r  :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w  :将目前的 history 记忆内容写入 histfiles

Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。

如果你键入 history, history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目, 当然你也可以加入数字来列出最近的 n 笔命令列表。

linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。

History命令实战

列出所有的历史记录: # history
只列出最近10条记录: # history 10 (注,history和10中间有空格)
输入图片说明
使用命令记录号码执行命令,执行历史清单中的第99条命令 #!99 (!和99中间没有空格)
重复执行上一个命令 #!!

执行最后一次以rpm开头的命令(!?  ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。) #!rpm

逐屏列出所有的历史记录:# history | more 使用空格看下面的命令记录。

立即清空history当前所有历史命令的记录 #history -c

除了使用history命令,在 shell 或 GUI 终端提示下,你也可以使用上下方向键来翻阅命令历史(向下箭头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入类似的命令。

创建和删除目录

1.命令格式:
#mkdir [-mp]目录名称

2.命令描述:
命令mkdir(make directory的简写)用于创建目录。

3.命令参数:
-m:选项用于指定要创建目录的权限.
-p:选项可以创建一大串级联目录,并且当创建一个已经存在的目录时,不会报错。
-pv:加上v选项可以显示创建的过程

1.命令格式:
#rmdir 目录名称

2.命令功能:
命令rmdir(remove directory的简写)用于删除空目录,后面可以是一个目录,也可以是多个目录(用空格分隔)该命令只能删除目录,不能删除文件。

命令touch

1.命令格式:
touch [选项] [文件]

2.命令描述:
如果有这个文件,则会改变该文件的访问时间,如果没有这个文件,就会创建这个文件。
输入图片说明

3.命令参数:
-a 或--time=atime或--time=access或--time=use 只更改存取时间。
-c 或--no-create 不建立任何文档。
-d 使用指定的日期时间,而非现在的时间。
-f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m 或--time=mtime或--time=modify 只更改变动时间。
-r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t 使用指定的日期时间,而非现在的时间。

命令tree

1.命令语法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式>][目录...]

2.命令描述:以树状图列出目录的内容。
补充说明:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

3.命令参数:
  -a   显示所有文件和目录。
  -d   显示目录名称而非内容。
  -D   列出文件或目录的更改时间。
  -f   在每个文件或目录之前,显示完整的相对路径名称。
  -i   不以阶梯状列出文件或目录名称。
  -N   直接列出文件和目录名称,包括控制字符。
  -p   列出权限标示。
  -s   列出文件或目录大小。
  -t   用文件和目录的更改时间排序。

以下是命令行:                                           

 make directory

Last login: Thu Oct 19 18:23:24 2017 from 192.168.230.1                   我们先登陆
[root@cham2 ~]# mkdir /tmp/chamlinux                                       在tmp下新建一个chamlinux目录
[root@cham2 ~]# ls -ld /tmp/chamlinux                                      用ls -ld 查看目录
drwxr-xr-x 2 root root 6 10月 23 21:18 /tmp/chamlinux
[root@cham2 ~]# date                                                            时间
2017年 10月 23日 星期一 21:19:01 CST
[root@cham2 ~]# mkdir /tmp/chamlinux/1/2/                       会提示没有文件或目录
mkdir: 无法创建目录"/tmp/chamlinux/1/2/": 没有那个文件或目录
[root@cham2 ~]# ls -l /tmp/chamlinux                                看一下   是空的
总用量 0
[root@cham2 ~]# mkdir -p /tmp/chamlinux/1/2/                 用-p 级联创建   
[root@cham2 ~]# ls -l /tmp/chamlinux/
总用量 0
drwxr-xr-x 3 root root 15 10月 23 21:20 1
[root@cham2 ~]# ls -l /tmp/chamlinux/1
总用量 0
drwxr-xr-x 2 root root 6 10月 23 21:20 2
[root@cham2 ~]# mkdir -p /tmp/chamlinux/2/3/4
[root@cham2 ~]# mkdir -pv /tmp/chamlinux/2/3/4                           -v可视化过程      

[root@cham2 ~]# mkdir -pv /tmp/chamlinux/2/3/4
mkdir: 已创建目录 "/tmp/chamlinux/2/3"
mkdir: 已创建目录 "/tmp/chamlinux/2/3/4"

[root@cham2 ~]# rmdir /tmp/chamlinux/2
rmdir: 删除 "/tmp/chamlinux/2" 失败: 目录非空
[root@cham2 ~]# rmdir /tmp/chamlinux/2/3/4/
[root@cham2 ~]# touch /tmp/chamlinux/2/3/1.txt
[root@cham2 ~]# ls /tmp/chamlinux/2/3/
1.txt

[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
├── 1
│   └── 2
└── 2
    └── 3
        └── 1.txt

4 directories, 1 file
[root@cham2 ~]# rmdir /tmp/chamlinux/2/3
rmdir: 删除 "/tmp/chamlinux/2/3" 失败: 目录非空
[root@cham2 ~]# rmdir /tmp/chamlinux/1/2/
[root@cham2 ~]# mk
mkdict            mkfifo            mkfs.ext2         mkfs.xfs          mknod
mkdir             mkfs              mkfs.ext3         mkhomedir_helper  mkswap
mkdumprd          mkfs.btrfs        mkfs.ext4         mkinitrd          mktemp
mke2fs            mkfs.cramfs       mkfs.minix        mklost+found      
[root@cham2 ~]# mkdir /tmp/chamlinux/1/2
[root@cham2 ~]# rmdir -p /tmp/chamlinux/1/2/                    这种方法很少用    一样可以级联删除
rmdir: 删除目录 "/tmp/chamlinux" 失败: 目录非空
[root@cham2 ~]# tree /tmp/chamlinux/                                实际上是已经删除了1/2已经删除了      
/tmp/chamlinux/
└── 2
    └── 3
        └── 1.txt

2 directories, 1 file
[root@cham2 ~]# rm /tmp/chamlinux/2/3/1.txt                        使用rm 命令删除
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/1.txt"?y                   
[root@cham2 ~]# tree /tmp/chamlinux/                                        看一下
/tmp/chamlinux/
└── 2
    └── 3

2 directories, 0 files
[root@cham2 ~]# toch /tmp/chamlinux/2/3/1.txt                新建文件
-bash: toch: 未找到命令
[root@cham2 ~]# touch /tmp/chamlinux/2/3/1.txt               新建文件

[root@cham2 ~]# touch /tmp/chamlinux/2/3/2.txt          
[root@cham2 ~]# rm /tmp/chamlinux/2/3/                        使用了TAB命令
1.txt  2.txt  
[root@cham2 ~]# rm /tmp/chamlinux/2/3/
1.txt  2.txt  
[root@cham2 ~]# rm /tmp/chamlinux/2/3/*.txt                           用*表示通配
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/1.txt"?n
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/2.txt"?n
[root@cham2 ~]# rm -f /tmp/chamlinux/2/3/*.txt                加-f   不询问   强制的
[root@cham2 ~]# !tree                                                       小知识,上一次最近的tree开头的命令
tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2
    └── 3

2 directories, 0 files
[root@cham2 ~]# rm /tmp/chamlinux/2/3/                      删除目录rm不行
rm: 无法删除"/tmp/chamlinux/2/3/": 是一个目录           
[root@cham2 ~]# rm -rv /tmp/chamlinux/2/3/                 加-r  就是删除级联的目录
rm:是否进入目录"/tmp/chamlinux/2/3/"? y
rm:是否删除普通空文件 "/tmp/chamlinux/2/3/2.txt"?y
已删除"/tmp/chamlinux/2/3/2.txt"
rm:是否删除目录 "/tmp/chamlinux/2/3/"?y
已删除目录:"/tmp/chamlinux/2/3/"
[root@cham2 ~]# 

[root@cham2 ~]# rm -r /tmp/chamlinux/2/3/
rm: 无法删除"/tmp/chamlinux/2/3/": 没有那个文件或目录
[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2

1 directory, 0 files
[root@cham2 ~]# rm -rf /tmp/chamlinux/2/                     加-f  就是不提示,强制删除
[root@cham2 ~]# !tree
tree /tmp/chamlinux/
/tmp/chamlinux/                                                            这时候已经没有任何文件和目录了

0 directories, 0 files

[root@cham2 ~]# !tree
tree /tmp/chamlinux/2
/tmp/chamlinux/2 [error opening dir]

0 directories, 0 files
[root@cham2 ~]# mkdir -pv /tmp/chamlinux/2/3/      在创建一下
mkdir: 已创建目录 "/tmp/chamlinux/2"
mkdir: 已创建目录 "/tmp/chamlinux/2/3/"

[root@cham2 ~]# touch /tmp/chamlinux/2/3/1.txt        在新建一个文件
[root@cham2 ~]# touch /tmp/chamlinux/2/2.txt             在新建一个文件

[root@cham2 ~]# tree /tmp/chamlinux/                       看一下
/tmp/chamlinux/
└── 2
    ├── 2.txt
    └── 3
        └── 1.txt

2 directories, 2 files
[root@cham2 ~]# rm -rfv /tmp/chamlinux/2/3/                加-v删除,,是可视化。
已删除"/tmp/chamlinux/2/3/1.txt"                                     先删除文件或者下面的子目录
已删除目录:"/tmp/chamlinux/2/3/"                                  然后再删除
[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# rm -rfv /tmp/chamlinux/2/3/              知识点删除一个不存在的目录,再去删,什么                                                                                          都不提示   -f  起的作用
[root@cham2 ~]# rm -rv /tmp/chamlinux/2/3/              取消-f
rm: 无法删除"/tmp/chamlinux/2/3/": 没有那个文件或目录

 

2.8 创建和删除目录 mkdir/rmdir

2.8 创建和删除目录 mkdir/rmdir

mkdir

  1. mkdir = make directory

  2. mkdir 就是创建目录,不能级联创建目录

  3. date 显示当前时间

     mkdir -p 可以级联创建目录
             -v   使命令运行可视化
    
  • 创建目录时一定要注意绝对路径和相对路径,当前目录,一般使用的都是相对路径也就是没有 / 这个符号的开头的
[root@hf-01 ~]# mkdir /tmp/aminglinux
[root@hf-01 ~]# ls -ld /tmp/aminglinux/
drwxr-xr-x. 2 root root 6 1024 05:58 /tmp/aminglinux/
[root@hf-01 ~]# date		显示出当前时间
20171024日 星期二 05:59:00 CST
[root@hf-01 ~]# mkdir /tmp/aminglinux/1/2/
mkdir: 无法创建目录"/tmp/aminglinux/1/2/": 没有那个文件或目录
就是说/tmp目录下存在/aminglinux目录,而不存在/1和/2目录
[root@hf-01 ~]# ls -l /tmp/aminglinux/
总用量 0

mkdir -p

mkdir -p 可以级联创建目录

[root@hf-01 ~]# mkdir -p /tmp/aminglinux/1/2/
[root@hf-01 ~]# ls -l /tmp/aminglinux/
总用量 0
drwxr-xr-x. 3 root root 14 10 24 06:07 1
[root@hf-01 ~]# ls -l /tmp/aminglinux/1
总用量 0
drwxr-xr-x. 2 root root 6 10 24 06:07 2

mkdir -pv

mkdir -pv 可以看见创建目录的可视化过程

[root@hf-01 ~]# mkdir -pv /tmp/aminglinux/2/3/4
mkdir: 已创建目录 "/tmp/aminglinux/2"
mkdir: 已创建目录 "/tmp/aminglinux/2/3"
mkdir: 已创建目录 "/tmp/aminglinux/2/3/4"

rmdir

  1. rmdir = remove directory
  2. rmdir 命令能删除目录 ,但只能删除空的目录(目录中有文件无法删除)
  3. rmdir -p (parents)可以级联的删除空目录,容易误操作删错目录
  4. 特别是删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除
  • 若发现删除不了的非空目录,可以使用 tree 命令查看目录的级联情况
  • 安装 tree 这个包 yum install -y tree

touch

  • touch 命令 创建空白文件
  • 创建目录时,一定要注意,你所在的目录是哪里。 可以使用命令查看当前位置 pwd
[root@hf-01 ~]# rmdir /tmp/aminglinux/2
rmdir: 删除 "/tmp/aminglinux/2" 失败: 目录非空
**这就表示rmdir可以删除目录,但前提是这个目录是空的**
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3/4	这时4目录就删除了
[root@hf-01 ~]# touch /tmp/aminglinux/2/3/1.txt	这时在目录下创建一个文件
[root@hf-01 ~]# ls /tmp/aminglinux/2/3
1.txt
[root@hf-01 ~]# tree /tmp/aminglinux/	若没有tree命令,则yum install -y tree
/tmp/aminglinux/
├── 1
│   └── 2
└── 2
    └── 3
        └── 1.txt

4 directories, 1 file
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3
rmdir: 删除 "/tmp/aminglinux/2/3" 失败: 目录非空
这时发现也是不能删除,因为目录下有个文件
[root@hf-01 ~]# rmdir /tmp/aminglinux/2/3/1.txt
rmdir: 删除 "/tmp/aminglinux/2/3/1.txt" 失败: 不是目录
**若非要删除,则可以使用rm命令**

rmdir -p

rmdir -p (parents)可以级联的删除空目录

[root@hf-01 ~]# rmdir -p /tmp/aminglinux/1/2
rmdir: 删除目录 "/tmp/aminglinux" 失败: 目录非空
[root@hf-01 ~]# tree /tmp/aminglinux/		这里会发现/1/2这两个目录已经被删除了
/tmp/aminglinux/
└── 2
    └── 3
        └── 1.txt

2 directories, 1 file

关于Linux 中 rmdir 和 rm 主要区别是什么?linux中rm和rmdir的区别的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于10.23 相对,绝对路径,cd,mkdir/rmdir,rm命令、2.6 相对和绝对路径 2.7 cd 命令 2.8 创建和删除目录 mkdir/rmdir 2.9 rm 命令、2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令、2.8 创建和删除目录 mkdir/rmdir的相关知识,请在本站寻找。

本文标签: