linux一般將檔案可訪問的身份分為三個類別(owner/group/others),三種身份各自具有各自的r/w/x許可權。
linux檔案型別:
1、普通檔案(regular file,符號'-'):
a、純文字(ascii):linux系統中最多的一種檔案型別;這類檔案內容是我們可以直接讀到的資料(eg:數字、字母)。
b、二進位制檔案(binary file):可執行檔案(scripts,文字型批吃力檔案除外)就是這種型別。
c、資料格式檔案(data file):有些程式在執行的過程中會讀取到某些特定格式的檔案,這些特定檔案可被稱為資料檔案;一般用cat檢視顯示出來的為一堆亂碼。
2、目錄(directory):符號'd';
3、連線檔案(link):符號'l';
4、裝置和檔案(device):
a、塊裝置檔案:儲存檔案(eg:硬碟、軟盤等),符號'b';
b、字元裝置檔案:串列埠的介面檔案(eg:鍵盤、滑鼠),符號'c';
5、套接字(sockets):符號's'; 通常用於網路的資料連線。
6、管道(fifo,pipe):符號'p',是一種特殊的檔案型別,主要目的是解決多個程式同時訪問同乙個檔案所造成的錯誤問題(first-in-first-out)。
檔案的型別介紹完了那麼直觀的來感受一下linux中的檔案。要檢視linux中的檔案,有乙個重要的指令——ls(檢視檔案的指令),使用root身份進入linux,下達[ls -al]指令,效果如下圖:
第三行前十個字元表示的就是檔案型別許可權,數字表示的是鏈結數,接下來是檔案的擁有者,檔案所屬的群組,檔案的容量,檔案最後被修改的時間,檔名。下面詳細說明前十個字元。
第乙個代表的是該檔案的檔案型別,前面已經介紹過了;然後剩餘的九個字元,依次每三個一組,分別為檔案擁有者、檔案所屬群組、其他人的許可權。許可權總共分為三種,分別為[r]可讀(read)、[w]可寫(write)、[x]可執行(execute)。這三個許可權的位置是固定的不會改變,如果沒有該許可權則會以'-'替代。下面以[..]檔案為例分別介紹
首先、第乙個字元為'd'表明該檔案為目錄檔案;
第一組(擁有者許可權):該擁有者可讀、可寫並且可執行;
第二組(通群組許可權):可讀、可執行但是不可寫;
第三組(其他非本群組許可權):可讀、可執行但不可寫。
注意:r/w/x許可權對於目錄與檔案的意義並不相同,這是因為目錄與檔案所記錄的資料內容不相同所至。
a、[r](read):可取該檔案的實際內容;
c、[x](execute):該檔案可以被系統執行。
許可權對於目錄的重要性:檔案是存放實際資料的「家」,目錄主要的內容在記錄檔名列表。許可權對於目錄的意義如下:
a、[r](read contents in directory):表示具有讀取目錄結構列表的許可權,所以當具有(r)許可權時,表示可以查詢該目錄下的檔名資料。
b、[w](modify contents of directory):表示具有異動該目錄列表的許可權,即就是如下許可權:
1、建立新的檔案與目錄;
2、刪除已經存在的檔案與目錄(不論檔案的許可權為何);
3、靜一靜訊在的檔案或目錄進行重新命名;
4、搬移該目錄內的檔案或目錄的位置
c、[x](access directory):目錄是不可以被執行的,目錄的[x]表示的是使用者能否進入該目錄為工作目錄(work directory)的用途。
linux檔案副檔名:
linux的檔案是沒有所謂的副檔名的,乙個檔案能不能被執行取決於它的第一欄的十個屬性,與檔名沒有半毛線錢關係。雖然如此,我們仍然希望可以藉由副檔名來了解該檔案是什麼鬼,所以我們還是需要用適當的副檔名來表示該檔案的型別。
linux檔案長度限制:使用預設的ext2/ext3檔案系統時,針對檔名長度的限制為
a、單一檔案或目錄的最大容許檔名為255個字元;
b、包含完整路徑名及目錄(/)的完整檔名為4096個字元。
linux檔名限制:一般來說在設定檔名時,最好可以避免一些特殊符號:* ? > < ; & ! \ + - ' " () {};因為這些符號在文字介面下具有特殊的含義;以'.'開頭的檔案為隱藏的。
ls指令:
-a:來處目錄下的所有檔案(包括隱藏檔案);
-b:把檔名中不可出現的字元用反斜槓加字元編號的形式列出;
-c:輸出檔案的i節點的修改時間,並以此排序;
-d:將目錄像檔案一樣的顯示,而不是顯示旗下的檔案;
-f:-u對輸出的檔案不進行排序;
-i:輸出檔案的i節點的索引資訊;eg:ls -ai 指定檔案
-k:以k位元組的形式表示檔案的大小;eg:ls -alk 指定檔案
-l:列出檔案的詳細資訊;
-m:橫向輸出檔名,並以","作為分隔
-n:用數字的uid,gid代替名稱;
-o:顯示檔案的除組資訊外的詳細資訊;
-q:用?代替不可輸出的字元;
-r:對目錄反向排序;
-s:在l檔名後輸出該檔案大小。
-t:以時間排序;
-u:以檔案上次被訪問的時間排序;
-x:按列輸出,橫向排列;
-a:顯示除'.'、'..'外的所有檔案;
-b:不輸出以'~'結尾的備份檔案;
-c:按列輸出,縱向排列;
-g:輸出檔案組的資訊;
-n:不限制檔案長度;
-q:把輸出的檔名用」「括起來;
-r:列出所有子目錄下的檔案;
-s:以檔案大小排序;
-x:以檔案的副檔名排序;
-1:一行只輸出乙個檔案;
--color=no:不顯示彩色檔名;
--help:在標準輸出上顯示幫助資訊;
--version:在標準檔案上輸出版本資訊並退出。
cd命令:用於切換目錄
cd ~:進入使用者目錄;
cd -:返回最近訪問目錄;
cd ..:返回上級目錄;
cd !$:把上個命令的引數作為cd命令的目標引數使用
Linux 檔案與目錄管理(1)
接下來我們就來看幾個常見的處理目錄的命令吧 語法 ls 選項 目錄或檔名 引數 a all的縮寫,顯示所有的檔案,包括隱藏檔案 以.開頭的檔案 a almost all的縮寫,顯示所有的檔案,包括隱藏檔案,但不包括表示當前目錄.和上級目錄 這兩個檔案 c 和 lt一起使用 顯示列表並且以ctime ...
Linux 檔案與目錄管理
特殊目錄 當前目錄 上一層目錄 上乙個工作目錄 當前使用者的家目錄 username username的家目錄 ls,重要選項 a 顯示隱藏部分,r 遞迴顯示資料夾內容 l 顯示詳細資訊 ll等價與 ls l file 顯示文件到屬性,如binary or ascii等 which command ...
Linux檔案與目錄管理
1 幾個常見的處理目錄的指令 cd 變換目錄 change directory 注意 目錄名稱與cd指令之間存在乙個空格 pwd 顯示當前目錄 print working directory pwd p 顯示完整路徑 mkdir 建立乙個新的目錄 make directory mkdir p tes...