文件和目录管理命令 mkdir
mkdir 是 Linux 中用来创建目录的命令,全称是 make directory。
1. 创建单个目录
最简单的用法就是直接用 mkdir 创建一个目录。比如你想创建一个叫 "my_folder" 的文件夹:
mkdir my_folder
运行后,当前目录下就会出现一个叫 "my_folder" 的文件夹。你可以用 ls
命令看看是不是真的创建成功了:
ls
如果目录已经存在,mkdir 会报错,提示目录已存在。
2. 创建多个目录
想一次创建好几个文件夹?没问题!mkdir 支持一次性创建多个目录,只要把目录名用空格隔开就行。比如:
mkdir folder1 folder2 folder3
这行命令会创建三个文件夹:folder1、folder2 和 folder3 !
3. 创建嵌套目录:-p 选项
有时候你需要创建的目录是嵌套的,比如 project/src/utils
。如果你直接跑:
mkdir project/src/utils
如果 project 和 src 目录不存在,mkdir 会报错,告诉你父目录不存在。这时候,-p
选项(全称 --parents)就派上用场了!它会自动创建所有需要的父目录:
mkdir -p project/src/utils
运行后,project、src、utils 都会被创建好,层层嵌套!即使某些目录已经存在,-p
也不会报错,直接跳过已存在的部分。
4. 设置目录权限:-m 选项
想在创建目录时直接设置权限?用 -m
选项(全称 --mode)可以搞定!比如你想创建一个权限是 755 的目录(拥有者可读写执行,其他人可读可执行):
mkdir -m 755 my_secure_folder
可以用 ls -l
检查权限:
ls -l
你会看到类似 drwxr-xr-x
的输出,说明权限设置成功。权限值用的是 chmod 命令的数字表示法,比如 755、644 这种。如果不加 -m
,新目录默认会继承父目录的权限(通常是 755 或 775,取决于 umask 设置)。
5. 显示创建过程:-v 选项
如果你想确认 mkdir 到底干了啥,可以加 -v
选项(全称 --verbose),它会打印每一步的操作信息。比如:
mkdir -v new_folder
输出会是:
mkdir: created directory 'new_folder'
如果结合 -p
创建嵌套目录,-v
会把每一级目录的创建过程都告诉你:
mkdir -p -v project/src/utils
输出可能是:
mkdir: created directory 'project'
mkdir: created directory 'project/src'
mkdir: created directory 'project/src/utils'
这对调试或确认目录结构很有用!
6. 常见问题和注意事项
- 目录名有空格怎么办? 如果目录名包含空格,记得用引号包起来,比如:
mkdir "my new folder"
- 遇到权限问题? 如果提示 "Permission denied",说明你对当前目录没有写权限。可以用
ls -ld .
检查当前目录权限,或者用sudo mkdir
提升权限(但小心使用 sudo)。 - 目录已存在怎么办? 默认情况下,mkdir 不会覆盖已有目录,只是报个错。如果你用
-p
,它会直接跳过已存在的目录,不报错。 - 大小写敏感:Linux 文件系统通常是大小写敏感的,
MyFolder
和myfolder
是两个不同的目录,创建时注意区分。