ツリー構造とディレクトリ [閉じる]

ツリー構造とディレクトリ [閉じる]

次のコードを使用してツリー構造を描画する必要があります。

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 /;ルートに移動)mkdirabcディレクトリを作成しますが、残りの行を理解できません。

どんなアイデアでもとても役に立ちます。

答え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 から始めて 1 ステップ上に移動 ( ..) し、次に /b に移動して現在の位置 ( .) に保持されます。

ディレクトリ名の後に続くことは、/単にそれがディレクトリであり、オプションであることを意味します。

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

繰り返しますが、これは明らかに混乱した方法で書かれているため、分解する必要があります。先行が/絶対パスを意味するので、/a/k を作成し、すでに /b にあり、相対パス (/ で始まらない) なので /b/a/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

関連情報