Linux常见的指令与操作之文件目录管理(下)

123 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第28天,点击查看活动详情

✨欢迎关注🖱点赞🎀收藏⭐留言✒

🔮本文由京与旧铺原创,csdn首发!

😘系列专栏:java学习

💻首发时间:🎞2022年12月22日🎠

🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦

🎧作者是一个新人,在很多方面还做的不好,欢迎大佬指正,一起学习哦,冲冲冲

🐱‍💻导航小助手

1.9rm指令

作用:移除文件或者目录 命令使用:rm [选项] 路径或者目录

选项与参数: -f :强制删除,不会提出警示 -i :互动模式,在删除前会询问使用者是否动作 -r :递归删除,可以将目录中的所有文件和目录一次性删除,该操作危险,慎重使用。

示例1,不带选项删除文件

[wjhw@VM-4-15-centos files]$ ll
total 24
drwxrwxr-x 2 wjhw wjhw 4096 Nov 13 23:05 aaa
drwxrwxr-x 3 wjhw wjhw 4096 Nov 13 23:33 d1
drwxrwxr-x 2 wjhw wjhw 4096 Nov 14 00:49 eee
drwxrwxr-x 3 wjhw wjhw 4096 Nov 14 01:04 fff
drw-rw-rw- 2 wjhw wjhw 4096 Nov 13 23:36 ggg
-rw-rw-r-- 1 wjhw wjhw   74 Nov 14 12:44 test.c
[wjhw@VM-4-15-centos files]$ rm test.c
[wjhw@VM-4-15-centos files]$ ll
total 20
drwxrwxr-x 2 wjhw wjhw 4096 Nov 13 23:05 aaa
drwxrwxr-x 3 wjhw wjhw 4096 Nov 13 23:33 d1
drwxrwxr-x 2 wjhw wjhw 4096 Nov 14 00:49 eee
drwxrwxr-x 3 wjhw wjhw 4096 Nov 14 01:04 fff
drw-rw-rw- 2 wjhw wjhw 4096 Nov 13 23:36 ggg

示例2,尝试删除目录时

[wjhw@VM-4-15-centos files]$ rm eee
rm: cannot remove ‘eee’: Is a directory

报错了,如果想用rm命令删除目录,需要加上选项[r]表示递归删除,因为linux的文件结构本质上是一棵多叉搜索树,所以需要使用递归的形式进行删除。

示例3,成功删除一个带有文件的目录

[wjhw@VM-4-15-centos files]$ rm -r eee
[wjhw@VM-4-15-centos files]$ ll
total 16
drwxrwxr-x 2 wjhw wjhw 4096 Nov 13 23:05 aaa
drwxrwxr-x 3 wjhw wjhw 4096 Nov 13 23:33 d1
drwxrwxr-x 3 wjhw wjhw 4096 Nov 14 01:04 fff
drw-rw-rw- 2 wjhw wjhw 4096 Nov 13 23:36 ggg

示例4,使用i选项,可以询问用户是否确认删除

[wjhw@VM-4-15-centos files]$ rm -ri fff
rm: descend into directory ‘fff’? n
[wjhw@VM-4-15-centos files]$ rm -ri fff
rm: descend into directory ‘fff’? y
rm: descend into directory ‘fff/aaa’? y
rm: remove regular empty file ‘fff/aaa/file2.txt’? y
rm: remove regular empty file ‘fff/aaa/file1.txt’? y
rm: remove directory ‘fff/aaa’? y
rm: remove directory ‘fff’? y
[wjhw@VM-4-15-centos files]$ ll
total 12
drwxrwxr-x 2 wjhw wjhw 4096 Nov 13 23:05 aaa
drwxrwxr-x 3 wjhw wjhw 4096 Nov 13 23:33 d1
drw-rw-rw- 2 wjhw wjhw 4096 Nov 13 23:36 ggg

1.10mv指令

mv指令可将一个文件或者目录移动到另外一个目录中,除此之外,mv指令还可以实现文件的重命名。

语法:

mv 选项 源文件 目标文件

选项: -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖,默认直接覆盖不会询问。 -u :若目标文件已经存在,且 源文件 比较新,才会更新 (update)

示例1:将jjj中的test.txt文件移动到hhh目录下

[wjhw@VM-4-15-centos files]$ mkdir hhh jjj
[wjhw@VM-4-15-centos files]$ cd ./jjj
[wjhw@VM-4-15-centos jjj]$ touch test.txt
[wjhw@VM-4-15-centos jjj]$ mv test.txt ../hhh
[wjhw@VM-4-15-centos jjj]$ tree ..
..
|-- aaa
|   |-- file1.txt
|   `-- file2.txt
|-- d1
|   `-- d2
|       `-- d3
|           `-- d4
|               `-- d5
|-- ggg
|-- hhh
|   `-- test.txt
`-- jjj

示例2:将hhhtest.txt重命名为file999

[wjhw@VM-4-15-centos hhh]$ ll
total 0
-rw-rw-r-- 1 wjhw wjhw 0 Dec 20 22:47 test.txt
[wjhw@VM-4-15-centos hhh]$ mv test.txt file999
[wjhw@VM-4-15-centos hhh]$ ll
total 0
-rw-rw-r-- 1 wjhw wjhw 0 Dec 20 22:47 file999

示例3:将jjj目录移动到hhh目录里面

[wjhw@VM-4-15-centos hhh]$ mv ../jjj ./
[wjhw@VM-4-15-centos hhh]$ ll
total 4
-rw-rw-r-- 1 wjhw wjhw    0 Dec 20 22:47 file999
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:48 jjj

示例4:创建多个目录,将这些目录放入jjj目录中

[wjhw@VM-4-15-centos hhh]$ mkdir aaa bbb ccc
[wjhw@VM-4-15-centos hhh]$ ll
total 16
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:58 aaa
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:58 bbb
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:58 ccc
-rw-rw-r-- 1 wjhw wjhw    0 Dec 20 22:47 file999
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:48 jjj
[wjhw@VM-4-15-centos hhh]$ mv aaa bbb ccc ./jjj
[wjhw@VM-4-15-centos hhh]$ ll
total 4
-rw-rw-r-- 1 wjhw wjhw    0 Dec 20 22:47 file999
drwxrwxr-x 5 wjhw wjhw 4096 Dec 20 22:58 jjj
[wjhw@VM-4-15-centos hhh]$ ll ./jjj
total 12
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:58 aaa
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:58 bbb
drwxrwxr-x 2 wjhw wjhw 4096 Dec 20 22:58 ccc

示例5:选项演示 f选项: 1

i选项: 2 u选项: 3