码迷,mamicode.com
首页 > 系统相关 > 详细

Linux命令(11)cd命令

时间:2020-05-22 09:41:12      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:指定   bash   mis   工作环境   当前目录   eve   root   需要   独立   

  • 功能描述:切换目录

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

Linux命令(11)cd命令

标签:指定   bash   mis   工作环境   当前目录   eve   root   需要   独立   

原文地址:https://www.cnblogs.com/shijunxian/p/12872800.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!