Unix / Linux - 目錄
歡迎,有志成為程序員的各位!今天,我們將進入Unix和Linux目錄的迷人世界。作為你們親切友善的計算機老師,我將帶領你們一步一步地開展這次旅程。所以,來一杯咖啡(或者如果你喜歡,來一杯茶),讓我們一起探索這些強大操作系統的目錄結構!
Linux 目錄結構
想像一下你的計算機是一棵大樹。這棵樹的根就是根目錄(/)。從那裡,分支(子目錄)向外延伸,形成一個層次結構。這個結構是Unix和Linux系統的脊樑。
以下是Linux目錄結構的簡化視圖:
/
├── bin
├── boot
├── dev
├── etc
├── home
├── lib
├── media
├── mnt
├── opt
├── proc
├── root
├── sbin
├── tmp
├── usr
└── var
這些目錄每個都有特定的用途。例如,/bin
包含基本的用戶命令,/etc
存儲系統配置文件,而 /home
則是用户家目錄的所在地。
家目錄
提到家,讓我們來談談你在Linux世界中的個人空間——家目錄。它就像Linux大房子裡你的臥室。
要切換到你的家目錄,你可以使用以下命令:
cd ~
或者簡單地:
cd
在這裡,cd
代表 "change directory"(更改目錄),而 ~
是你家目錄的快捷方式。
絕對/相對路徑名
現在,讓我們討論如何導航這個樹狀結構。我們使用路徑名,它們有兩種類型:絕對和相對。
絕對路徑名
絕對路徑名從根目錄(/)開始。它就像給某人你的完整地址,包括國家、城市和街道名稱。
範例:
cd /home/username/Documents
這個命令將帶你到你家目錄中的Documents文件夹,無論你目前在文件系統中的哪裡。
相對路徑名
另一方面,相對路徑名基於你的當前位置。它就像從你所在的地方給予指引。
範例:
cd Documents
如果你已經在家目錄中,這將帶你到Documents文件夹。
列出目錄
現在,我們知道如何導航了,讓我們看看這些目錄裡有什麼。ls
命令是你的好夥伴。
ls
這將列出當前目錄的内容。想要更多細節?試試:
ls -l
-l
選項給你一個長列表格式,顯示權限、所有者、大小和修改日期。
創建目錄
該建造我們自己在Linux樹上的分支了!我們使用 mkdir
命令來創建目錄。
mkdir MyNewFolder
這將在你的當前位置創建一個名為 "MyNewFolder" 的新目錄。
創建父目錄
如果你想在還不存在的目錄中創建一個目錄,該怎麼辦?別擔心!-p
選項會幫助你。
mkdir -p Projects/WebDevelopment/HTML
這將創建整個路徑,即使父目錄不存在。
刪除目錄
有時候,我們需要做一些修剪。要刪除一個空目錄,使用 rmdir
命令:
rmdir MyNewFolder
請謹慎行事!如果你想要刪除一個目錄及其所有內容,使用 rm -r
,但請謹慎使用:
rm -r Projects
這將刪除Projects目錄及其所有內容。這就像使用鏈鋸而不是修枝剪!
更改目錄
我們已經看到了 cd
命令,但讓我們複習一下:
cd /path/to/directory # 更改到特定目錄
cd .. # 向上移動一級
cd ~ # 前往家目錄
cd - # 前往上一個目錄
重命名目錄
在Unix/Linux中,我們沒有單獨的 "重命名" 命令。相反,我們使用 mv
(移動)命令:
mv oldname newname
例如:
mv MyProjects MyAwesomeProjects
這將將 "MyProjects" 目錄重命名為 "MyAwesomeProjects"。
目錄 . (點) 和 .. (點點)
讓我們以兩個特殊目錄名結束:
-
.
(單點)代表當前目錄 -
..
(雙點)代表父目錄
這些在相對路徑名中非常有用。例如:
cp ../file.txt .
這將從父目錄複製一個名為 "file.txt" 的文件到當前目錄。
以下是總結我們所討論的主要目錄相關命令的表格:
命令 | 描述 | 範例 |
---|---|---|
cd | 更改目錄 | cd /home/user |
ls | 列出目錄内容 | ls -l |
mkdir | 創建新目錄 | mkdir NewFolder |
rmdir | 刪除空目錄 | rmdir OldFolder |
rm -r | 刪除目錄及其内容 | rm -r Projects |
mv | 移動/重命名目錄 | mv OldName NewName |
cp | 複製文件或目錄 | cp -r SourceDir DestDir |
記住,熟能生巧!不要害怕在終端中實驗。Linux非常容許錯誤(除非你不小心使用了 rm -r
)!快樂探索,願Linux的力量與你同在!
Credits: Image by storyset