Linux 命令行完全指南:解锁 Linux cd 命令的隐藏技能,让目录切换更高效

在 Linux 操作系统中,cd命令是最常用的命令之一,它是 “change directory” 的首字母缩写,主要功能是切换工作目录。无论是系统管理员还是普通用户,在进行文件操作、配置管理等任务时,频繁地切换目录都是必不可少的操作,熟练掌握cd命令的使用方法能大大提高工作效率。

一、cd 命令的基本格式

cd命令的基本格式为:cd [-L|[-P [-e]] [-@]] [dir],其中dir表示要切换到的目标目录,它可以是绝对路径(如/etc),也可以是相对路径(如../home)。如果省略dir参数,cd命令会默认切换到当前用户的家目录,即环境变量HOME所指向的目录。

二、cd 命令选项详解

选项

说明

-P

如果切换的目标目录是一个软链接,该选项会使cd命令直接切换到软链接指向的真正物理目标目录,和pwd命令的-P选项功能类似,该参数在需要获取实际物理路径时使用,但在日常操作中并不常用。

-L

与-P选项功能相反,当切换的目标目录是软链接时,cd命令会直接切换到软链接所在的目录,类似于pwd命令的-L选项,同样在日常使用频率较低。

-e

该选项需与-P选项配合使用。当使用-P选项且当前工作目录无法成功确定时,cd命令会以非零状态退出。主要用于在依赖物理路径切换目录的场景中,对路径有效性进行严格校验 。

-@

在支持该功能的系统上,会将带有扩展属性的文件当作一个目录来处理,该目录包含了文件的属性信息,此选项使用场景较为特殊,一般用户很少用到。

三、cd 命令常见使用场景及示例

命令

说明

cd ~

表示为使用者的shell变量HOME(家目录);

cd -

命令会首先显示要切换到的目标目录,然后再进入;

cd .

表示当前目录;

cd ..

表示当前目录的上一级目录;

cd !$

把上个命令的参数作为cd参数使用;

cd ${OLDPWD}

命令会直接切换到上一个工作目录;

1. 进入指定目录

(1) 绝对路径进入:若要进入系统的/etc目录,可直接使用命令cd /etc。执行该命令后,使用pwd命令查看当前工作目录,会显示/etc,表明已成功进入/etc目录。

复制
[root@localhost ~]# cd /etc [root@localhost etc]# pwd/etc1.2.

(2) 相对路径进入:假设当前工作目录为/home/user,若要进入其下一级目录documents,可使用相对路径cd documents;若要进入上一级目录home,则使用cd ..。

复制
[root@localhost user]# pwd/home/user [root@localhost user]# cd.. [root@localhost home]# pwd/home1.2.3.
2. 切换到特殊目录

(1) 切换到用户家目录:可以使用cd ~命令直接切换到当前用户的家目录。例如,当前用户是root,执行cd ~后,工作目录将变为/root。

复制
[root@localhost local]# pwd/usr/local [root@localhost local]# cd ~ [root@localhost ~]# pwd/root1.2.3.

(2) 切换到上一次所在目录:使用cd -命令,该命令会先显示要切换到的目标目录,然后再进入。比如,先从/root目录切换到/usr/local目录,再执行cd -,就会回到/root目录,并在命令行显示/root。

复制
[root@localhost ~]# cd /usr/local [root@localhost local]# pwd/usr/local [root@localhost local]# cd -/root [root@localhost ~]# pwd/root1.2.3.4.

(3) 切换到上一个工作目录:通过cd ${OLDPWD}命令可直接切换到上一个工作目录,效果与cd -类似,OLDPWD环境变量存储了上一个工作目录的路径。

复制
[root@localhost /]# cd /var [root@localhost var]# cd ${OLDPWD} [root@localhost /]# pwd/1.2.3.
3. 处理软链接目录

(1) 使用-P选项:假设存在一个软链接目录/link_dir,它指向/real_dir。当使用cd -P /link_dir命令时,会直接进入/real_dir目录,获取的是物理路径。

复制
[root@localhost ~]# ls -l /link_dir lrwxrwxrwx 1 root root 9 Feb 10 10:00 /link_dir -> /real_dir [root@localhost ~]# cd -P /link_dir [root@localhost real_dir]# pwd /real_dir1.2.3.4.5.

(2) 使用-L选项:同样对于上述软链接目录,使用cd -L /link_dir命令,会进入/link_dir目录本身,即软链接所在的目录。

复制
[root@localhost ~]# cd -L /link_dir [root@localhost link_dir]# pwd/link_dir1.2.

THE END