Bash

樹結構和目錄

  • June 25, 2020

我需要繪製以下程式碼的樹形結構。

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 但我無法理解該行的其餘部分。

任何想法都會非常有幫助。

這是以令人困惑的方式編寫的,我假設來自基本的 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 但這已經存在。

我建議你自己在命令行上解決這個問題,看看它是否有意義。

引用自:https://unix.stackexchange.com/questions/595052