0005. shell命令--cd

目录

5. shell命令--cd

功能说明

语法格式

选项说明

实践操作

注意事项


5. shell命令--cd

功能说明

        cd 是 Linux 和其他类 Unix 系统中用于改变当前工作目录的命令,它的全名是 "change directory"。切换到指定的路径。路径可以是绝对路径,也可以是相对路径。若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录)。

        另外,~ 也表示为 home 目录 的意思, . 则是表示目前所在的目录, .. 则表示目前目录位置的上一层目录。

语法格式

cd [dirName]

选项说明

.

切换到当前目录

..

切换到上一级目录

~

切换到用户家目录

-

切换到上一次所在目录

-L

切换到符号链接所在的目录

-P

切换到符号链接对应的实际目录

实践操作

1. 指定目录:使用 cd 命令后接目录路径来切换到指定目录
pwd    #打印一下目前的路径
cd /etc/    #切换到指定目录
pwd    #再次打印一下

2. 无参数:直接键入 cd 并回车,会将用户带回其家目录
cd    #无参数,直接输入 cd
pwd    #打印一下

3. .:表示当前目录(通常用于执行当前目录下的脚本或程序),..:表示上一级目录
cd /etc/sysconfig/network-scripts/    #切换到一个比较长的路径下
pwd    #显示一下路径
cd .    #一个点 . 表示当前目录
pwd    #发现没有变化
cd ..    #二个点表示上一级所在目录
pwd    #发现已经切换到上一级目录下了
cd ../..    #这里表示切换到上一级的上一级目录
pwd    #查看一下当前路径

4. ~ 或 $HOME 或 直接 cd :表示当前用户的家目录
cd ~    #这种方法可以快速切换到当前登录用户的家目录
pwd    #查看一下当前路径
useradd user    #添加一个 ueer 用户
su - user    #切换到该用户下
whoami    #查看当前登录用户
pwd     #查看一下当前路径
cd /etc/sysconfig/network-scripts/    #切换到一个比较长的路径下
pwd    #查看一下当前路径
cd    #直接输入 cd 切换也可以快速回到当前登录用户的家目录
pwd    #查看一下当前路径
cd -    #切换到之前的工作目录,这个可以来回切换的
pwd    #查看一下当前路径
cd $HOME    #这种方法也可以回到当前登录用户的家目录
pwd    #查看一下当前路径
logout 或 ctrl + D   #退出当前用户
whoami    #查看当前登录用户
!su    #使用最近以 su 开头的命令
whoami    #查看当前登录用户
Ctrl + d  #使用快捷键退出当前用户  
whoami     #查看当前登录用户

5. -P:如果设置了物理目录模式,则使用物理路径而不是逻辑路径。这在存在符号链接时尤其有用。
cd /bin    #切换到目录 /bin 
pwd    #查看一下当前路径
cd -P /bin   #加上大写字母 -P  
pwd    #看一下和之前看一下有啥区别

6. 使用 !$ 来引用上一条命令的最后一个参数(也可以使用快捷键:Esc + . )。
ls /var/log    #先来查看一下目录 /var/log 
cd !$    #然后输入这个命令 #上一步执行完后也可以按 cd + [快捷键按一下Esc,再按 . ] 
pwd    #看一下效果

命令示例:1. 指定目录:使用 cd 命令后接目录路径来切换到指定目录

pwd    
cd /etc/   
pwd 

输出结果:

[root@MineGi ~]# pwd
/root
[root@MineGi ~]# cd /etc/
[root@MineGi /etc]# pwd
/etc
[root@MineGi /etc]#

命令示例:2. 无参数:直接键入 cd 并回车,会将用户带回其家目录

cd
pwd

输出结果:

[root@MineGi /etc]# cd
[root@MineGi ~]# pwd
/root
[root@MineGi ~]#

命令示例:3. .:表示当前目录(通常用于执行当前目录下的脚本或程序),..:表示上一级目录

cd /etc/sysconfig/network-scripts/  
pwd   
cd .  
pwd   
cd .. 
pwd   
cd ../..
pwd 

输出结果:

[root@MineGi ~]# cd /etc/sysconfig/network-scripts/
[root@MineGi /etc/sysconfig/network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@MineGi /etc/sysconfig/network-scripts]# cd .
[root@MineGi /etc/sysconfig/network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@MineGi /etc/sysconfig/network-scripts]# cd ..
[root@MineGi /etc/sysconfig]# pwd
/etc/sysconfig
[root@MineGi /etc/sysconfig]# cd ../..
[root@MineGi /]# pwd
/
[root@MineGi /]#

命令示例:4. ~ 或 $HOME 或 直接 cd :表示当前用户的家目录

cd ~   
pwd    
useradd user  
su - user   
whoami    
pwd     
cd /etc/sysconfig/network-scripts/  
pwd   
cd    
pwd   
cd -  
pwd   
cd $HOME    
pwd  
Ctrl + d   

whoami 

输出结果:

[root@MineGi /]# cd ~
[root@MineGi ~]# pwd
/root
[root@MineGi ~]# useradd user
[root@MineGi ~]# su - user
[user@MineGi ~]$ whoami 
user
[user@MineGi ~]$ pwd
/home/user
[user@MineGi ~]$ cd /etc/sysconfig/network-scripts/
[user@MineGi /etc/sysconfig/network-scripts]$ pwd
/etc/sysconfig/network-scripts
[user@MineGi /etc/sysconfig/network-scripts]$ cd
[user@MineGi ~]$ pwd
/home/user
[user@MineGi ~]$ cd -
/etc/sysconfig/network-scripts
[user@MineGi /etc/sysconfig/network-scripts]$ pwd
/etc/sysconfig/network-scripts
[user@MineGi /etc/sysconfig/network-scripts]$ cd $HOME
[user@MineGi ~]$ pwd
/home/user
[user@MineGi ~]$ 登出
[root@MineGi ~]# whoami 
root
[root@MineGi ~]# 

命令示例:5. -P:如果设置了物理目录模式,则使用物理路径而不是逻辑路径。这在存在符号链接时尤其有用。

cd /bin   
pwd   
cd -P /bin
pwd  

输出结果:

[root@MineGi ~]# cd /bin
[root@MineGi /bin]# pwd
/bin
[root@MineGi /bin]# cd -P /bin
[root@MineGi /usr/bin]# pwd
/usr/bin
[root@MineGi /usr/bin]#

命令示例:6. 使用 !$ 来引用上一条命令的最后一个参数(也可以使用快捷键:Esc + . )。

ls /var/log  
cd !$    
pwd    

输出结果:

[root@MineGi /usr/bin]# ls /var/log
anaconda  dmesg               messages  tuned                 vmware-network.log
audit     dmesg.old           rhsm      vmware-network.1.log  vmware-vgauthsvc.log.0
boot.log  firewalld           sa        vmware-network.2.log  vmware-vmsvc-root.log
btmp      grubby_prune_debug  secure    vmware-network.3.log  vmware-vmtoolsd-root.log
chrony    lastlog             spooler   vmware-network.4.log  wtmp
cron      maillog             tallylog  vmware-network.5.log  yum.log
[root@MineGi /usr/bin]# cd !$
cd /var/log
[root@MineGi /var/log]# pwd
/var/log
[root@MineGi /var/log]# 

注意事项

  • 如果 cd 命令后没有跟任何路径,那么它会将当前工作目录更改为用户的家目录。
  • 如果提供的路径不存在,cd 命令会失败,并显示错误信息。
  • 在某些 shell(如 bash)中,cd 命令还支持命令历史功能。例如,cd - 会切换到上一个工作目录。
  • 在 Windows 的 CMD 中,cd 的用法与 Unix/Linux 类似,但路径分隔符为反斜杠(\)而非正斜杠(/)。在 PowerShell 中,你可以使用 Unix 风格的路径分隔符,或者继续使用 Windows 风格的路径。

        记住,不同的 shell 和操作系统可能会有细微的语法差异和额外的功能,因此最好查阅特定环境的官方文档以获取最准确的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MineGi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值