unix/linux 中 'cd' 和 'cd ..' 之间的区别

unix/linux 中 'cd' 和 'cd ..' 之间的区别

我对 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

  1. cd命令将直接带您回到您的主目录,无论您身在何处。

  2. 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 树中向下转发下一个目录/文件。

相关内容