我对 unix/linux 操作系统完全陌生。我在系统中安装了 Ubuntu 16.04.2 LTS。
cd
和有什么区别cd ..
?
我打开了一个终端并执行了以下命令:pwd
。它给了我/home/avinash
现在我执行了cd ..
,它给了我/home$
然后我执行了命令cd
,然后给出pwd
了返回/home/avinash/
谁能解释一下cd
和之间的区别cd ..
?
答案1
命令之间的区别
不同之处在于,这cd
是一个单一命令,没有参数。如果没有参数,cd
则默认转到您的主文件夹。现在,相比之下,..
总是意味着“上一个目录”或父目录。因此,当您执行cd ..
此操作时,它将上移一级。这始终是正确的,/
文件夹除外,因为没有其他地方可去。这是一个演示:
$ pwd
/etc
$ cd ..
$ pwd
/
$ cd ..
$ pwd
/
在实践中运用这些知识
那么这两个命令有什么用处 ?将跳转回您的主目录,这与 doing或 doingcd
相同。这意味着如果您在目录树的某个非常深的地方,您可以快速轻松地返回主目录。以下是一个例子:cd ~
cd $HOME
$ pwd
/sys/class/block/sda1/holders
$ cd
$ pwd
/home/xieerqi
您还可以使用它..
做一些很酷的事情。假设我在/sys/class/block/sda1/holders
文件夹中,我想快速转到上级 3 级。因此我们可以这样做:
$ pwd
/sys/class/block/sda1/holders
$ cd ../../../
$ pwd
/sys/class
还可以做的是函数由此开始。我们可以通过指定要向上移动的层级数来更轻松地导航。如下所示:
goup() {
num=$1
while [ $num -ne 0 ]
do
cd ..
num=$(expr $num - 1 )
done
}
知道了cd ..
会上升一级,为什么不指定我们要重复多少次呢cd ..
?这正是这个 while 循环所做的。下面是它的实际效果:
$ pwd
/sys/class/block/sda1/holders
$ goup 4
$ pwd
/sys
答案2
- 执行后
cd
你将进入你的主目录 - 执行后,
cd ..
你将在目录树中获得一个目录
答案3
cd
命令将直接带您回到您的主目录,无论您身在何处。cd ..
将带您后退一步,即返回到当前目录的父目录。
答案4
这是一个命令,但是..
是 的一个参数cd
。参数..
总是意味着你想在 linux 中向上移动一个目录。
命令cd
让你进入你的主目录:
root@test:/etc/init# cd
root@test:~#
cd
带参数的命令..
将带你进入目录树中实际所在的目录
root@test:/etc/init# cd ..
root@test:/etc# cd /etc/init
还有另一个参数,例如.
whose 表示您始终要转到当前目录。您可以在列出树时看到这一点:
root@test:/etc/init# ls -la
razem 248
drwxr-xr-x 2 root root 4096 lip 10 15:06 .
drwxr-xr-x 140 root root 12288 lip 10 15:07 ..
-rw-r--r-- 1 root root 338 kwi 9 2016 acpid.conf
-rw-r--r-- 1 root root 278 gru 28 2014 anacron.conf
-rw-r--r-- 1 root root 3709 mar 16 04:05 apparmor.conf
-rw-r--r-- 1 root root 1626 kwi 10 14:16 apport.conf
如您所见,您始终在系统文件当前目录中建立索引,例如.
,然后使用向上转发到目录..
,然后在 unix 树中向下转发下一个目录/文件。