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

Linux基本指令篇 —— mkdir指令

   mkdir是Linux和Unix-like系统中用于创建目录的基本命令,全称为"make directory"。下面将详细介绍这个命令的用法、选项和实际应用。

目录

一、基本语法

二、基本用法

创建单个目录

创建多个目录

三、常用选项

-p 或 --parents

-m 或 --mode

-v 或 --verbose

四、高级用法

创建带有空格或特殊字符的目录

结合大括号扩展创建多个相似目录

在脚本中使用mkdir

五、实际应用示例

创建项目目录结构

创建带权限的目录

创建多层目录并显示详细信息

六、注意事项

默认情况下,如果目录已存在,mkdir会报错

普通用户只能在有写权限的目录中创建子目录

使用-p选项时,如果路径中某些组件已存在且不是目录,会报错

目录名区分大小写

七、查看帮助


一、基本语法

mkdir [选项] 目录名...

二、基本用法

  1. 创建单个目录

    mkdir dirname

    这会在当前工作目录下创建一个名为dirname的新目录。

  2. 创建多个目录

    mkdir dir1 dir2 dir3

    这会同时创建三个目录:dir1、dir2和dir3。


三、常用选项

  1. -p 或 --parents

    • 递归创建目录,即如果上级目录不存在则一并创建

    • 不会报错如果目录已存在

      mkdir -p path/to/new/directory

            这个命令会创建完整的目录路径(注意:此处的路径也可以是相对路径。),即使中间的pathto目录不存在。(我们可以使用ls 命令的 -R 选项(递归列出目录内容)用于 递归显示目录及其所有子目录中的文件,即不仅显示当前目录下的文件,还会深入遍历所有子目录并列出它们的内容。)

  2. -m 或 --mode

    • 设置目录的权限模式(类似chmod)

      mkdir -m 755 restricted_dir

    这会创建一个权限为755(rwxr-xr-x)的目录(第一列数据表示为文件类型和相关权限,关于权限相关知识会在后面讲解)。

  3. -v 或 --verbose

    • 显示每个创建的目录信息

      mkdir -v newdir

      输出示例:


四、高级用法

  1. 创建带有空格或特殊字符的目录

    mkdir "my directory"

    或者使用转义字符:

    mkdir my\ directory

  2. 结合大括号扩展创建多个相似目录

    mkdir dir_{1..5}

    这会创建dir_1, dir_2, ..., dir_5五个目录。

  3. 在脚本中使用mkdir

    if [ ! -d "./path/to/dir" ]; thenmkdir -p "./path/to/dir"
    fi

    这个脚本片段会先检查目录是否存在,若存在就什么都不做,而不存在才创建。因为之前有一个path目录,我们就进去观察新建目录的变化。


五、实际应用示例

  1. 创建项目目录结构

    mkdir -p project/{src,doc,bin,lib,test}

    这会创建一个project目录,并在其中创建src, doc, bin, lib, test五个子目录。

  2. 创建带权限的目录

    mkdir -m 700 private_dir

    创建一个只有所有者有完全权限的目录。

  3. 创建多层目录并显示详细信息

    mkdir -pv backup/2023/{jan,feb,mar}/images

    这会创建完整的目录结构并显示每个创建步骤。如果看不懂花括号的意思,下面解释一下:


六、注意事项

  1. 默认情况下,如果目录已存在,mkdir会报错

  2. 普通用户只能在有写权限的目录中创建子目录

  3. 使用-p选项时,如果路径中某些组件已存在且不是目录,会报错

  4. 目录名区分大小写


七、查看帮助

要了解更多关于mkdir的信息,可以使用:

man mkdir

使用该指令后,则进入使用手册: 

 

mkdir --help

http://www.lqws.cn/news/442387.html

相关文章:

  • linux 非root 非sudo 如何安装软件
  • 基于Geotools的两条道路相交并根据交点形成新路线实战-以OSM数据为例
  • 微信小程序传参过来了,但是数据没有获取到
  • 编码规则设计唯一编码
  • 基于Spring Boot+Vue的“暖寓”宿舍管理系统设计与实现(源码及文档)
  • YunParking路内停车源码追缴分成机制设计与技术实现​
  • docker使用技巧之把扩展卷命名变成有意义
  • AWS Security Hub邮件告警设置
  • 计算机网络:(四)物理层的基本概念,数据通信的基础知识,物理层下面的传输媒体
  • 系统思考:结构影响行为
  • 基于 LLM 的网络钓鱼网站检测多代理框架
  • WEB安全--WAF的绕过思路
  • Singularity 安装
  • 浏览器标题闪烁功能
  • python形成性考核管理系统
  • 2023年蓝桥杯青少第十四届蓝桥杯Scratch省赛中级组真题——小狗避障
  • webpack和vite对比解析(AI)
  • OpenCV 图像直方图
  • 中泰制造企业组网新方案:中-泰企业国际组网专线破解泰国工厂访问国内 OA/ERP 卡顿难题
  • 【世纪龙科技】智能网联汽车自动驾驶虚拟实训软件
  • 【鸿蒙HarmonyOS Next App实战开发】​​​​ArkUI纯色图生成器
  • Linux中Ansible常用模块
  • 【油藏地球物理正演软件ColchisFM】为什么经常用90度相移处理代替反演使用
  • PostgreSQL的扩展dict_int
  • 【AI作画】第2章comfy ui的一般输入节点,文本框的类型和输入形式
  • Postman 的 Jenkins 管理 - 自动构建
  • 通俗解释:编码器与解码器
  • 系统性能优化-3 内存池
  • uni-app项目实战笔记15--使用uni-popup实现弹出层和uni-rate实现评分效果
  • 【python】多次重试调用ai大模型