`mkdir` 是一个用于在 Unix-like 操作系统中创建新目录(文件夹)的命令。`-p` 参数是 `mkdir` 命令的一个选项,它有以下含义:
- `-p`:这个参数告诉 `mkdir` 命令,如果指定的目录的父目录不存在,那么 `mkdir` 应该创建它们。换句话说,它允许递归地创建目录结构。
命令 `mkdir -p /usr/lib/jvm/java-11-openjdk-amd64` 的含义是:
- `mkdir`:创建新目录的命令。
- `-p`:递归地创建目录,如果父目录不存在,也会一并创建。
- `/usr/lib/jvm/java-11-openjdk-amd64`:这是要创建的目录路径。
这个命令尝试创建一个包含 `/usr/lib/jvm/` 路径的目录结构,其中 `/usr/lib/` 是系统库文件的存放位置,`jvm` 通常用于存放 Java 虚拟机(JVM)相关的文件,`java-11-openjdk-amd64` 表示这个目录是用于存放 OpenJDK 11 版本,适用于 64 位架构的 JVM 文件。
**举例说明**:
假设你当前的工作目录是 `/home/user`,并且你想要创建一个目录结构,路径为 `/usr/local/share/myapp/data`,其中 `/usr/local/share/` 是一个已经存在的目录,但是 `myapp` 和 `data` 目录还不存在。使用 `mkdir -p` 命令,你可以这样做:
mkdir -p /usr/local/share/myapp/data
这个命令会执行以下操作:
1. 检查 `/usr/local/share/myapp/` 目录是否存在。
- 如果不存在,`mkdir -p` 会先创建 `/usr/local/share/myapp/` 目录。
2. 然后检查 `/usr/local/share/myapp/data/` 目录是否存在。
- 如果不存在,`mkdir -p` 会创建 `/usr/local/share/myapp/data/` 目录。
使用 `-p` 参数的好处是,你不需要事先手动创建所有父目录,`mkdir` 命令会自动为你创建它们。如果没有使用 `-p` 参数,而父目录不存在,命令会失败,并显示错误消息,如 `mkdir: cannot create directory '/usr/local/share/myapp/data': No such file or directory`。