Linux中的cd ~命令

我会从核心功能、等价命令、使用场景、特殊细节四个维度讲清楚,让你彻底理解这个新手高频使用的命令。

一、cd ~ 的核心作用

cd ~ 是 Linux 中快速切换到当前登录用户"家目录" 的命令,是最常用的目录切换快捷方式之一:

  • cd:change directory 的缩写,即"切换目录";
  • ~:波浪号,是 Linux 中当前用户家目录的"快捷符号"(系统会自动解析为对应的家目录路径)。
通俗举例
  • 如果你以普通用户(比如 user1) 登录:cd ~ 等价于 cd /home/user1;
  • 如果你以管理员(root) 登录:cd ~ 等价于 cd /root;
  • 如果你切换到其他用户(比如 su zhangsan):cd ~ 会切换到 zhangsan 的家目录 /home/zhangsan。

二、与 cd ~ 完全等价的操作

1. 最简等价:直接输入 cd

在 Linux 中,单独执行 cd 命令(不带任何参数) ,默认就是切换到当前用户的家目录,和 cd ~ 效果完全一样:

bash 复制代码
# 以下三条命令效果完全相同(以 user1 登录为例)
cd ~
cd
cd /home/user1
2. 其他等价写法(进阶)
  • 用环境变量 $HOME:cd $HOME($HOME 是系统内置环境变量,存储当前用户的家目录路径);

    bash 复制代码
    # 先查看 $HOME 的值
    echo $HOME  # 输出 /home/user1(普通用户)或 /root(root)
    cd $HOME    # 等价于 cd ~
  • 绝对路径:直接写家目录的完整路径(比如 cd /home/user1、cd /root),但这种方式需要手动写路径,不如 cd ~/cd 便捷。

三、cd ~ 的扩展用法(新手也能快速掌握)

~ 不仅能单独用,还能结合路径快速切换到家目录下的子目录,比写完整路径更高效:

bash 复制代码
# 切换到当前用户家目录下的 docker 文件夹(等价于 cd /home/user1/docker)
cd ~/docker

# 切换到 root 用户的家目录(即使当前是普通用户)
cd ~root  # 等价于 cd /root

# 切换到 zhangsan 用户的家目录
cd ~zhangsan  # 等价于 cd /home/zhangsan

四、关键细节(避坑重点)

  1. ~ 与 - 的区别:

    • cd ~:切换到当前用户家目录;
    • cd -:切换到上一次所在的目录 (比如你从 /etc 切到 /var,执行 cd - 会切回 /etc)。
      示例:
    bash 复制代码
    cd /etc/docker  # 进入 /etc/docker
    cd ~            # 切到 /home/user1
    cd -            # 切回 /etc/docker(上一次的目录)
  2. 权限问题 :

    普通用户执行 cd ~root 只能"切换目录"(前提是有权限进入 /root),但默认普通用户无权限访问 /root,会提示 Permission denied;而 cd ~ 永远能切换到自己的家目录(权限不受限)。

  3. ~ 不是目录名 :
    ~ 是系统的"快捷符号",不是实际存在的目录,用 ls ~ 能列出家目录的文件,但 ls ~ 本质是解析为 ls /home/user1 后执行。

总结

  1. cd ~ 的核心作用是快速切换到当前登录用户的家目录 ,是 cd /home/用户名(普通用户)或 cd /root(root)的快捷写法;
  2. 与 cd ~ 完全等价的操作是单独执行 cd 命令 ,也等价于 cd $HOME;
  3. 扩展用法:~/子目录 可快速切换到家目录下的指定子目录,~用户名 可切换到指定用户的家目录;
  4. 注意区分 cd ~(回家目录)和 cd -(回上一次目录)的不同。

这个命令是 Linux 日常操作中最便捷的目录切换方式,记住 cd 或 cd ~ 就能随时回到自己的"专属目录",避免手动输入长路径。

相关推荐
左手の明天3 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++
꯭自꯭闭꯭3 小时前
达梦SQL优化相关
linux·运维·数据库·sql
ZhangJun953 小时前
在 32GB 内存电脑上本地搭建 Qwen3.6-35B-A3B 大模型踩坑实录
运维·人工智能·阿里云·ai·软件构建
一条破秋裤4 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
贵州山魈羡民4 小时前
【玩转手机】通过 Podroid 上的 Alpine 部署 1Panel,把微型服务器装进口袋
运维·服务器
小白的码BUG之路4 小时前
Docker -- 构建nacos镜像
运维·docker·容器
谷哥的小弟5 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing6 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
和裕6 小时前
全纸结构重型纸箱能否满足 1 吨以上设备出口熏蒸豁免要求?通关合规性全解析
大数据·运维·网络·人工智能·算法
FPGA小徐6 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器