Linux新建文件夹核心命令为mkdir,基础用法中,mkdir dir创建单文件夹,mkdir -p dir1/dir2可递归创建多级目录,进阶方面,-m选项设置权限,如mkdir -m 755 newdir;批量创建时,mkdir -p dir/{sub1,sub2}能同时生成主目录及子目录;结合{}实现复杂嵌套结构,提升效率,掌握这些用法可灵活应对文件管理需求。
在Linux系统中,文件夹(目录)是文件组织的基本单元,无论是日常操作还是脚本编写,新建文件夹都是高频需求,本文将详细介绍Linux中新建文件夹的核心命令及其用法,帮助新手快速掌握,也为进阶用户提供实用技巧。
核心命令:mkdir(make directory)
mkdir是Linux系统中用于创建目录(文件夹)的专用命令,名称来源于"make directory",它是文件操作中最基础、最常用的命令之一,几乎所有Linux发行版都默认支持。
基本语法
mkdir [选项] 目录名
- 选项:用于控制命令的行为(如创建多级目录、设置权限等),可选参数。
- 目录名:要创建的文件夹名称,可以是相对路径(如
test、./dir)或绝对路径(如/home/user/test)。
最常用场景:创建单个目录
如果只需要在当前路径下创建一个文件夹,直接指定目录名即可:

mkdir my_folder
执行后,当前路径下会生成名为my_folder的文件夹,在/home/user目录下执行此命令,会创建/home/user/my_folder。
进阶用法:创建多级目录(嵌套目录)
如果需要创建多层嵌套的目录(如a/b/c),直接使用mkdir会报错(因为父目录a或b不存在):
mkdir a/b/c # 报错:mkdir: cannot create directory 'a/b/c': No such file or directory
此时需要加上-p(或--parents)选项,表示"自动创建所需的父目录":
mkdir -p a/b/c
-p选项会递归创建所有不存在的父目录,避免报错,非常实用,执行后会依次创建a、a/b、a/b/c三个目录层级。
设置目录权限:-m选项
Linux中,新创建的目录默认权限是755(所有者可读/写/执行,组用户和其他用户可读/执行),如果需要自定义权限,可以使用-m(或--mode)选项,权限格式为八进制数字(如755、700等)。
创建一个只有所有者可读/写/执行、其他用户无权限的目录:
mkdir -m 700 private_dir
执行后,private_dir的权限为700(rwx------),确保安全性。
显示创建过程:-v选项
如果需要查看mkdir命令的创建详情(尤其是创建多级目录时),可以加上-v(或--verbose)选项,它会逐行显示创建的目录路径:
mkdir -v -p a/b/c
输出示例:
mkdir: created directory 'a'
mkdir: created directory 'a/b'
mkdir: created directory 'a/b/c'
避免覆盖已存在目录:-i选项
如果目标目录已存在,直接使用mkdir会报错(除非使用-p),如果希望交互式提示(避免误删),可以使用-i(或--interactive)选项:
mkdir -i existing_dir
如果existing_dir已存在,命令会提示:
mkdir: cannot create directory 'existing_dir': File exists
Override? (y/n) # 输入y覆盖,n取消
其他相关命令(间接创建目录)
虽然mkdir是新建目录的首选,但在某些场景下,其他命令也能间接实现创建目录的功能,了解这些可以应对复杂需求。
cp(复制)命令:复制目录时创建新目录
使用cp复制目录时,如果目标路径不存在,会自动创建新目录(本质依赖mkdir)。
cp -r /path/to/source_dir /path/to/new_dir
-r表示递归复制,执行后会在/path/to/下创建new_dir,并将source_dir复制进去。
mv(移动/重命名)命令:移动目录时创建新路径
mv命令可以移动目录到新位置,如果目标路径的父目录不存在,会自动创建(但目标目录本身不能已存在):
mv old_dir /path/to/new_parent_dir/
如果/path/to/new_parent_dir不存在,mv会自动创建它,再将old_dir移动进去。
install命令:安装文件并创建目录
install命令通常用于安装文件,但也可以通过-d选项创建目录(功能类似mkdir -p):
install -d /path/to/new_dir
-d选项让install以目录模式运行,不会处理文件,仅创建目录。
常见问题与注意事项
权限不足怎么办?
如果当前用户对目标路径没有写权限,mkdir会报错(如Permission denied),此时需要切换到有权限的用户(如sudo):
sudo mkdir -p /root/protected_dir
目录名含空格或特殊字符怎么办?
如果目录名包含空格、、等特殊字符,需要用引号包裹,避免命令解析错误:
mkdir "my folder" # 创建含空格的目录 mkdir "test@dir" # 创建含特殊字符的目录
如何批量创建多个目录?
如果需要一次性创建多个目录,直接在命令中列出多个目录名,用空格分隔:
mkdir dir1 dir2 dir3
也可以结合通配符(如)批量创建:
mkdir dir_{1..5} # 创建dir1、dir2、dir3、dir4、dir5
在Linux中,mkdir是新建文件夹的核心命令,掌握其常用选项(-p、-m、-v等)可以满足绝大多数场景需求,对于多级目录创建,-p选项不可或缺;对于权限控制,-m选项能精准设置;对于调试或确认操作,-v选项提供详细反馈。cp、mv等命令也能间接实现目录创建,但mkdir始终是最直接、最高效的选择。
无论是新手入门还是日常运维,熟练使用

