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 ~ 就能随时回到自己的"专属目录",避免手动输入长路径。

相关推荐
代码游侠14 分钟前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
眠りたいです21 分钟前
Docker核心技术和实现原理第二部分:docker镜像与网络原理
运维·网络·docker·容器
Tisfy21 分钟前
网站访问耗时优化 - 从数十秒到几百毫秒的“零成本”优化过程
服务器·开发语言·性能优化·php·网站·建站
闲人编程29 分钟前
消息通知系统实现:构建高可用、可扩展的企业级通知服务
java·服务器·网络·python·消息队列·异步处理·分发器
XiaoHu020729 分钟前
Linux多线程(详细全解)
linux·运维·服务器·开发语言·c++·git
Xの哲學29 分钟前
Linux Platform驱动深度剖析: 从设计思想到实战解析
linux·服务器·网络·算法·边缘计算
Y淑滢潇潇44 分钟前
RHCE Day 10 流程控制之条件语句和循环结构
linux·运维·rhce
gaize12131 小时前
服务器怎么选择与配置才能满足企业需求?
运维·服务器·架构
鸠摩智首席音效师1 小时前
如何安装和配置 Nginx 反向代理服务器 ?
运维·nginx
ayaya_mana2 小时前
VS Code 远程开发:SSH连接与远程资源管理器的配置
linux·ide·windows·vscode·远程资源管理