連結檔案
linux具有為一個檔案起多個名字的功能,稱為連結.
每個連結可以有不同的許可權,不同的命名.
複製程式碼
硬連結
ln預設建立硬連結
不能對目錄檔案建立硬連結 不能在不同的檔案系統中之間做硬連結.就是說,連結檔案和被連結檔案必須位於同一個檔案系統中.
符號連結
符號連結也成軟連結,是將一個路徑名連結到一個檔案.這些檔案是一種特別型別的檔案.事實上,它只是一個文字檔案,其中包含它提供連結的另一個檔案的路徑名. 與硬連結不同,符號連結確實是一個新檔案,而硬連結並沒有建立新檔案. 符號連結沒有硬連結的限制,可以對目錄檔案建立符號連結,也可以在不同檔案系統之間建立符號連結.
符號連結保持了連結與原始檔或目錄之間的區別:
- 刪除原始檔或目錄,只刪除資料,不會刪除連結.一旦以同樣檔案建立原始檔,連結將繼續指向該檔案的新資料.
- 在目錄長列表中,符號連結以一種特殊的檔案型別顯示出來,其中第一個字母是l
- 符號連結的大小是其連結檔案的路徑名的位元組數
- 當用ls -l命令列出檔案時,可以看到符號連結名後有一個箭頭指向原始檔或目錄 例:/root/test->/home/test
ln命令
ln命令用來建立連結 -s,--symbolic 建立符號連結,而不是硬連結. 符號連結檔案不是一個獨立的檔案,它的許多屬性依賴於原始檔,所以給符號連結檔案設定存取許可權是沒有意義的.
關於使用者和許可權
檔案主
linux為每個檔案都分配了一個檔案所有者,即檔案主,並賦予檔案主唯一的註冊名.對檔案的控制取決於檔案主或超級使用者root
檔案或目錄的建立者對建立的檔案或目錄擁有特別的使用權. 檔案的所有關係是可變的,可以將檔案或目錄的所有權裝讓給其他使用者,但是隻有檔案主或root才有權改變檔案的所有關係.檔案所有權的標誌的使用者ID(UID) 利用chown命令可以修改檔案或目錄的檔案主
使用者組
當系統管理員為使用者建立賬號之後,會分配一個組ID和一個特定的使用者組名。通常這些組名包含有相同需求的使用者。採用組方式也有助於增強系統使用的安全性
雖然已經分配了一個標記註冊組的組ID,但是該組也可以是其他組的成員。如果目前從事的專案涉及多個使用者組,那麼它可能不止屬於屬於一個組,從而可以與那些組中的使用者共享資訊。
在linux系統中,每個檔案隸屬於一個使用者組。當建立一個檔案或目錄時,系統會賦予它一個使用者組關係,使用者組的所有成員都可以使用此檔案或目錄。 檔案使用者組關係的標誌是GID。檔案的GID只能由檔案主或超級管理員來修改。利用chgrp命令可以改變檔案的GID
存取許可權
linux系統中的每個檔案和目錄都有存取許可許可權。
linux系統規定了4中不同型別的使用者。
- 檔案主owner
- 同組使用者group
- 可以訪問系統的其他使用者others
- 超級使用者root
存取許可權規定了三種訪問檔案或目錄的方式
- 讀r
- 寫w
- 可執行或可查詢x
使用ls -l 可以顯示該檔案或目錄的許可權 分別為 檔案主許可權,組使用者許可權,其他使用者許可權
chmod命令
- 以符號模式改變許可權
chmod key 檔名 key:[who] [操作符號] [mode]
who 操作物件可以是下面字母中的任一一個或者它們的組合 u 使用者user,即檔案或目錄的所有者 g 同組group使用者,即與檔案主由相同組ID的所有使用者 o 其他使用者others a 所有使用者all,它是系統預設值
操作符 + 新增某個許可權 - 取消某個許可權 = 富裕給定許可權並取消其他所有許可權(如果有的話)
mode 所表示的許可權可用下面字母的任意組合 r 可讀 w 可寫 x 可執行 X 只有目標檔案對某些使用者是可執行的,或該目標檔案是目錄時,才追加x(可執行)屬性 u 與檔案主擁有一樣的許可權 g 與檔案主同組的使用者擁有一樣的許可權 o 與其他使用者有用一樣的許可權
可以有多個key,但必須以逗號分隔開
chmod u=r,ug=x file
- 以絕對方式改變許可權
chmod mode 檔名
rwxrwxrwx 如果有許可權,則為1沒有則為0 rwxr-xr-x 111101101表示755 檔案主有讀寫執行許可權,組使用者和其他使用者擁有讀,執行權利
ps命令
列出每個與當前shell有關的程式的基本資訊
PID TTY TIME CMD
PID 程式標誌號
TTY 該程式建立時所對應的終端,"?" 表示該經常不佔用終端
TIME 報告程式累計使用的CPU時間.注意,儘管有些命令(如sh)已經運轉了很長時間,但是它們真正使用CPU的時間往往很短.所以該欄位的值往往是00:00:00
CMD 執行程式的命令名,是command的縮寫
複製程式碼
ps -ef
顯示系統中所有程式的全面資訊
複製程式碼
UID PID PPID C STIME TTY TIME CMD
UID 程式屬主的使用者id
PPID 父程式的ID號
C 程式最近使用CPU的估算
STIME 程式開始時間,以"小時:分"的形式給出
複製程式碼
ps aux 顯示所有終端上所有使用者的有關程式的所有資訊
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER 啟動程式的使用者
%CPU 執行該程式佔用CPU的時間與該程式總執行時間的比例
%MEM 該程式佔用記憶體和總記憶體的比例
VSZ 虛擬記憶體的大小,以KB為單位
RSS 任務使用的不被交換實體記憶體的數量,以KB為單位
STAT 用多個字元表示程式的執行狀態,其中包括以下幾種程式碼
複製程式碼
kill
用來終止一個程式的執行
- -s 指定需要傳送的訊號,該訊號既可以是訊號名,也可以是對應訊號的號碼
- -p 指定kill命令只是顯示程式的PID 並不是真正發出結束訊號
- -l 顯示訊號名稱列表,
kill命令可以帶訊號選項,也可以不帶.如果沒有帶訊號號碼,kill命令就會發出終止訊號(TERM),該訊號可以被程式捕獲,是程式在退出之前清理並釋放資源.
普通使用者只能使用不帶訊號引數的kill命令或至多使用訊號9
只有萬不得已時,才用kill訊號(9)