目錄表

1 終端機的基本操作


相對於圖形化視窗介面,學會使用指令操作文字介面,通常能夠更快速完成我們想要做的事情。 首先,我們需要進入文字操作介面,打開「終端機」,應該會看到以下的訊息:

[cbb104026@localhost ~]$

這裡分別顯示了目前我們登入的使用者是cbb104026,並在主機名稱為localhost的電腦上使用,目前所在的目錄位置為家目錄。 接下來,我們可以開始使用一些指令。在文字介面下,下達指令的格式一般如下

[cbb104026@localhost ~]$ command  [-options]  parameter1  parameter2 ...

command 指令或可執行檔
options 可使用的選項 (需用-連接)
parameter 需要執行的參數

一般來說我們可以在指令後面加上“- -help”選項,來幫助我們了解這個指令的可使用選項及操作格式

[cbb104026@localhost ~]$ ls --help
用法:ls [選項]... [檔案]...

...

1.1 目錄與路徑

Linux檔案系統階層標準

[cbb104026@localhost ~]$ cd  [相對路徑或絕對路徑]
以下是常用的路徑符號

. 目前目錄
.. 上一級目錄
~ 使用者家目錄
/ 根目錄 (在參數最前面時)

舉例來說:

[cbb104026@localhost ~]$ cd 桌面     #切換到目前目錄下的桌面  (相對路徑)
[cbb104026@localhost 桌面]$ cd ..    #切換到桌面的上一級目錄,即家目錄  (相對路徑)
[cbb104026@localhost ~]$ cd ~/文件   #切換到登入使用者家目錄下的文件  (絕對路徑)
[cbb104026@localhost 文件]$
<note important>在所有目錄中的最上級都是根目錄,在使用絕對路徑時也需要從根目錄開始指定。而“~“所代表的家目錄,實際上也是從 ”/home/使用者名稱” 的目錄下開始。需要注意的是,要使用相對目錄前,需要先確認目前所在的目錄,以免找不到相對應的路徑。</note>

我們說過,在使用相對路徑前需要注意目前的目錄位置,這時候我們就可以使用pwd指令得知。

[cbb104026@localhost ~]$ pwd
/home/cbb104026

當然,有時候我們也會有需要建立自己的目錄,來幫助使用者分類資料,而mkdir指令的功能就是用來建立目錄。

[cbb104026@localhost ~]$ mkdir test
[cbb104026@localhost ~]$ ls
test 桌面 文件 ......

如果我們不需要某個目錄時,可以使用rmdir來把它刪除,刪除前需要確認要刪除的目錄內沒有其他檔案和目錄,否則的話需要先把該目錄下的檔案和目錄清空。

[cbb104026@localhost ~]$ rmdir test/
rmdir: failed to remove 'test': 目錄不是空的

...

[cbb104026@localhost ~]$ rmdir test/
[cbb104026@localhost ~]$
<note tip>當我們在文字介面操作時,可以搭配使用[tab]鍵,它能夠幫助我們更快速選取或列出適當的指令或參數。如果我們已經鍵入的資訊只有一個符合的指令或參數,按一下[tab]鍵,便會自動鍵入剩下的內容。如果不是的話,再按一下[tab]鍵便會列出符合我們鍵入資訊的所有指令或參數內容。</note>

1.2 檔案目錄的管理

在我們開始管理前,需要先知道目前我們有哪些的檔案和目錄,可以透過ls指令列出目錄下的檔案、目錄、大小和權限等詳細資訊。下面列出一些比較常用的選項:

[cbb104026@localhost ~]$ ls
test 桌面 文件
...
[cbb104026@localhost ~]$ ls -l   #列出詳細資訊
總計 0
drwx rwx r-x. 2 cbb104026 cbb104026 20 9月25日 11:53 test
drwx r-x r-x. 2 cbb104026 cbb104026 6  9月25日 10:33 桌面
drwx r-x r-x. 2 cbb104026 cbb104026 6  9月25日 10:33 文件
......
[cbb104026@localhost ~]$ ls -a   #列出所有檔案
.  ..  .bash_profile  .bashrc
test 桌面 文件
...

#另外也可以這麼使用
[cbb104026@localhost ~]$ ls -la  #列出所有檔案的詳細資訊
[cbb104026@localhost ~]$ ll      #"ls -l"的別名,可在某些Linux上使用

當我們需要做檔案或目錄的複製時,可以使用cp這個指令,同學們可以嘗試以下指令,看看分別有什麼不同的地方?

[cbb104026@localhost ~]$ cp test/* 桌面/    #複製test目錄下的所有檔案到桌面目錄
[cbb104026@localhost ~]$ cp -r test/ 桌面/test    # "-r"選項,不斷遞迴直到結束,一般用在有關目錄的操作
[cbb104026@localhost ~]$ cp -r test/ 桌面/
[cbb104026@localhost ~]$ cp -r test/ 桌面/test2
[cbb104026@localhost ~]$ cp -r 桌面/test2 ~/
[cbb104026@localhost ~]$ cp -r 桌面/test2 ~/test2

mv指令主要有兩個作用,一種是檔案或目錄的搬移,另一種則是做重新命名的動作。

[cbb104026@localhost ~]$ ls
test test2 桌面 文件
...
[cbb104026@localhost ~]$ mv test2/ test/
[cbb104026@localhost ~]$ mv test/ test2

在檔案與目錄的管理中,如果出現了多餘或不想要的檔案,便需要用到rm指令來移除。

[cbb104026@localhost ~]$ rm test2
[cbb104026@localhost ~]$ rm -r test2        # "-r"選項,不斷遞迴,直到移除test2內所有檔案目錄
[cbb104026@localhost ~]$ rm -rf 桌面/test*  # "-f"選項,強制刪除