创建文件我们知道用 命令 touch
创建文件夹我们用 mkdir
今天我们用mkdir 为例,盘一盘我们遇到不同情况时,要怎么去写这个命令,通过这个举例,培养大家写命令时有选项这个意识。
假设我们当前的路径在A文件夹里,A文件夹中已经有B文件夹,B文件夹里嵌套着C文件夹。这时我们想在C文件夹中创建一个D文件夹(ABC文件夹已存在)
那么我们该怎么做呢?
jizhi@jizhi-virtual-machine:~$ ls (显示当前目录下的内容)
223.txt 224.txt A Desktop 公共的 视频 文档 音乐
223.txt~ 224.txt~ ccc.txt examples.desktop 模板 图片 下载
jizhi@jizhi-virtual-machine:~$ cd A (把当前路径转到A文件夹内)
jizhii@jizhi-virtual-machine:~/A$ tree (查看A文件夹中的文件关系)
.
└── B
└── C
2 directories, 0 files
jizhii@jizhi-virtual-machine:~/A$ mkdir B/C/D (在当前路径下创建嵌套在C文件夹
下的D文件夹)
jizhii@jizhi-virtual-machine:~/A$ tree
.
└── B
└── C
└── D
3 directories, 0 files
对于这种情况我们只要输入命令 mkdir B/C/D 就成功了。
Q
如果我们想要在当前路径里的A文件夹里创建B文件夹,再在B文件夹中创建C文件夹,再在C文件夹中创建一个D文件夹(BC文件夹不存在) 那该怎么办?
有的同学还是用上面那条命令,发现行不通了。如下图所示:jizhi@jizhi-virtual-machine:~$ ls
223.txt 224.txt A Desktop 公共的 视频 文档 音乐
223.txt~ 224.txt~ ccc.txt examples.desktop 模板 图片 下载
jizhi@jizhi-virtual-machine:~$ cd A
jizhi@jizhi-virtual-machine:~/A$ tree (这条命令可以查看目录,以树的结构方式呈现)
.
0 directories, 0 files
jizhi@jizhi-virtual-machine:~/A$ mkdir B/C/D
mkdir: 无法创建目录"B/C/D": 没有那个文件或目录
那难道要一级一级mkdir的创建文件夹吗?未免太麻烦了。我们来看看这种情况命令要怎么写呢?这时候就要用到选项了,我们在第一弹中讲过 Linux的命令结构。
jizhi@jizhi-virtual-machine:~$ ls
223.txt 224.txt A Desktop 公共的 视频 文档 音乐
223.txt~ 224.txt~ ccc.txt examples.desktop 模板 图片 下载
jizhi@jizhi-virtual-machine:~$ cd A
jizhi@jizhi-virtual-machine:~/A$ mkdir B/C/D -p
jizhi@jizhi-virtual-machine:~/A$ tree
.
└── B
└── C
└── D
3 directories, 0 files
jizhiniuniuxiaohaihai@jizhiniuniuxiaohaihai-virtual-machine:~/A$
对于这种情况我们只要输入命令 mkdir B/C/D -p 就成功了。
总结:
当我们遇到自己熟悉的操作,写命令 却无法正确执行时,我们要去查一查这个命令的选项。在第一弹中提到的 --help 还有man的应用查询。那这里我给出mkdir查询的例子,供大家学习参考。
jizhi@jizhi-virtual-machine:~/A$ mkdir --help
用法:mkdir [选项]... 目录...
Create the DIRECTORY(ies), if they do not already exist.
Mandatory arguments to long options are mandatory for short options too.
-m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
-v, --verbose 每次创建新目录都显示信息
-Z, --context=CTX 将每个创建的目录的SELinux 安全环境设置为CTX
--help 显示此帮助信息并退出
--version 显示版本信息并退出
请向bug-coreutils@gnu.org 报告mkdir 的错误
GNU coreutils 的主页:
GNU 软件一般性帮助:
请向 报告mkdir 的翻译错误
要获取完整文档,请运行:info coreutils 'mkdir invocation'
jizhi@jizhi-virtual-machine:~/A$