菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
292
0

Linux命令(11)cd命令

原创
05/13 14:22
阅读数 97335
  • 功能说明:切换目录

  • 用      法:cd [目标目录] “[ ]”为可选项。

cd命令可以让用户在不同的目录间来回切换,不过该用户需要有足够的权限才能进入目标目录。

示例1:从当前目录切换至/tmp目录

[root@node1 ~]# cd /tmp/
[root@node1 tmp]# pwd
/tmp	#当前的工作目录
  • cd:不带任何参数时表示切换回用户的家目录。
  • cd ~:切换回自己的家目录。注意:在bash中,~也表示家目录。
  • cdcd ~都表示切换回用户自己的家目录。
  • cd ~USERNAME:切换至指定用户的家目录。
  • cd -:在上一次目录和当前目录之间来回切换。
  • cd ..:切换当前目录的上一级目录。
  • .:表示当前目录。
  • ..:表示当前目录的上一级目录。

示例2:从当前目录切换至用户的家目录

[root@node1 tmp]# cd	#cd命令不带任何参数时表示切换回用户的家目录
[root@node1 ~]# pwd 
/root

示例3:从root家目录切换至/home/steven目录

[root@node1 ~]# cd /home/steven/
[root@node1 steven]# pwd
/home/steven

示例4:从普通用户steven切换至root的家目录

[root@node1 steven]# su - steven
[steven@node1 ~]$ cd /root/
-bash: cd: /root/: Permission denied	#显示没有权限

从上例可以看出,当前的目录为/home/steven,为什么root用户可以随意切换呢?每个用户都有自己独立的私密空间叫家目录,是不允许别人随意进出的,一般来说只有自己可以进入。对于Linux系统,root用户可以随意切换至任何用户的家目录。

管理员的家目录为/root,普通用户的家目录默认为/home/用户名,只有管理员可以随便进入用户的家目录。

为什么“cd -” 能够在上一次目录和当前目录之间来回切换呢?

[root@node1 ~]# cd /var/log
[root@node1 log]# cd /root
[root@node1 ~]# cd -
/var/log
[root@node1 log]# cd -
/root

Bash是一种SHELL环境,它即为当前用户提供工作环境,又负责解析用户所提供的命令。Shell还有两个环境变量,用来保存当前shell执行环境下的用户所在的目录的路径。

$PWD:当前工作目录,我们可以认为pwd命令就是读取这个变量的值来显示的。

$OLDPWD:上一次工作目录。

PWDOLDPWD为环境变量,我们可以使用$加变量名来引用它的值。

[root@node1 ~]# echo $PWD
/root
[root@node1 ~]# cd /etc/
[root@node1 etc]# echo $PWD
/etc
[root@node1 etc]# pwd
/etc

其实pwd命令就是读取$PWD这个变量的值来显示的。

[root@node1 etc]# cd -
/root
[root@node1 ~]# echo $OLDPWD
/etc

cd - 就相当于cd $OLDPWD

发表评论

0/200
292 点赞
0 评论
收藏
为你推荐 换一批