Linux 文件管理命令----cd 命令

2023-12-26 10:50:49


cd 命令比较简单,可以说是最最基本最最简单的命令了,主要就是用例切换目录,下面就演示 cd 的几种用法。 这里还会应用到pwd命令,
当然这只需要知道pwd命令是查看当前所在的目录即可,至于pwd的更多的用法,可以去查阅专门介绍pwd命令的文章,
因为本文在通过 cd 命令切换目录后,会通过 pwd 命令验证一下路径是否切换以及是否切换正确。

cd 通过绝对路径的方式切换目录

如下所示,通过 cd 命令切换到 /home/ 目录下

[root@localhost demo]# cd /home/
[root@localhost home]# pwd
/home
[root@localhost home]#

cd 通过相对路径切换

如下,先通过绝对路径的方式切换到 /var/ 路径下,因为/home/ 路径下当前没有文件夹了,无法演示通过相对路径来
切换路径,因此这里首先通过绝对路径的方式切换到 /var/ 路径下,可以看到 /var/ 路径下还有许多文件夹夹,因此
这里就可以通过相对路径的方式来切换了,比如想进入到 /var/log/ 目录下,可以通过相对路径 log 即可进入,因为
当前已经在 /var/ 路径下了。

[root@localhost home]# cd /var/
[root@localhost var]# pwd
/var
[root@localhost var]# dir
adm  cache  crash  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  nis  opt  preserve  run  spool  tmp  yp
[root@localhost var]# cd log
[root@localhost log]# pwd
/var/log
[root@localhost log]#

通过 “~” 快速切换到当前用户的根目录下

如下所示,这里是root用户,通过cd ~ 命令,能快速回到root用户的额根目录 /root

[root@localhost log]# pwd
/var/log
[root@localhost log]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]#

如果是普通用户比如创建了demo用户,那么demo用户的根目录就是 /home/demo,那么通过demo用户登录后,
然后通过 cd ~ 命令执行后,就会快速切换到 demo用户的根目录下。这里会应用useradd 命令创建一个普通用户,
然后用到passwd 命令为此用户设置一个密码,然后会通过su -i 命令切换此普通用户,然后在进行 cd ~ 命令的演示,
因此这里只需要能理解 useradd 和 passwd的命令的用法即可,至于useradd和passwd命令更多更详细的内容,同样可以去
查找对应的专门讲解useradd和passwd命令的文章。

[root@localhost ~]# useradd demo         # 创建用户 demo
正在创建信箱文件: 文件已存在
[root@localhost ~]# passwd demo          # 为 demo 用户设置密码
更改用户 demo 的密码 。                  
新的 密码:                                # 为 demo 用户设置密码
重新输入新的 密码:                         # 再一次输入密码
passwd:所有的身份验证令牌已经成功更新。    
[root@localhost ~]# su - demo            # 从root用户切换到 demo 用户
[demo@localhost ~]$ cd /var/log          # 这里的 $ 提示符表示已经切换到普通用户,即demo用户了,然后切换目录到 /var/log 目录下
[demo@localhost log]$ pwd                # 查看一下当前所在目录
/var/log
[demo@localhost log]$ cd ~               # 重点来了,这里直接使用 cd ~  这个命令会直接切换到 demo 用户的根目录,至于为什么会有这个目录,在useradd相关章节会详细展开
[demo@localhost ~]$ pwd                  # 查看当前目录,可以查看到当前已经处于 /home/demo 目录下了
/home/demo
[demo@localhost ~]$

cd 可以通过"…"特殊文件快速返回到一层目录

在Linux系统中,"…"是一个特殊的文件,表示上一层,因此通过 "cd …"命令即可快速的切换到上一层目录了。

[root@localhost ~]# cd /var/log     # 为了演示,先切换到 /var/log 目录下
[root@localhost log]# pwd
/var/log
[root@localhost log]# cd ..         # 切换到上一层目录
[root@localhost var]# pwd           # 这里可以查看到确实已经切换到上一层目录了
/var
[root@localhost var]# cd ..         # 再一次执行切换到上一层目录的操作
[root@localhost /]# pwd             # 可以看到此时又网上一层目录切换了一次
/
[root@localhost /]#

cd 针对Linux系统中的特殊文件"."无任何操作

在 Linux系统中,“.” 是一个特殊文件,即表示当前目录,因此当执行"cd ."则表示切换到当前目录,亦即无任何操作,这一用法
在后面的shell编程中时长被用到。

[root@localhost ~]# pwd         # 查看当前路径
/root
[root@localhost ~]# cd .        # 切换到当前目录(好像是一句废话)
[root@localhost ~]# pwd         # 查看当前路径
/root
[root@localhost ~]#

cd 命令通过"-L"参数和"-P"参数可以对软链接文件时控制进入逻辑路径和物理路径

cd 命令中的"-L"参数和"-P"参数是针对当遇到软连接文件时的情况,因此这里先构造一个软连接的例子,即通过 ln 命令对一个物理
目录创建一个软连接,对于ln 命令更多的更详细的用法系那个查看专门介绍ln命令的文章。如下

[root@localhost ~]# ls                              # 查看当前目录下的文件列表
anaconda-ks.cfg
[root@localhost ~]# ln -s /var/log /root/demo       # 创建一个软连接文件 /root/demo 指定实际的 /var/log 路径
[root@localhost ~]# ls
anaconda-ks.cfg  demo
[root@localhost ~]# ls -l                           # 查看详细的文件信息,即可以看到 demo 指向 /var/log
总用量 4
-rw-------. 1 root root 1531 1215 21:58 anaconda-ks.cfg
lrwxrwxrwx. 1 root root    8 1224 17:39 demo -> /var/log
[root@localhost ~]#

此时使用 “-L” 参数,表示切换到逻辑地址,即软连接的路径

[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
anaconda-ks.cfg  demo
[root@localhost ~]# cd -L demo      # 切换到demo的逻辑地址,即软连接的地址
[root@localhost demo]# pwd
/root/demo
[root@localhost demo]#

通过"-P"参数,则表示切换到物理地址,所为物理地址就是软连接实际指向的文件夹的地址

[root@localhost demo]# cd /root/
[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
anaconda-ks.cfg  demo
[root@localhost ~]# cd -P demo       # 切换到demo的物理地址,即demo执行的/var/log 的路径
[root@localhost log]# pwd
/var/log
[root@localhost log]

而对于软连接文件,如果不适用任何参数,即直接使用 cd demo 命令和使用"-L"参数的效果是一样的。

root@localhost log]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg  demo
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd demo
[root@localhost demo]# pwd
/root/demo
[root@localhost demo]#

cd 命令的用法主要就这么多。

文章来源:https://blog.csdn.net/redrose2100/article/details/135184391
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。