如下所示,通过 cd 命令切换到 /home/ 目录下
[root@localhost demo]# cd /home/
[root@localhost home]# pwd
/home
[root@localhost home]#
如下,先通过绝对路径的方式切换到 /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 ~]$
在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 /]#
在 Linux系统中,“.” 是一个特殊文件,即表示当前目录,因此当执行"cd ."则表示切换到当前目录,亦即无任何操作,这一用法
在后面的shell编程中时长被用到。
[root@localhost ~]# pwd # 查看当前路径
/root
[root@localhost ~]# cd . # 切换到当前目录(好像是一句废话)
[root@localhost ~]# pwd # 查看当前路径
/root
[root@localhost ~]#
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 12月 15 21:58 anaconda-ks.cfg
lrwxrwxrwx. 1 root root 8 12月 24 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 命令的用法主要就这么多。