Linux怎么创建指定目录并进入

你想在Linux中创建指定目录并直接进入该目录,有两种常用实现方式,分别适用于快速操作和脚本编写/严谨场景,具体如下:

一、快捷方式:一行命令直接创建并进入(最常用)

通过 && 连接 mkdir(创建目录)和 cd(进入目录)命令,实现"创建即进入",无需分步操作,语法和示例如下:

基本语法

bash 复制代码
mkdir 目标目录路径 && cd 目标目录路径

常用示例

  1. 创建当前目录下的子目录并进入

    bash 复制代码
    # 创建 test 目录,然后进入 test 目录
    mkdir test && cd test
    
    # 创建多层级子目录(如 dir1 下的 dir2)并进入最内层
    mkdir -p dir1/dir2 && cd dir1/dir2
  2. 创建绝对路径目录并进入

    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 提示,更适合自动化脚本

三、补充技巧

  1. 创建并进入多层目录(必加 -p)
    若直接创建 a/b/c 这种多层目录,不加 -p 会报错,必须搭配 -p 参数:

    bash 复制代码
    mkdir -p a/b/c && cd a/b/c
  2. 验证是否成功进入
    进入目录后,可通过 pwd 命令查看当前工作目录,确认是否在目标目录中:

    bash 复制代码
    pwd  # 输出当前目录路径,验证是否正确

四、总结

  1. 快速手动操作(优先推荐):mkdir -p 目录路径 && cd 目录路径(-p 适配多层目录)
  2. 脚本/严谨场景:先通过 if [ ! -d "目录" ] 判断,再创建+进入,避免报错
  3. 核心命令:mkdir(创建)、cd(进入),通过 && 实现一键联动,-p 实现多层目录创建
相关推荐
Lsetea5 小时前
curl指定CA目录仍报证书不受信任:--capath与OpenSSL rehash排查
运维·https·ssl·openssl·curl
夜听莺儿鸣6 小时前
502-002_Linux驱动开发模块化编程
linux·驱动开发·模块化编程
wuminyu6 小时前
C++协程实现接收端的零拷贝Buffer管理原理剖析
java·linux·c语言·jvm·c++
优化Henry6 小时前
LTE 载波频率与频点配置详解
运维·网络·学习·5g·信息与通信
代码方舟7 小时前
数据科学风控实战:基于天远全能消金报告构建自动化信用评估网关
运维·人工智能·自动化
科力锐品牌君7 小时前
应用级灾备 | 海量非结构化数据如何实现高效数据保护
linux·运维·网络·安全·系统安全·数据安全·灾备
KaiwuDB7 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
zhangrelay7 小时前
ROS项目设计案例智能大模型正经乱答案例
linux·笔记·学习·ubuntu·机器人
福建佰胜张工8 小时前
A5E00839230西门子工业核心配件详解:参数、安装调试与故障运维全攻略
运维·网络·安全·自动化
流浪0018 小时前
Linux系统篇39——线程(四) pthread库的由来和线程的创建与等待
linux·操作系统·线程·pthread库