Linux命令(11)cd命令

2020-05-22 16:01:56来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

Linux命令(11)cd命令

  • 功能描述:切换目录

  • 语法: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


原文链接:https://www.cnblogs.com/shijunxian/p/12872800.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Linux命令(10)route命令

下一篇:Linux - 增加用户、添加用户组