你想在Linux中创建指定目录并直接进入该目录,有两种常用实现方式,分别适用于快速操作和脚本编写/严谨场景,具体如下:
一、快捷方式:一行命令直接创建并进入(最常用)
通过 && 连接 mkdir(创建目录)和 cd(进入目录)命令,实现"创建即进入",无需分步操作,语法和示例如下:
基本语法
bash
mkdir 目标目录路径 && cd 目标目录路径
常用示例
-
创建当前目录下的子目录并进入
bash# 创建 test 目录,然后进入 test 目录 mkdir test && cd test # 创建多层级子目录(如 dir1 下的 dir2)并进入最内层 mkdir -p dir1/dir2 && cd dir1/dir2 -
创建绝对路径目录并进入
bash# 创建 /home/user/app 目录,然后进入该目录 mkdir -p /home/user/app && cd /home/user/app
关键说明
&&:表示"前一个命令执行成功后,再执行后一个命令"(若目录创建失败,不会执行进入操作,避免报错)-p:可选参数,用于创建多层级目录 (如dir1/dir2),若目录已存在也不会报错,更安全实用
二、严谨方式:先判断目录是否存在,再创建并进入(适合脚本)
若在Shell脚本中使用,或需要避免"目录已存在"的提示,可先通过 if [ ! -d "目录路径" ] 判断目录是否不存在,再执行创建和进入操作,语法如下:
基本语法(脚本/手动执行均可)
bash
# 定义目标目录路径(可替换为自己的目录)
target_dir="你的目录路径"
# 判断目录是否不存在,不存在则创建,最后进入目录
if [ ! -d "$target_dir" ]; then
mkdir -p "$target_dir"
fi
cd "$target_dir"
示例
bash
# 目标目录:~/Downloads/project
target_dir="~/Downloads/project"
if [ ! -d "$target_dir" ]; then
mkdir -p "$target_dir"
fi
cd "$target_dir"
关键说明
[ ! -d "$target_dir" ]:判断条件,!表示"非",-d表示"判断是否为目录",整体意为"如果目标目录不存在"- 该方式不会因"目录已存在"而抛出
mkdir: cannot create directory: File exists提示,更适合自动化脚本
三、补充技巧
-
创建并进入多层目录(必加
-p)
若直接创建a/b/c这种多层目录,不加-p会报错,必须搭配-p参数:bashmkdir -p a/b/c && cd a/b/c -
验证是否成功进入
进入目录后,可通过pwd命令查看当前工作目录,确认是否在目标目录中:bashpwd # 输出当前目录路径,验证是否正确
四、总结
- 快速手动操作(优先推荐):
mkdir -p 目录路径 && cd 目录路径(-p适配多层目录) - 脚本/严谨场景:先通过
if [ ! -d "目录" ]判断,再创建+进入,避免报错 - 核心命令:
mkdir(创建)、cd(进入),通过&&实现一键联动,-p实现多层目录创建