答案:使用 mkdir -p 可高效创建多层级目录,结合大括号扩展能批量创建;通过 -m 选项可直接设置权限,避免后续用 chmod 调整;常见错误如权限不足需用 sudo,路径不存在需加 -p,目录已存在可用 -p 避免报错。

mkdir
mkdir 目录名
说起
mkdir
my_project
mkdir my_project
mkdir
我个人最常用的,大概就是
-p
cd
mkdir
project/src/main/java
mkdir -p project/src/main/java
-p
project
cd project
src
另一个我偶尔会用到的选项是
-m
chmod
mkdir -m 700 secret_data
还有个
-v
mkdir
总的来说,
mkdir
mkdir
在我日常的工作中,无论是搭建新的开发环境,还是整理文件结构,创建多层级或批量目录都是一个非常常见的需求。如果一层层手动创建,那效率简直是灾难。这时候,
mkdir -p
举个例子,假设你正在为一个新的Web项目准备目录结构,你可能需要
public/css
public/js
src/controllers
src/views
public
src
public
css
js
src
controllers
views
有了
-p
mkdir -p public/{css,js} src/{controllers,views}这里我结合了 Bash 的 brace expansion(大括号扩展),这是一种非常强大的 Shell 特性,能让你以简洁的方式生成多个路径。
public/{css,js}public/css
public/js
public
src
public
src
mkdir -p
有时候,我也会用它来创建一系列按日期命名的日志目录,比如
logs/2023/10/26
-p
目录的权限管理在 Linux 系统中至关重要,它直接关系到文件的安全性和系统的稳定性。虽然我们通常会先创建目录,然后使用
chmod
mkdir
-m
默认情况下,
mkdir
umask
umask
777
umask
0022
755
777 - 022 = 755
但如果你想跳过
umask
-m
mkdir -m 权限模式 目录名
例如,我需要创建一个只能由我自己读写执行,其他人完全不能访问的目录,我会这样做:
mkdir -m 700 private_data
这里的
700
7
0
0
这确保了
private_data
mkdir -m 775 shared_docs
这比先创建再
chmod
umask
-m
mkdir
即使是像
mkdir
一个非常常见的错误就是“Permission denied”(权限不足)。当你尝试在一个你没有写入权限的父目录下创建新目录时,系统就会拒绝你的请求。比如,你可能尝试在
/opt
/usr/local
mkdir /opt/my_new_app # 可能会报错:mkdir: cannot create directory ‘/opt/my_new_app’: Permission denied
应对策略: 检查你是否有权限在目标路径下操作。如果没有,你需要切换到
root
sudo su -
sudo
mkdir
sudo mkdir /opt/my_new_app
但请记住,使用
sudo
另一个我常遇到的情况是忘记使用
-p
mkdir project/src/main # 如果project/src不存在,就会报错
应对策略: 简单地加上
-p
mkdir -p project/src/main
这会告诉
mkdir
还有一种情况是尝试创建一个已经存在的目录。默认情况下,
mkdir
mkdir my_folder mkdir my_folder # 报错:mkdir: cannot create directory ‘my_folder’: File exists
应对策略: 如果你确定要创建的目录可能已经存在,并且你只是想确保它存在而不想报错,那么
mkdir -p
理解这些常见错误和它们的解决方案,能帮助你更顺畅地使用
mkdir
以上就是Linux创建目录命令mkdir使用方式的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号