终端基础:在 Linux 终端中创建目录
创始人
2024-03-02 14:41:02
0

在终端基础系列的 上一章 中,你学到了在 Linux 命令行中改变文件夹的知识。

我在最后给出了一个练习,简单地提到了创建目录。

在本系列的这一部分,我将讨论如何使用 mkdir 命令在 Linux 命令行中建立新的文件夹。

mkdir dir_name

mkdir 是 “ 创建目录 make directories ” 的简称。让我们来看看这个命令的使用情况。

? 如果你不知道,文件夹在 Linux 中被称为目录。

在 Linux 中创建一个新目录

你现在应该已经熟悉了 Linux 中绝对路径和相对路径的概念。如果没有,请参考 本教程

如果你的系统还没有打开终端,请打开它。通常情况下,你从主目录(/home/username)开始。但为了本教程和回忆一些事情,我假定你不在你的主目录中。

所以,先换到你的主目录:

cd

是的,如果你简单地输入 cd,没有任何选项和参数,它就会把你带到你的主目录。你也可以使用 cd ~ 等方法。

在这里,建立一个新的目录,叫做 practice

mkdir practice

你能切换到这个新建立的 practice 目录吗?

cd practice

很好!现在你有了一个专门的文件夹,你将在这里练习本系列中的 Linux 命令行教程。

Example of making new directory in Linux

创建多个新目录

你刚刚创建了一个新的目录。如果你要创建不止一个呢?比方说,有三个。

你可以对每个目录连续使用三次 mkdir 命令。这将会起作用。然而,这并不是真的需要。你可以像这样同时创建多个目录来节省时间和精力:

mkdir dir1 dir2 dir3

请继续这样做吧。你可以列出 practice 目录的内容,查看所有新创建的目录。以后会有更多关于 ls 命令的内容。

Create multiple new directories in Linux with mkdir command

? 你不能在同一地方有两个同名的文件夹或文件。

创建多个嵌套的子目录

你现在知道了一次创建多个目录的方法。

但是,如果你要创建一个嵌套的目录结构呢?比方说,你需要在 dir1 里面的 subdir1 里面创建一个目录 subdir2

dir1/subdir1/subdir2

这里的问题是 subdir1 并不存在。所以如果你尝试 mkdir dir1/subdir1/subdir32,你会得到一个错误:

abhishek@itsfoss:~/practice$ mkdir dir1/subdir1/subdir2
mkdir: cannot create directory ‘dir1/subdir1/subdir2’: No such file or directory

如果你不知道的话,你会选择 mkdir dir1/subdir1,然后运行 mkdir dir1/subdir2。这将会起作用。然而,有一个更好的方法。

你使用 -p 选项,它会在需要时创建父目录。如果你运行下面的命令:

mkdir -p dir1/subdir1/subdir2

它将创建 subdir1,然后在 subdir1 里面创建 subdir2

? 不是命名惯例,但最好在文件和目录名中避免空格。使用下划线或破折号代替,因为处理文件/目录名中的空格需要额外精力。

测试你的知识

这是一个相当简短的教程,因为 mkdir 命令只有几个选项。

现在,让我给你一些实践练习,以利用你先前创建的 practice 目录。

  • 不进入 dir2 目录,在其中创建两个新的子目录。
  • 不进入 dir3 目录,创建两级嵌套子目录(subdir1/subdir2
  • 进入 dir2 目录。在这里,在你的主目录下创建一个名为 temp_stuff 的目录。不要担心,我们将在本系列教程的后面删除它。
  • 回到父目录 practice,尝试创建一个名为 dir3 的目录。你看到一个错误。你能用 -p 选项使它消失吗?

你可以 在社区论坛讨论这个练习

在终端基础系列的下一章中,你将学习如何用 ls 命令列出一个目录的内容。

如果你有问题或建议,请告诉我。


via: https://itsfoss.com/make-directories/

作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

遍历目录数组并以特殊方式对...
假设我们有一个数组dirs,包含要创建的所有目录名称。我们可以使用...
2024-12-03 22:30:37
ANRonmkdirs()...
这个问题通常在Android应用中使用mkdirs()或exist...
2024-11-05 09:31:56
Android设备上使用S...
确认设备是否已经root,并且Superuser已经正常安装和授权...
2024-10-10 09:30:44
Android的mkdir...
在Android中,mkdir()方法无法在可移动微型SD卡的根目...
2024-10-07 07:32:37
Argo工作流等待容器失败...
这个问题通常是因为等待容器与Argo Workflow容器在同一节...
2024-09-13 04:31:50
Argo工作流等待容器失败...
这个错误通常出现在使用kubernetes环境的时候,因为Kube...
2024-09-13 04:30:24

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...