每日命令|pwd、cd

博主:itopmitopm 2024-11-10 10:40:01 33

01 命令简介

上回说到《每日命令 | ls》 ,今天我们来说一说pwd命令和cd命令。

pwd命令——返回当前工作目录名称。

每日命令|pwd、cd

cd命令——改变工作目录。

每日命令|pwd、cd

什么是工作目录?

举个例子:我在北京上班,那我的工作地点就是北京;后来我到上海上班去了,那我的工作地点就变成上海了。

在linux中,我们当前在哪个目录下,那个目录就被称为当前的工作目录,因为我们所有的命令(工作)都是在当前目录下执行的。

02 命令详解

语法
pwd [选项] cd [选项] [目录]

pwd命令只有选项,没有参数。因为它的作用是输出当前的工作目录名,所以不需要参数。

cd命令,既有选项,也有参数。参数为想要切换到的目录名。

参数

pwd命令没有参数

pwd

pwd命令将我们当前所在的目录名打印出来。

每日命令|pwd、cd

可以看到,我们当前在root目录下。

cd命令的参数是目录名,毕竟是用来切换工作目录的。

首先介绍四个特殊的命令。

cd .

上回我们说到“.”目录表示当前目录,所以这条命令的意思是切换到当前目录。

每日命令|pwd、cd

在执行cd命令之前,我们在root目录下。执行“cd .”命令后,我们仍在root目录下。

但我们本来就在当前目录,再切换到当前目录,有点多此一举。所以这个命令一般不会用。

然后是“cd ..”命令。

cd ..

“..”目录表示上级目录,或者说父目录。所以这条命令的意思是切换到当前目录的上一级目录。

每日命令|pwd、cd

可以看到,当前我们处在root目录。在执行“cd ..”命令后,我们从root目录进入了“/”根目录。

然后利用之前介绍的ls命令,列出当前目录下的文件和目录,发现root目录静静躺在其中。说明root目录是“/”根目录的子目录,所以cd命令才会切换到根目录。

那我们再切换到根目录的上级目录试试?

每日命令|pwd、cd

发现切换到根目录之后,再切换到根目录的上级目录,返回的结果还是根目录。

这是怎么回事?命令抽风了吗?

这是因为在Linux中,“/”根目录是系统最高目录,它没有上级目录,所以不管怎么切换,上级目录都会止步“/”目录。目录方面的知识以后会给大家讲解。

小技巧,要获取我们当前的工作目录名,不一定要用pwd命令,我们还可以查看shell提示符。

啥是shell提示符?

每日命令|pwd、cd

我们打开终端,红框中这种就是shell提示符。其默认组成一般是

当前登录用户名@主机名:当前目录[$|#]

每日命令|pwd、cd

我们只需要看shell提示符中的目录就可以知道当前工作目录,这样是不是方便了很多?而且shell提示符是可以自定义的,我们可以根据自身习惯自定义shell提示符,方便日常工作使用。

另外,shell提示符最后显示“$”还是“#”,取决于登录的用户。登录的用户如果是超级用户root,则显示为“#”,如果是普通用户,则显示“$”。Linux的超级用户root就相当于Windows的Administrator。

这里我是用超级用户root登录的,所以shell提示符最后显示为“#”。

接下来给大家介绍一个好玩的命令。

cd -

这条命令的意思是切换到我们待过的上一个目录,或者理解为我们从哪个目录切换过来的,我们就切回哪个目录。

用菩提祖师的话说:“悟空,从哪来,回哪去”。

每日命令|pwd、cd

最开始我们在root目录,切换到根目录。然后在根目录执行“cd -”命令,切回到了root目录,因为在来根目录之前,我们待在root目录中。再在root目录运行同样的目录,切回到了根目录,因为来root目录之前,我们在根目录。

有点死循环的感觉。

最后再介绍“~”目录。

cd ~

在Linux中,“~”表示用户的家目录。

在多用户操作系统中,系统会为每个用户分配一个目录,作为家目录,用来保存用户的文件。

在Linux中,家目录分两种:普通用户的家目录和超级用户的家目录。

普通用户:/home/用户名超级用户:/root

普通用户的家目录为/home/用户名。假如用户为admin,那它的家目录就是/home/admin。

在Windows中也是这样的,只不过路径不一样而已。另外微信、QQ也是这样,比如QQ会以QQ号为目录,为不同用户存放文件。以前没注意过的校友可以在自己电脑操作一下。

超级用户的家目录为/root。超级用户可以查看普通用户的家目录,而普通用户不能查看超级用户的家目录。

每日命令|pwd、cd

可以看到,执行“cd ~”命令的效果和执行“cd /root”命令的效果一样。因为我是用root用户登录的,此时“~”目录就是root目录。

另外,可以用“cd ~用户名”切换到其他用户的家目录。

当然,也可以不指定目录,这种情况cd命令会切换到当前登录用户的家目录,和“cd ~”命令一样的效果。

每日命令|pwd、cd

四个特殊命令介绍完了,接下来给大家介绍常规目录的切换方法。

常规目录的切换有两种方式:相对路径和绝对路径。

在物理学习中,相信大家都接触过参照物。在Linux中,相对路径和绝对路径也和参照物有关。

每日命令|pwd、cd

以上是tomcat目录的结构:在根目录下的root目录的vulhub-master目录中。下面我们分别用相对路径和绝对路径来进入tomcat目录。

相对路径的参照物是当前的工作目录。如果使用相对路径的方式进行切换,目录路径则以当前工作目录为起点。

每日命令|pwd、cd

也可以“逆流而上”切换到别的目录。

每日命令|pwd、cd

当前我们在tomcat目录。

“../../Desktop”的意思是上级目录的上级目录下的Desktop目录。

tomcat目录的上级目录是vulhub-master目录,vulhub-master目录的上级目录是root目录,然后再切换到root目录下的Desktop目录。

以上是使用相对路径进行切换的案例,下面介绍怎么使用绝对路径切换工作目录。

之前提到,Linux的最高目录是“/”目录,Linux所有文件和目录都在“/”目录中,而绝对路径的参照物就是“/”目录。

如果想使用绝对路径的方式来切换目录,很简单,只需要遵循一点,那就是目录的路径必须从“/”目录开始。

每日命令|pwd、cd

无论使用那种路径,只要路径正确,都能达到同样的目的。

选项

pwd和cd命令都有选项,但是在日常工作中,这两条命令的选项其实用的很少。

因为默认情况下,这两条命令已经足够满足我们的需求了。所以这里不再阐述,有兴趣的校友可以查阅相关资料。

03 命令选项总结

语法: pwd [选项] cd [选项] [目录]用途: pwd————打印当前工作目录 cd————切换工作目录参数: pwd命令没有参数,cd命令的参数是目录名其他: cd . 切换到当前目录 cd .. 切换到上级目录 cd - 切换到上一目录 cd ~ 切换到家目录 cd ~用户名 切换到其他用户的家目录  root用户:shell提示符最后显示#;普通用户:shell提示符最后显示$ root可以查看其他用户的家目录,普通用户不能查看root的家目录 相对路径相对于当前工作目录,绝对路径相对于“/”目录。
The End

本站部分内容来源于互联网,仅供学习交流之用。如有侵犯您的版权,请及时联系我们,我们将尽快处理。