接觸
linux大概乙個星期左右
,自己對
linux也只是初識
,只裝了ubuntu
。linux是多使用者,多工的作業系統,這意味著多人可以同時使用一台主機。因為每個使用者的個人喜好與隱私問題,檔案的所有者就顯得尤為重要。將使用者分為不同的組別當然是為了方便管理。因此使用者與檔案之間的關係就有三種:(1)
user
:表示該使用者是檔案的所有者。(2)
group
:表示該使用者和檔案的所有者在同一使用者組。(3)
others
:除了以上兩種的其他使用者。此外,
linux
中還有乙個特殊
root
賬戶,相當於
windows
中的管理員賬戶,對所有檔案具有所有權。
由於只是自己乙個人在自己的機器上使用,對這一部分就沒有深入了解。因為linux是針對多使用者的,所以許可權尤為重要,重點說下檔案許可權。
2.1 linux檔案屬性
在終端下執行"ls -l"檢視當前目錄的檔案,l引數用於顯示檔案的屬性,以下是乙個例子及對應的屬性說明:
-rw-rw-r-- 1 jerry jerry 100 6 月 28 11:40 hello.c
【使用者許可權】【連線數】【所有者】【使用者組】【檔案大小】【修改日期】【檔名】
注:檔案大小的單位是b
開頭的那一串"-rw-rw-r--"共有10個字元,第乙個表示檔案的型別,常見的有:[-]代表檔案,[d]代表目錄,[l]代表鏈結檔案, [b]代表裝置等。後面的九個分為三組,分別代表user,group,other這三類用的許可權,[r]代表讀許可權,[w]代表寫許可權,[x]代表執行許可權,[-]就代表沒有許可權。因此,上面這個例子代表檔案的所有者jerry及同組的使用者對該檔案可讀,可寫。其他使用者則只能讀。所有的使用者都沒有執行許可權。
2.2 檔案許可權的意義
如上所述,使用者對於檔案有r(read),w(write),x(execute)這三種許可權。在linux中「
一切皆檔案
」,因而有時候這是令人迷惑的,尤其是對目錄來說。以下對目錄的這三個許可權再做具體的說明:
r:表示使用者可以檢視該目錄下的內容,即可以使用「ls」命令
w:表示使用者可以修改該目錄下的內容,包括增加,刪除,重新命名等
x:表示使用者可以進入該目錄,即可以使用「cd」命令
而對於我們通常所說的的「檔案」
來說,「r」和「w」容易明白,而「x」則令人費解,難道文字檔案也可以執行嗎?在這一點上,linux和windows有很大的區別。在windows下,可執行檔案通常都是以「.exe」結尾的。而在linux下,檔案是否可執行與字尾名沒有關係,而僅與是否具有x許可權有關。不過無論是linux還是windows,可執行的只能是二進位制檔案。因此,雖然在linux下文字檔案加上x許可權也可以執行,不過系統只認識二進位制的機器語言,因此只可能報錯而不會有任何效果。
為了驗證這一點可以做乙個簡單的實驗,用gcc編譯乙個c語言檔案,缺省會得到乙個「a.out」檔案,將其重新命名為「a.txt」,然後執行「./a.txt」,將會發現程式依然能夠執行。
2.3 檔案許可權的更改
linux下要更改檔案的許可權,可以用以下三個命令:
改變所有者:chown user filename
改變使用者組:chgrp group filename
改變許可權:chmod,有以下兩種用法:
(1)數字法:
三個許可權對應的數字為r:4,w:2,x:1,三類使用者的許可權分別就是這三個數字的和,比如說上面的那個例子「 -rw-rw-r-- 」化為數字即是:664,要給三個使用者都加上執行許可權的話,就用「chmod 775 hello.c」
(2)符號法:
chmod u/g/o/a +/-/= r/w/x filename
以上「u」表示user,「g」表示group,「o」表示others,「a」表示all
「+」表示增加許可權,「-」表示去除許可權,「=」表示設定許可權為
「rwx」當然就是檔案的三個許可權,可以只寫乙個,也可以寫多個
依舊是上面的那個例子,給hello.c所有使用者加上執行許可權,那麼命令就是「chmod a+x hello.c」
ps:以上命令可以加上「-r」引數來進行遞迴變更
2.4 檔案的預設許可權:umask
以上已經說明了關於檔案許可權的基本知識,那麼當我們新建乙個檔案的時候,許可權是怎樣的呢?這就涉及到檔案的預設許可權:umask。在終端下輸入umask,會得到一串數字,像在我的機器上是「0002」,後三個數字即是檔案的預設許可權,不過要注意的是,這是檔案預設不具有的許可權。亦即「002」代表others不具有w許可權。還需要注意的是對於檔案和目錄這裡仍是不同的。檔案預設不具有x許可權,即最大許可權為「-rw-rw-rw-」,而目錄訪問需要x許可權,因此預設最大許可權為「-rwxrwxrwx」。所以在我的機器上umask為「002」,分別建立乙個檔案和乙個目錄後,結果如下:
drwxrwxr-x. 2 jerry jerry 4096 8月 31 11:30 new
-rw-rw-r--. 1 jerry jerry 6 8月 31 11:29 new.txt
若要設定umask,直接在後面加上設定的數字即可,比如「umask 022」
ps:umask加上「-s(大寫)」
引數可以直接顯示檔案許可權,不過不區分檔案與目錄,如我的機子上就顯示
「u=rwx,g=rwx,o=rx」,仍需留意檔案預設沒有x許可權。
Linux基礎知識總結
最近對linux之前看過的內容進行複習和常用命令部分總結。所有的目錄和檔案的最上層根目錄都是 2.bin 存放各種二進位制可執行檔案,是功能程式。3.boot 包含各種啟動檔案。4.dev 包含各種裝置檔案。5.etc 包含各種系統配置檔案。6.home 使用者目錄,每個使用者都有自己的主目錄,所有...
Linux基礎知識總結
linux可以通過虛擬機器安裝,虛擬機器和物理機幾乎沒有什麼區別,常用的虛擬機器安裝軟體有vmware,此軟體需要破解。根目錄 bin 裡面存放的是一些命令,可執行的普通功能的程式或命令 boot 啟動相關的東西,例 grub引導選單 dev 裝置檔案,各種硬體裝置 etc 所有的配置檔案,在裡面放...
linux基礎知識總結
centos7.0安裝 linux的啟動過程 1.加電,bios對硬體自檢 2.在硬碟的mbr裡找系統的引導檔案 3.啟動grub引導選單 4.系統初始化 啟用網絡卡 啟動系統程序 軟連線 檔案 目錄 跨分割槽 硬鏈結 只能對檔案 同分割槽 1.光碟ios映象安裝 2.橋接安裝 gnome圖形介面 ...