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. 其他等价写法(进阶)
  • 用环境变量 $HOMEcd $HOME$HOME 是系统内置环境变量,存储当前用户的家目录路径);

    bash 复制代码
    # 先查看 $HOME 的值
    echo $HOME  # 输出 /home/user1(普通用户)或 /root(root)
    cd $HOME    # 等价于 cd ~
  • 绝对路径:直接写家目录的完整路径(比如 cd /home/user1cd /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 日常操作中最便捷的目录切换方式,记住 cdcd ~ 就能随时回到自己的"专属目录",避免手动输入长路径。

相关推荐
xG8XPvV5d19 小时前
GitHub Actions自动化部署全攻略
运维·自动化·github
申耀的科技观察19 小时前
【观察】戴尔科技:以“解耦化+自动化”重塑私有云,定义“云智能”进化新范式
运维·科技·自动化
sdm07042719 小时前
应用层自定义协议
运维·服务器·网络
Agent产品评测局19 小时前
标准化产品vs定制开发,制造业自动化方案选型横评:2026工业智能体落地深度指南
运维·人工智能·ai·chatgpt·自动化
bush419 小时前
linux开发板连接virtualbox虚拟机ubuntu的usb网卡,访问外网方法。
linux·运维·ubuntu
VOOHU-沃虎19 小时前
VOOHU——防水RJ45连接器在户外网络设备中的应用与选型
运维·服务器·网络
晴天¥19 小时前
达梦数据库的内存结构
服务器·数据库·达梦数据库
小明同学0119 小时前
C++后端项目:统一大模型接入 SDK(一)
linux·c++·chatgpt
码农编程录20 小时前
【notes10】spi
linux