次のコードを使用してツリー構造を描画する必要があります。
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 /;
ルートに移動)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 から始めて 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