(二)文件管理-基础命令-mkdir命令的使用
文章目录
- 1. 命令格式
- 2. 基本用法
- 2.1 创建单个目录
- 2.2 同时创建多个目录
- 2.3 在指定路径创建目录
- 3. 高级用法
- 3.1 -p, --parents
- 3.2 -m, --mode=MODE
- 3.3 -v, --verbose
- 4.注意事项
- 4.1 目录已存在
- 4.2 权限不足
- 4.3 -m 选项的局限
- 4.4 空格和特殊字符
1. 命令格式
mkdir [OPTION]... DIRECTORY...
- [OPTION]: 一个或多个选项(可选)。选项通常以连字符 - 开头,用于修改命令的行为
- DIRECTORY: 一个或多个要创建的目录的名称(必填)。这意味着你可以同时创建多个目录,用空格分隔。
2. 基本用法
2.1 创建单个目录
# 在当前工作目录下创建一个名为 ‘documents’ 的目录
mkdir documents
2.2 同时创建多个目录
# 在当前目录下一次性创建 ‘photos’, ‘music’, ‘videos’ 三个目录
mkdir photos music videos
2.3 在指定路径创建目录
# 在 /home/user/ 路径下创建一个名为 ‘projects’ 的目录
# 注意:执行此命令的前提是 /home/user/ 这个路径必须已经存在
mkdir /home/user/projects
3. 高级用法
3.1 -p, --parents
- 功能:递归创建目录。即如果路径中的某些父目录不存在,系统会自动创建它们,而不会报错。这是最常用也是最重要的选项。
- 案例:
# 一次性创建嵌套的目录结构 ‘project/app/src/utils’
# 即使 ‘project’ 和 ‘app’ 等上级目录不存在,也会被自动创建
mkdir -p project/app/src/utils
3.2 -m, --mode=MODE
- 功能: 在创建目录时直接指定权限模式,而不是使用默认的权限(通常受 umask 影响)。这避免了先创建目录再使用 chmod 修改权限的繁琐步骤。
- 案例:
# 创建一个名为 ‘shared_folder’ 的目录,并直接赋予 777 权限
# (所有用户可读、写、执行)
mkdir -m 777 shared_folder# 创建一个只有所有者有完全权限,其他用户无任何权限的目录
mkdir -m 700 private_folder
3.3 -v, --verbose
- 功能: 显示详细操作信息。每当创建一个目录时,都会在终端输出一条提示。在脚本或复杂操作中用于确认命令执行结果。
- 案例:
# 使用 -v 选项,会看到每一步的创建反馈
mkdir -pv project/{src,docs,test}/{main,backup}
# 输出可能如下:
# mkdir: created directory 'project'
# mkdir: created directory 'project/src'
# mkdir: created directory 'project/src/main'
# ... (以此类推)
4.注意事项
4.1 目录已存在
如果你试图创建一个已经存在的目录,mkdir 会报错:
mkdir: cannot create directory ‘dir_name’: File exists
使用 -p 选项可以避免这个错误,因为它不会对已存在的目录做任何操作
4.2 权限不足
如果你没有在目标位置(如/usr/local)创建目录的写权限,命令会失败并提示 Permission denied。此时需要使用 sudo 来获取权限(sudo mkdir …)
4.3 -m 选项的局限
mkdir -m 只能设置它正在创建的那一级目录的权限。对于使用 -p 选项同时创建的父目录,它们的权限由系统的 umask 设置决定
4.4 空格和特殊字符
如果目录名包含空格或特殊字符(如 !, $, &),必须用单引号 ‘ ’ 或双引号 “ ” 将其括起来,或者使用反斜杠 \ 进行转义
mkdir "my photos"
mkdir project\ backup