树结构和目录

树结构和目录

我需要绘制以下代码的树结构。

cd /; mkdir a b c a/a b/a; cd a; mkdir ../e ../a/f ../b/a/g; cd../b/./; mkdir /a/k a/b ../a/./b /c

我知道: cd /;(goes to root) ,mkdir创建目录 abc 但我无法理解该行的其余部分。

任何想法都会非常有帮助。

答案1

这是以令人困惑的方式编写的,我假设来自基本的 linux/unix 测试。我可以解释。如果是多行的话,看起来会更清晰。这 ; char 表示命令结束。 mkdir 命令一次可以执行多项操作。

cd /

您将位于 / 作为当前工作目录。

mkdir a b c a/a b/a

创建相对于您的 cwd 的目录:/a、/b、/c、/a/a、/b/a

cd a

你的 cwd 变成 /a

mkdir ../e ../a/f ../b/a/g

创建相对于当前位置的目录。..上升一级的手段。/a 的 cwd 上方是 /,因此您创建 /e,然后创建 /a/f,然后创建 /b/a/g 目录。

cd ../b/./

while..表示父目录,.表示本目录。因此,从 /a 开始,您将向上移动一个 ( ..),然后进入 /b,然后停留在当前位置 ( .)。

目录名后面的尾随/仅意味着它是一个目录并且是可选的。

mkdir /a/k a/b ../a/./b /c

同样,这需要分解,因为它显然是写得令人困惑的。创建 /a/k,因为前导/意味着绝对路径,然后创建 /b/a/b,因为您已经在 /b 中并且它是相对路径(不以 / 开头)。接下来是 /a/b 因为你已经在 /b 中并且.什么也不做。然后它会尝试创建 /c 但它已经存在。

我建议您自己在命令行上完成此操作,看看是否有意义。

答案2

tree可以可视化你想要的东西,尽管你的命令会出错特登指出。你需要它说cd ../b/./;

如果您安装tree,运行命令,然后tree在您的目录中运行/,您将看到您创建的完整目录树。

[root@host /]# tree -a a
a
|-- a
|-- b
|-- f
`-- k

4 directories, 0 files
[root@host /]# tree -a b 
b
`-- a
    |-- b
    `-- g

3 directories, 0 files
[root@host /]# tree -a c
c

0 directories, 0 files
[root@host /]# tree -a e
e

0 directories, 0 files

相关内容