1、前言
本文將說明權限、擁有權、檔案、目錄、文字介面、圖形介面、相對路徑、絕對路徑...等,相關資訊。文章目錄
1、前言2、權限 (Permission)、擁有權 (OwnerShip)
3、檔案 (File)、目錄 (Folder)
4、檔案及目錄的所有權 (OwnerShip)
5、檔案及目錄的權限 (Permission)
6、登入 Linux 系統
7、文字介面 vs 圖形介面
8、相對路徑 vs 絕對路徑
2、權限 (Permission)、擁有權 (OwnerShip)
Linux 中有關檔案及目錄透過 使用者、群組、其它人 等三種關係來訂定其存取權限,您可透過指令 stat 來查詢檔案或目錄有關 UID、GID...等相關資訊。# stat /root/anaconda-ks.cfg
File: `/root/anaconda-ks.cfg'
Size: 1477 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 27393 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-10-07 17:44:37.911951088 +0800
Modify: 2011-10-07 09:35:12.120362571 +0800
Change: 2011-10-07 09:35:12.366370099 +0800
3、檔案 (File)、目錄 (Folder)
有關於 讀取 (r)、寫入 (w)、執行 (x) 對於檔案及目錄的說明如下:檔案 (File):
- 讀取 (r): 可 讀取 檔案內容。
- 寫入 (w): 可 寫入 內容於檔案。
- 執行 (x): 可 執行 該檔案。
目錄 (Folder):
- 讀取 (r): 目錄 內容預覽 (例如: ls) 若該目錄無讀取權限則連補位 (Tab) 功能也將失效。
- 寫入 (w): 對於該目錄及其子目錄 (含檔案) 具有 建立、刪除 的權限,因此即使該子目錄或檔案及擁有者為 root 也可輕易刪除之。
- 執行 (x): 可 進入 該目錄 (例如: cd)。
4、檔案及目錄的所有權 (OwnerShip)
擁有者 (Owner):
除了該檔案的建立者之外僅 root 能改變該檔案的擁有者 (owner),可以使用 chown 指令來修改檔案及目錄的擁有者,使用 -R 參數可一次套用設定至所有子目錄及檔案,使用 -v 參數可於指令執行後立即顯示執行結果。群組 (Group):
除了該檔案的建立者 (且必須擁有該 GID) 之外僅 root 能改變該檔案的群組 (group),可以使用 chgrp 指令來修改檔案及目錄的郡組。5、檔案及目錄的權限 (Permission)
每個檔案及目錄均透過 10 個字符 (Ten-Character) 4 組數字來表示其權限:- 第 1 個字符: 特殊權限 (Suid、Sgid、Sticky)
- 第 2 ~ 4 個字符: 使用者權限 (User Permission)
- 第 5 ~ 7 個字符: 群組權限 (Group Permission)
- 第 8 ~ 10 個字符: 其它人權限 (Other Permission)
讀取 (r)、寫入 (w)、執行 (x) 權限其數字表示方式如下:
- 執行 (x): 為 2 的 0 次方其數值為 1
- 寫入 (w): 為 2 的 1 次方其數值為 2
- 讀取 (r): 為 2 的 2 次方其數值為 4
可透過 chmod 指令並配合上述數字方式來快速指令檔案及目錄權限,如下列二個範例來進行說明:
chmod 664 file
- 擁有者有 (rw-) 權限,也就是有讀取、寫入的權限
- 群組有 (rw-) 權限,也就是有讀取、寫入的權限
- 其它人有 (r--) 權限,也就是有讀取的權限
chmod 755 dir
- 擁有者有 (rwx) 權限,也就是有讀取、寫入、執行的權限
- 群組有 (rwx) 權限,也就是有讀取、寫入、執行的權限
- 其它人有 (r-x) 權限,也就是有讀取、執行的權限
6、登入 Linux 系統
該如何登入 Linux 系統? Liunx 系統支援二種方式登入其系統 文字介面、圖形介面 以下為功能及常用熱鍵說明。Virtual Consoles (text-based): 文字介面
- 切換介面: Ctrl + Alt + F1 ~ F6
- 登出: Ctrl + d
- 功能鍵 (捲頁): Shift + PageUp / PageDown (可捲動的頁面 Buffer 跟主機的顯示卡 Memory 有關)
- 執行序 (終止): Ctrl + c
- 執行序 (暫停): Ctrl + z
Graphical Logins (called display managers): 圖形介面 (GUI)
- 預設採用 Gnome 環境
- 切換介面: Ctrl + Alt + F7 (startx in virtual consoles)
- 登出:Ctrl + Alt + BackSpace (僅適用於當機時,否則將遺失某些東西 Missing Something)
- 功能鍵 (目錄): Alt + F1
- 功能鍵 (切換): Alt + Tab
7、文字介面 vs 圖形介面
簡單來說圖形介面操作優勢為容易操作使用 (上手度高) 而文字介面為彈性大 (上手度相對較低),舉例來說使用圖形介面來建立 Linux 使用者帳號可以非常快速且方便的建立,但若要一次建立 10 個使用者帳號時就必須操作 10 次,然而若使用文字介面則僅使用一行指令即可完成,所以各有各的好處及優缺點請依個人喜好自行選擇。下列指令為在文字模式下利用迴圈方式建立 10 個使用者帳號 (user1 ~ user10),且密碼同使用者帳號。
# for u in $(seq 1 1 10); do useradd user${u}; echo user${u} | passwd --stdin user${u}; done
Changing password for user user1.
passwd: all authentication tokens updated successfully.
Changing password for user user2.
passwd: all authentication tokens updated successfully.
Changing password for user user3.
passwd: all authentication tokens updated successfully.
Changing password for user user4.
passwd: all authentication tokens updated successfully.
Changing password for user user5.
passwd: all authentication tokens updated successfully.
Changing password for user user6.
passwd: all authentication tokens updated successfully.
Changing password for user user7.
passwd: all authentication tokens updated successfully.
Changing password for user user8.
passwd: all authentication tokens updated successfully.
Changing password for user user9.
passwd: all authentication tokens updated successfully.
Changing password for user user10.
passwd: all authentication tokens updated successfully.
# ls /home
user1 user10 user2 user3 user4 user5 user6 user7 user8 user9
下列指令為在文字模式下利用迴圈方式刪除 10 個使用者帳號 (user1 ~ user10)
# for u in $(seq 1 1 10); do userdel -r user${u}; done
# ls /home
8、相對路徑 vs 絕對路徑
- 相對路徑 (Relative Pathnames): 簡單來說就是相對於目前的路徑 (通常路徑名稱比較 短)
- 絕對路徑 (Absolute Pathnames): 簡單來說就是從根目錄至您要到達的路徑 (通常路徑名稱比較 長)
下列操作為假設目前所在資料夾為 /etc 下欲切換資料夾至 /root。
# pwd //查詢目前所在路徑
/etc
# cd ../root //相對路徑切換至 /root
# cd /root //絕對路徑切換至 /root
下列為其它相關知識
- ..: 上一層
- cd ..: 回到上一層目錄 (請注意 cd 與 .. 之間有空一格)
- .: 當前目錄
- ./test.sh: 執行當前目錄中 test.sh script
- .file: 隱藏檔,例如 .bashrc (可使用指令 ls -al 顯示)
- cd: 回到使用者家目錄
- cd -: 回到上一個工作目錄