01 命令简介
上回说到《每日命令 | ls》,今天我们来说一说pwd命令和cd命令。
pwd命令——返回当前工作目录名称。
cd命令——改变工作目录。
什么是工作目录?
举个例子:我在北京上班,那我的工作地点就是北京;后来我到上海上班去了,那我的工作地点就变成上海了。
在linux中,我们当前在哪个目录下,那个目录就被称为当前的工作目录,因为我们所有的命令(工作)都是在当前目录下执行的。
02 命令详解
语法
pwd [选项]
cd [选项] [目录]
pwd命令只有选项,没有参数。因为它的作用是输出当前的工作目录名,所以不需要参数。
cd命令,既有选项,也有参数。参数为想要切换到的目录名。
参数
pwd命令没有参数
pwd
pwd命令将我们当前所在的目录名打印出来。
可以看到,我们当前在root目录下。
cd命令的参数是目录名,毕竟是用来切换工作目录的。
首先介绍四个特殊的命令。
cd .
上回我们说到“.”目录表示当前目录,所以这条命令的意思是切换到当前目录。
在执行cd命令之前,我们在root目录下。执行“cd .”命令后,我们仍在root目录下。
但我们本来就在当前目录,再切换到当前目录,有点多此一举。所以这个命令一般不会用。
然后是“cd ..”命令。
cd ..
“..”目录表示上级目录,或者说父目录。所以这条命令的意思是切换到当前目录的上一级目录。
可以看到,当前我们处在root目录。在执行“cd ..”命令后,我们从root目录进入了“/”根目录。
然后利用之前介绍的ls命令,列出当前目录下的文件和目录,发现root目录静静躺在其中。说明root目录是“/”根目录的子目录,所以cd命令才会切换到根目录。
那我们再切换到根目录的上级目录试试?
发现切换到根目录之后,再切换到根目录的上级目录,返回的结果还是根目录。
这是怎么回事?命令抽风了吗?
这是因为在Linux中,“/”根目录是系统最高目录,它没有上级目录,所以不管怎么切换,上级目录都会止步“/”目录。目录方面的知识以后会给大家讲解。
小技巧,要获取我们当前的工作目录名,不一定要用pwd命令,我们还可以查看shell提示符。
啥是shell提示符?
我们打开终端,红框中这种就是shell提示符。其默认组成一般是
当前登录用户名@主机名:当前目录[$|#]
我们只需要看shell提示符中的目录就可以知道当前工作目录,这样是不是方便了很多?而且shell提示符是可以自定义的,我们可以根据自身习惯自定义shell提示符,方便日常工作使用。
另外,shell提示符最后显示“$”还是“#”,取决于登录的用户。登录的用户如果是超级用户root,则显示为“#”,如果是普通用户,则显示“$”。Linux的超级用户root就相当于Windows的Administrator。
这里我是用超级用户root登录的,所以shell提示符最后显示为“#”。
接下来给大家介绍一个好玩的命令。
cd -
这条命令的意思是切换到我们待过的上一个目录,或者理解为我们从哪个目录切换过来的,我们就切回哪个目录。
用菩提祖师的话说:“悟空,从哪来,回哪去”。
最开始我们在root目录,切换到根目录。然后在根目录执行“cd -”命令,切回到了root目录,因为在来根目录之前,我们待在root目录中。再在root目录运行同样的目录,切回到了根目录,因为来root目录之前,我们在根目录。
有点死循环的感觉。
最后再介绍“~”目录。
cd ~
在Linux中,“~”表示用户的家目录。
在多用户操作系统中,系统会为每个用户分配一个目录,作为家目录,用来保存用户的文件。
在Linux中,家目录分两种:普通用户的家目录和超级用户的家目录。
普通用户:/home/用户名 超级用户:/root
普通用户的家目录为/home/用户名。假如用户为admin,那它的家目录就是/home/admin。
在Windows中也是这样的,只不过路径不一样而已。另外微信、QQ也是这样,比如QQ会以QQ号为目录,为不同用户存放文件。以前没注意过的校友可以在自己电脑操作一下。
超级用户的家目录为/root。超级用户可以查看普通用户的家目录,而普通用户不能查看超级用户的家目录。
可以看到,执行“cd ~”命令的效果和执行“cd /root”命令的效果一样。因为我是用root用户登录的,此时“~”目录就是root目录。
另外,可以用“cd ~用户名”切换到其他用户的家目录。
当然,也可以不指定目录,这种情况cd命令会切换到当前登录用户的家目录,和“cd ~”命令一样的效果。
四个特殊命令介绍完了,接下来给大家介绍常规目录的切换方法。
常规目录的切换有两种方式:相对路径和绝对路径。
在物理学习中,相信大家都接触过参照物。在Linux中,相对路径和绝对路径也和参照物有关。
以上是tomcat目录的结构:在根目录下的root目录的vulhub-master目录中。下面我们分别用相对路径和绝对路径来进入tomcat目录。
相对路径的参照物是当前的工作目录。如果使用相对路径的方式进行切换,目录路径则以当前工作目录为起点。
也可以“逆流而上”切换到别的目录。
当前我们在tomcat目录。
“../../Desktop”的意思是上级目录的上级目录下的Desktop目录。
tomcat目录的上级目录是vulhub-master目录,vulhub-master目录的上级目录是root目录,然后再切换到root目录下的Desktop目录。
以上是使用相对路径进行切换的案例,下面介绍怎么使用绝对路径切换工作目录。
之前提到,Linux的最高目录是“/”目录,Linux所有文件和目录都在“/”目录中,而绝对路径的参照物就是“/”目录。
如果想使用绝对路径的方式来切换目录,很简单,只需要遵循一点,那就是目录的路径必须从“/”目录开始。
无论使用那种路径,只要路径正确,都能达到同样的目的。
选项
pwd和cd命令都有选项,但是在日常工作中,这两条命令的选项其实用的很少。
因为默认情况下,这两条命令已经足够满足我们的需求了。所以这里不再阐述,有兴趣的校友可以查阅相关资料。
03 命令选项总结
语法: pwd [选项] cd [选项] [目录] 用途: pwd————打印当前工作目录 cd————切换工作目录 参数: pwd命令没有参数,cd命令的参数是目录名 其他:
cd . 切换到当前目录
cd .. 切换到上级目录
cd - 切换到上一目录
cd ~ 切换到家目录
cd ~用户名 切换到其他用户的家目录
root用户:shell提示符最后显示#;普通用户:shell提示符最后显示$
root可以查看其他用户的家目录,普通用户不能查看root的家目录
相对路径相对于当前工作目录,绝对路径相对于“/”目录。
来源:freebuf.com 2019-05-06 11:27:54 by: noobsec
请登录后发表评论
注册