Linux mkdir 命令详细教程

一、mkdir 命令的基本功能
  • mkdir(Make Directory)是 Linux 系统中用于创建新目录(文件夹)的基础命令。
  • 它支持一次性创建单个或多个目录,以及递归创建多层目录结构,是文件系统操作中最常用的命令之一。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7
二、mkdir 命令的语法格式
mkdir [选项] 目录名 [目录名...]
  • 常用选项
    • -p(–parents):递归创建目录,若父目录不存在则自动创建。
    • -m(–mode):创建目录时指定权限(如 -m 755)。
    • -v(–verbose):显示创建目录的详细过程。
    • --help:显示命令帮助信息。
    • --version:显示命令版本信息。
三、mkdir 命令的使用场景与示例
1. 创建单个目录
# 示例1:在当前目录创建名为 "test" 的目录  
mkdir test  # 示例2:在指定路径创建目录(需确保父目录存在)  
mkdir /home/user/project/data  
  • 输出:无提示,若目录已存在则报错 mkdir: 无法创建目录‘test’:文件已存在
2. 递归创建多层目录(-p 选项)
# 场景:创建目录树 "project/src/main/java",若父目录不存在则自动创建  
mkdir -p project/src/main/java  # 等价于依次执行:  
# mkdir project  
# mkdir project/src  
# mkdir project/src/main  
# mkdir project/src/main/java  
  • 说明-p 选项避免了手动逐层创建目录的繁琐,尤其适合构建项目结构。
3. 创建目录时指定权限(-m 选项)
# 示例1:创建目录并设置权限为 755(所有者可读可写可执行,其他用户可读可执行)  
mkdir -m 755 logs  # 示例2:创建目录并设置权限为 644(所有者可读可写,其他用户可读)  
mkdir -m 644 documents  
  • 权限说明:权限值用三位八进制数表示,每位对应 所有者其他用户 的权限(r=4, w=2, x=1)。
4. 一次性创建多个目录
# 示例:同时创建 "src"、"docs"、"test" 三个目录  
mkdir src docs test  # 结合 -p 递归创建多个目录树  
mkdir -p project/{src,docs,test}/img  
  • 说明:使用大括号 {} 可简化多个目录的创建(需 shell 支持,如 bash)。
5. 显示创建过程(-v 选项)
mkdir -v new_dir  
# 输出:创建目录 "new_dir"  
  • 场景:当批量创建目录时,通过 -v 确认操作是否成功。
四、mkdir 命令的权限与安全注意事项
  1. 权限限制

    • 只能在有权限的目录下创建新目录(通常需要对父目录有 w 权限)。
    • 根目录(/)下创建目录需使用 sudo
      sudo mkdir /data/backup  
      
  2. 默认权限与 umask

    • 新创建目录的默认权限由 umask 决定(默认 022),实际权限为 777 - umask
    • 示例:若 umask022,则默认权限为 755rwxr-xr-x)。
    • 查看当前 umaskumask,临时修改:umask 077(修改后新目录权限为 700)。
  3. 避免同名文件冲突

    • 若目录名与已有文件重名,mkdir 会报错,需先删除文件或重命名。
五、高级用法:结合其他命令使用
  1. touch 配合创建项目文件结构

    mkdir -p project/{src,docs,test}  
    touch project/src/main.py project/test/test.py  
    
  2. 在脚本中动态创建目录

    # 脚本示例:根据日期创建备份目录  
    DATE=$(date +%Y%m%d)  
    mkdir -p backups/$DATE  
    cp important.file backups/$DATE/  
    
  3. 使用通配符创建批量目录

    # 创建以月份命名的目录:month_01, month_02, ..., month_12  
    mkdir month_{01..12}  
    
六、常见错误与解决方案
错误信息原因解决方案
mkdir: 无法创建目录‘dir’:权限不够无父目录写入权限使用 sudo 或切换到有权限的用户
mkdir: 无法创建目录‘dir’:文件已存在同名文件或目录已存在重命名目录或删除已有文件
mkdir: 无法创建目录‘/path/to/dir’:没有那个文件或目录父目录不存在且未用 -p添加 -p 选项递归创建
七、扩展:创建目录的其他方式
  1. 使用 cp 命令复制目录结构

    cp -r template_dir new_project  # 复制目录及其内容  
    
  2. 使用 tree 命令查看目录结构(需先安装)

    sudo apt install tree  # Debian/Ubuntu  
    tree project  # 查看 project 目录的层级结构  
    
八、总结

mkdir 命令是 Linux 文件操作的基础,熟练掌握 -p-m 选项可大幅提升目录管理效率。在实际使用中,建议:

  • 复杂目录结构优先使用 -p 递归创建;
  • 重要目录通过 -m 显式设置权限;
  • 结合通配符、脚本实现批量操作。
    通过合理使用 mkdir,可高效构建项目目录、管理文件结构,避免因路径或权限问题导致的操作失误。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87117.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87117.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/87117.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django 数据迁移全解析:makemigrations migrate 常见错误与解决方案

1. 迁移机制与底层原理 在 Django 中,ORM(Object-Relational Mapping)是连接模型(Model)和数据库结构的桥梁。Django 鼓励开发者通过编写 Python 类(模型)来定义业务数据结构,而不是…

SuperGlue:使用图神经网络学习特征匹配

摘要 本文提出了 SuperGlue,一种神经网络,用于通过联合寻找对应关系并排除不可匹配点来匹配两组局部特征。匹配结果通过求解一个可微的最优传输问题来估计,该问题的代价由一个图神经网络预测。我们引入了一种基于注意力的灵活上下文聚合机制…

ssh -T git@github.com失败后解决方案

这个错误表示你的 SSH 连接无法到达 GitHub 服务器。以下是详细解决方案,按照优先级排序: 首选解决方案:使用 SSH over HTTPS(端口 443) 这是最有效的解决方案,因为许多网络会阻止 22 端口: …

从苹果事件看 ARM PC市场的未来走向

最近,苹果宣布部分搭载 Intel 处理器的 Mac 不再支持最新的 macOS 系统更新,这一消息犹如一颗石子投入平静湖面,激起层层涟漪。它不仅让 Intel 芯片在 Mac 产品线上彻底成为历史,也促使我们重新审视 PC 行业的发展脉络&#xff0c…

vue + element ui 实现超出宽度展示..,鼠标移入显示完整内容

vue element ui 实现超出宽度展示…&#xff0c;鼠标移入显示完整内容 代码理念&#xff1a; 当高度大于对应行数的高度 则说明需要展示"…" 子组件 <template><div class"tooltip"><div ref"tooltipRef" :class"[tooltip…

HarmonyOSNext应用无响应全解析:从机制到实战的卡死问题排查

HarmonyOSNext应用无响应全解析&#xff1a;从机制到实战的卡死问题排查 ##Harmony OS Next ##Ark Ts ##教育 本文适用于教育科普行业进行学习&#xff0c;有错误之处请指出我会修改。 喂喂喂&#xff01;应用卡成PPT了&#xff1f;点啥都没反应&#xff1f;别慌&#xff01…

git 迁移之获取原库所有分支

以下是一个安全的 Bash 脚本&#xff0c;用于将远程 Git 仓库的所有分支检出到本地&#xff08;自动跳过已存在的分支&#xff09;&#xff1a; #!/bin/bash# 获取所有远程分支&#xff08;排除 HEAD&#xff09; remote_branches$(git branch -r | grep -v HEAD\|->)# 循环…

设计模式 | 适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09; 是结构型设计模式中的连接器大师&#xff0c;它允许不兼容接口的类能够协同工作。本文将深入探索适配器模式的核心思想、实现技巧以及在C中的高效实践&#xff0c;解决现实开发中的接口兼容性问题。 为什么需要适配器模式 …

RTL 级机器人电机控制器的 FPGA 设计

借助Verilog&#xff0c;在FPGA中实现了带编码器的两台电机的电机控制系统的RTL级设计。 介绍 借助硬件描述语言 (HDL) Verilog 和 AMD Vivado 设计套件&#xff0c;在 AMD Spartan-7 FPGA 中实现带编码器的两个电机的控制器系统的 RTL 设计。 在这个项目中&#xff0c;使用了搭…

4_Flink CEP

Flink CEP 1、何为CEP&#xff1f; CEP&#xff0c;全称为复杂事件处理&#xff08;Complex Event Processing&#xff09;&#xff0c;是一种用于实时监测和分析数据流的技术。 CEP详细讲解&#xff1a; CEP是基于动态环境的事件流的分析技术&#xff0c;事件是状态变化&am…

容器基础知识2-K8s 和 Docker 的关系与管理逻辑详解

K8s 和 Docker 的关系与管理逻辑详解 一、先搞懂&#xff1a;Docker 和 K8s 分别是做什么的&#xff1f; Docker&#xff08;容器工具&#xff09;&#xff1a;好比「集装箱工厂」&#xff0c;负责把应用和依赖打包成标准化容器&#xff08;类似集装箱&#xff09;&#xff0…

QT MaintenanceTool 登录无法找到 QtAccount 凭据

亲测有效&#xff1a;QT6 Maintenance Tool 登录问题_qt6 maintenancetool-CSDN博客 将ini这个配置文件移出文件夹后&#xff0c;在切换自己账户登录即可

华为云Flexus+DeepSeek征文|利用华为云一键部署 Dify 平台并接入 DeepSeek 大模型,构建长篇文章生成助手

目录 前言 1 华为云一键部署 Dify 平台 1.1 华为云 Dify 平台介绍 1.2 部署过程介绍 1.3 登录 Dify 平台 2 接入华为云 ModelArts Studio 中的 DeepSeek 大模型 3 构建长篇文章生成助手 3.1 简要介绍长篇文章生成助手 3.2 开始节点 3.3 生成标题和大纲&#xff08;LL…

js的一些基础概念总结

1.变量声明 首先js变量声明有三种&#xff0c;var&#xff0c;const&#xff0c;let&#xff0c;这三种变量声明中我们第一优先使用const&#xff0c;需要改变这个值的时候我们用ley&#xff0c;var是尽量不去使用。 那么我们现在来总结一下三种声明变量的区别。首先是var let …

防 XSS和CSRF 过滤器(Filter)

会话管理存在问题&#xff1a; 1.服务集群部署或者是分布式服务如何实现会话共享 2.会话的不同存储地方的安全性问题 答&#xff1a; 会话共享 可以使用后端集中管理(redis)或者客户端管理 &#xff08;jwt&#xff09;&#xff1b; 存储安全性 这个还真的没有太好的方式&…

鸿蒙容器组件 WaterFlow、FlowItem解析:动态瀑布流布局实践

一、引言&#xff1a;不规则布局的智能化解决方案 在图片社交、电商导购、资讯聚合等现代应用场景中&#xff0c;瀑布流布局以其灵活的空间利用率和自然的视觉流动感成为界面设计的重要选择。鸿蒙提供的 WaterFlow 与 FlowItem 组件&#xff0c;通过智能布局算法与声明式语法&…

概率密度基本概念

概率密度&#xff08;Probability Density&#xff09;是概率论中用于描述随机变量分布的一种方式&#xff0c;特别适用于连续随机变量。它并不是一个概率值&#xff0c;而是表示单位范围内的概率大小或“浓度”。更具体地说&#xff0c;概率密度表示在某个特定值附近&#xff…

10-1 MySQL 索引优化与查询优化

10-1 MySQL 索引优化与查询优化 文章目录 10-1 MySQL 索引优化与查询优化1. 数据准备2. 索引失效案例2.1 索引字段&#xff1a;全值匹配最优2.2 索引字段&#xff1a;最佳左前缀法则2.3 主键插入顺序2.4 索引字段进行了&#xff1a;计算、函数、类型转换(自动或手动)导致索引失…

基于目标驱动的分布式敏捷开发

研究结论 风险对项目目标的影响 时间目标&#xff1a;需求管理不当&#xff08;如需求优先级不明确、多产品负责人需求冲突&#xff09;、架构变更导致的返工、跨站点协调问题&#xff08;如第三方依赖、通信基础设施不足&#xff09;是影响项目时间的主要风险因素。质量目标&…

高通手机跑AI系列之——穿衣试装算法

环境准备 手机 测试手机型号&#xff1a;Redmi K60 Pro 处理器&#xff1a;第二代骁龙8移动--8gen2 运行内存&#xff1a;8.0GB &#xff0c;LPDDR5X-8400&#xff0c;67.0 GB/s 摄像头&#xff1a;前置16MP后置50MP8MP2MP AI算力&#xff1a;NPU 48Tops INT8 &&…