当前位置: 首页 > ai >正文

(二)文件管理-基础命令-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
http://www.xdnf.cn/news/19800.html

相关文章:

  • Linux应用(1)——文件IO
  • 部署jenkins并基于ansible部署Discuz应用
  • 嵌入式|RTOS教学——FreeRTOS基础3:消息队列
  • Unity之Spine动画资源导入
  • 小游戏公司接单难?这几点原因与破局思路值得看看
  • 聚焦诊断管理(DM)的传输层设计、诊断服务器实现、事件与通信管理、生命周期与报告五大核心模块
  • RTSP流端口占用详解:TCP模式与UDP模式的对比
  • 面向深层语义分析的公理化NLP模型:理论可行性、关键技术与应用挑战
  • 大语言模型领域最新进展
  • 如何将JPG图片批量转为PDF?其实可用的方法有很多种
  • TC-2024《Fuzzy Clustering guided by Spectral Rotation and Scaling》
  • shell-awk命令详解(理论+实战)
  • 通过IDEA写一个服务端和一个客户端之间的交互
  • 解决通过南瑞加密网关传输文件和推送视频的失败的问题
  • PyTorch 面试题及详细答案120题(116-120)-- 综合应用与实践
  • 专项智能练习(音频基础)
  • 水泵运行组态监控系统御控物联网解决方案
  • 基于SpringBoot的旅游管理系统
  • 03 - HTML常用标签
  • Nano Banana 的 100 种用法 - AI 图像生成完整提示词宝典
  • 超低延迟RTSP播放器的技术挑战与跨平台实现之道
  • 【GitOps】Argo CD部署应用程序
  • 嵌入式|RTOS教学——FreeRTOS基础2:任务调度
  • 【mac】如何在 macOS 终端中高效查找文件:五种实用方法
  • 怀古感今慎独自省慎思
  • 中科米堆CASAIM自动化三维测量设备测量汽车零部件尺寸质量控制
  • 安全、计量、远程控制,多用途场景下的智慧型断路器
  • 超10公里远距离图传模块——开启无线影像传输新纪元
  • 写好 Prompt 的 12 条实践经验
  • 目标检测定位损失函数:Smooth L1 loss 、IOU loss及其变体