欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令

程序员文章站 2022-05-13 19:05:11
...

结合上一次课,最近学了不少指令。这次就来分享记录一下学习创建目录与删除目录的指令—mkdir指令与rmdir指令。

1、mkdir指令(make directory):
顾名思义是用来创建目录所用的指令。例:

mkdir /tmp/CJLinux/

【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
如图所示,我在Linux系统中创建了两个目录
但是如果我们要一次性创建一些级联的目录,还是用这个指令,系统是不允许的,会报错。

下面我们可以通过 man指令来查看 mkdir指令有什么扩展功能。
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
由图中我们可以知道mkdir 的很多功能
所以如果我们要级联创建目录的话,只要在前面加 -p 就可以了


2、rmdir指令(remove directory):删除目录指令。例:
先根据刚刚的mkdir指令创建目录
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令

然后我们试着删除目录3rmdir /tmp/CJlinux/1/2/3
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
删除成功

但是我们能不能删除目录1呢?rmdir /tmp/CJlinux/1
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
在这里,删除失败了。因为此时系统就报错了。因为目录1非空。
其实这个我们也很容易理解,打个比方,拆房子首先要把房子的东西拿出来再拆嘛
所以重点要记住rmdir不能删除非空目录

那么,mkdir命令能够级联创建,那么rmdir能不能级联删除呢?
答案是 可以的。但是,不建议!!!
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
如图所示,我们运行了指令:rmdir -pv /tmp/CJlinux/1/2/3
系统一次性把CJlinxu 1 2 3 四个目录全删了
但是好险没有删除tmp目录。原因是tmp非空。而且我们也并不计划删除tmp目录
那么如果我们工作的时候,使用了级联删除,很容易把没有计划删除在内的空目录也删除,造成了不少麻烦。

那么,rmdir指令能不能删除文件呢?
答案是不可以的!
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令

那么需要删除文件,就要引入下一个指令:rm指令


3、rm指令(remove):删除命令,不仅可以删文件,还可以删除目录
例:
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
如图所示已经删除成功。但是每次删除一个目录或者文件都会有一次询问。
删除一两个目录的时候,可能觉得没什么。但是要删除一堆目录或文件的时候就不是这样子了。
不仅仅如此,如果要删除N个文件,有没有一个一次性全部删除的功能呢?
那么有什么方法能让它不询问就删除呢?
答:强制删除+统配删除!

rm -f /tmp/CJlinux/1/2/3/*.txt

这里的 -f 其实是froce(强制的意思)
*指统配的意思
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令

刚刚说rm 可以删除目录
可是如图所示好像不能删除
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
其实是由命令rm -r来删除目录的
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
删除之前,它也会提示你,是否删除。只要再加个 f 就会强制删除了

进一步解剖rm命令删除原理

rm -rfv

再后面加个v就能可视化删除过程
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令

那如果我用rm -f删除一个不存在的目录会怎么样呢?
虽然好像没什么提示,但是实际是有问题的,只要把-f 删除就能看到这个报错了。
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令


延伸:
1、在敲打命令的时候,我们可以通过“↑” “↓”来寻找之前敲过的命令。
2、也可以使用history之类,翻看之前敲打过的命令
【Linux学习笔记8】总结mkdir命令与rmdir指令,rm命令
3、!tree表示最近一次使用tree指令

以上的延伸,能够提高在Linux系统里面敲打命令的速度。

以上内容纯属本人小白初学Linux系统的一次学习笔记,如果对您有所帮助,我很高兴。若有写错或者说错的地方,请您多多包涵,望有更多大神来指点迷津,谢谢。