Skip to main content

Linux 核心命令

文件和目录管理命令 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 文件系统通常是大小写敏感的,MyFoldermyfolder 是两个不同的目录,创建时注意区分。