软件测试|Linux 基础教程:创建和删除目录

简介: 软件测试|Linux 基础教程:创建和删除目录

image.png

简介

在 Linux 系统中,创建和删除目录是非常常见的操作。目录是用于组织文件和其他目录的一种结构,它们是组织文件系统的重要组成部分。本文将介绍如何在 Linux 系统中创建和删除目录。

创建目录

在 Linux 中,可以使用 mkdir 命令来创建一个新的目录。mkdir 是 Make Directory(创建目录)的缩写。

基本语法
创建目录的基本语法如下:

mkdir [-mp] directory_name

其中,directory_name 是要创建的目录的名称。

  • -m 选项用于手动配置所创建目录的权限,而不再使用默认权限。
  • -p 选项递归创建所有目录,以创建/home/test/demo为例,在默认情况下,你需要一层一层的创建各个目录,而使用 -p 选项,则系统会自动帮你创建 /home/home/test以及/home/test/demo

使用示例

  1. 建立目录
mkdir salah
ls
demo  Desktop  Documents  Downloads  Music  Pictures  Public  salah  snap  Templates  Videos

我们建立一个名为 salah 的目录,通过 ls 命令可以查看到这个目录已经建立。注意,我们在建立目录的时候使用的是相对路径,所以这个目录被建立到当前目录下。

  1. 使用 -p 选项递归建立目录
muller@ubuntu:~$ mkdir novels/uk/harrypotter
mkdir: cannot create directory ‘novels/uk/harrypotter’: No such file or directory
muller@ubuntu:~$ mkdir -p novels/uk/harrypotter
muller@ubuntu:~$ ls
demo  Desktop  Documents  Downloads  Music  novels  Pictures  Public  salah  snap  Templates  Videos
muller@ubuntu:~$ ls novels/
uk
muller@ubuntu:~$ ls novels/uk
harrypotter

当我们没有加-p参数时,创建递归目录会报错,加上之后,即可成功创建目录。

  1. 使用 -m 选项自定义目录权限
muller@ubuntu:~$ mkdir -m 711 demo2
muller@ubuntu:~$ mkdir -m 777 demo3
muller@ubuntu:~$ ls -l
total 56
drwxrwxr-x 2 muller muller 4096 Jul 21 15:44 demo
drwx--x--x 2 muller muller 4096 Jul 21 17:27 demo2
drwxrwxrwx 2 muller muller 4096 Jul 21 17:27 demo3

仔细看上面的权限部分,也就是 ls 命令输出的第一列数据,demo目录由于不是使用 -m 选项设定访问权限,因此这个目录采用的是默认权限(这里的默认权限值是 755,后续再详细介绍默认权限)。

而在创建 demo2 时,使用了 -m 选项,通过设定 711 权限值来给予新的目录 drwx--x--x 的权限,有关权限值的具体含义后续进行介绍。

删除目录

在 Linux 中,可以使用rmdirrm 命令来删除目录。但需要注意,删除目录时必须确保目录为空,否则 rmdir 命令会报错。如果目录不为空,您需要使用 rm 命令以递归方式删除目录和其内容。

rmdir 命令基本语法

rmdir directory_name

其中,directory_name 是您要删除的空目录的名称。

示例

  1. 删除一个空目录:
muller@ubuntu:~$ rmdir demo2
muller@ubuntu:~$ ls
demo  demo3  Desktop  Documents  Downloads  Music  novels  Pictures  Public  salah  snap  Templates  Videos

命令后面加目录名称即可,但命令执行成功与否,取决于要删除目录是否是空目录,因为 rmdir 命令只能删除空目录。

  1. 递归删除空目录:
muller@ubuntu:~$ rmdir -p novels/uk/harrypotter
muller@ubuntu:~$ ls
demo  demo3  Desktop  Documents  Downloads  Music  Pictures  Public  salah  snap  Templates  Videos
muller@ubuntu:~$

注意,此方式先删除最低一层地目录(这里先删除 harrypotter),然后逐层删除上级目录,删除时也需要保证各级目录是空目录。

rm命令基本语法

rm [options] file or directory

options可选参数

  • -f:强制删除(force),和-i选项相反,使用-f,系统将不再询问,而是直接删除目标文件或目录。
  • -i:和-f 正好相反,在删除文件或目录之前,系统会给出提示信息,使用 -i 可以有效防止不小心删除有用的文件或目录。
  • -r:递归删除,主要用于删除目录,可删除指定目录及包含的所有内容,包括所有的子目录和文件。

注:rm 命令是一个具有破坏性的命令,因为 rm 命令会永久性地删除文件或目录,这就意味着,如果没有对文件或目录进行备份,一旦使用 rm 命令将其删除,将无法恢复,因此,尤其在使用 rm 命令删除目录时,要慎之又慎。

使用示例

  1. rm删除目录,如下:
muller@ubuntu:~$ rm -r demo3
muller@ubuntu:~$ ls
demo  Desktop  Documents  Downloads  Music  Pictures  Public  salah  snap  Templates  Videos
  1. rm递归删除目录,如下:
[muller@ubuntu ~]# mkdir -p /test/lm/movie/jp
#递归建立测试目录
[muller@ubuntu ~]# rm /test
rm:无法删除"/test/": 是一个目录
#如果不加"-r"选项,则会报错
[root@localhost ~]# rm -r /test
rm:是否进入目录"/test"?y
rm:是否进入目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm/movie/jp"?y
rm:是否删除目录"/test/lm/movie"?y
rm:是否删除目录"/test/lm"?y
rm:是否删除目录"/test"?y
#会分别询问是否进入子目录、是否删除子目录
  1. 强制删除
[root@localhost ~]# mkdir -p /test/lm/movie/jp
#重新建立测试目录
[root@localhost ~]# rm -rf /test
#强制删除

总结

在 Linux 系统中,创建和删除目录是常见的操作。通过 mkdir 命令可以创建目录,而 rmdirrm 命令可以删除目录。请务必小心操作,确保您的目录结构和数据安全。希望本文能帮助您了解如何在 Linux 系统中创建和删除目录。

相关文章
|
2月前
|
Linux 网络安全 Python
linux centos上安装python3.11.x详细完整教程
这篇文章提供了在CentOS系统上安装Python 3.11.x版本的详细步骤,包括下载、解压、安装依赖、编译配置、解决常见错误以及版本验证。
834 1
linux centos上安装python3.11.x详细完整教程
|
7天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
18 4
|
11天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
26 1
|
1月前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
44 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
1月前
|
Linux Docker 容器
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
本篇博客重在讲解Centos安装docker,经博主多次在不同服务器上测试,极其的稳定,尤其是阿里的服务器,一路复制命令畅通无阻。
541 4
Centos安装docker(linux安装docker)——超详细小白可操作手把手教程,包好用!!!
|
1月前
|
存储 数据可视化 Java
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
如何在Linux系统下部署和运行Java项目jar包,包括传输文件到Linux、使用nohup命令运行jar包、查看端口状态、杀死进程和查看项目运行状态,以及如何解决“没有主清单属性”的错误。
414 1
震惊!如何在linux下部署项目,部署/运行jar包 超详细保姆级教程!
|
23天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
191 2
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
60 4
|
1月前
|
Linux C语言 C++
vsCode远程执行c和c++代码并操控linux服务器完整教程
这篇文章提供了一个完整的教程,介绍如何在Visual Studio Code中配置和使用插件来远程执行C和C++代码,并操控Linux服务器,包括安装VSCode、安装插件、配置插件、配置编译工具、升级glibc和编写代码进行调试的步骤。
195 0
vsCode远程执行c和c++代码并操控linux服务器完整教程
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】