Linux文件和目錄管理(2)

2.17 隱藏權限lsattr/chattr

lsattr(list attribute):讀取文件或者目錄的特殊權限,格式爲: lsattr [-aR] [文件/目錄名]。node

參數-a相似於ls的-a,列出隱藏文件。linux

參數-R:將子目錄的數據也列出。windows

chattr(change attribute):修改文件的特殊屬性。格式爲: chattr [+-=] [Asaci] [文件/目錄名],其中,+、-、=分別表示增長、減小和設定。ui

A:表示文件或目錄的atiime將不可修改。spa

s:會將數據同步寫入磁盤中。命令行

a:表示只能追加不能刪除,非root用戶不能設定該屬性。3d

c:表示自動壓縮該文件,讀取時會自動解壓。blog

i:表示文件不能刪除、重命名、設定連接、寫入以及新增數據。ci

以上參數,經常使用的有a和i。示例以下:同步

文件一樣適用以上權限:


2.18 特殊權限set_uid

該權限針對二進制可執行文件,使文件在執行階段具備文件全部者的權限。例如passwd,當普通用戶執行passwd命令時,能夠臨時得到root權限,從而能夠更改密碼。


2.19 特殊權限set_gid

該權限能夠做用在文件上,也能夠做用在目錄上。看成用在文件上時,其功能和set_uid同樣,會使文件在執行階段具備文件所屬組的權限。當目錄被設置這個權限時,任何用戶在此目錄下建立的文件都具備和該目錄所屬組相同的組。


2.20 特殊權限stick_bit

防刪除位。文件是否能夠被用戶刪除,主要取決於該文件所在的目錄是否對該用戶具備(w)寫權限,若是沒有寫權限,則這個目錄下的全部文件都不能刪除,同時也不能添加新的文件。

添加此權限的情景:若是但願用戶可以添加文件但不能刪除該目錄下其餘用戶的文件,則能夠對父目錄增長該權限。設置該權限後,就算用戶對目錄具備寫權限,也不能刪除其餘用戶的文件。

咱們分別查看passwd命令和/tmp/目錄:

能夠發現,passwd顯示的是rws,而不是rwx,用數字表示爲4755。/tmp/顯示的是rwt,而不是rwx,用數字表示爲1777.這個4和1是怎樣計算出來的?當有特殊權限時,第一位數字能夠是0、1(--t)、2(-s-)、3(-st)、4(s--)、5(s-t)、6(ss-)或7(sst).

passwd是s--,因此是4;而/tmp/是--t,因此是1。

設置特殊權限的方法也用命令chmod。其格式爲:chmod +-=[s/t] [文件/目錄名]。


2.21 軟連接文件

至關於windows的快捷方式。

建立軟連接的命令爲ln(link),格式爲:ln -s [源文件] [目的文件]。

當咱們刪除了軟連接文件,並不會對源文件有任何影響

而當刪除了源文件,則軟連接文件會無效,打不開。


2.22 硬連接文件

建立硬連接的命令ln(link),格式爲:ln [源文件] [目的文件]。

系統讀取一個文件時,會先讀取inode信息,而後再根據inode中的信息到塊區域將數據提取出來。建立硬連接,只是增長了一個指向該文件的inode,並不會改變該文件,也不會額外佔用磁盤空間。

硬連接的限制:

(1)、不能跨文件系統,由於不一樣的文件系統有不一樣的inode table。

(2)、不能連接目錄。

而目錄則能夠作軟連接。


2.23/2.24/2.25 find命令

find命令,其格式爲: find [路徑] [參數]。

經常使用的參數有:

-name filename:表示直接查找該文件名的文件。(經常使用)

-type filetype:經過文件類型(f、b、c、d、l、s等)查找文件。

-atime +n/-n:表示訪問或執行時間大於或小於n天的文件。

-ctime +n/-n:表示寫入、更改inode屬性(更改全部者、權限或連接等)的時間大於或小於n天的文件。

-mtime +n/-n:表示寫入時間大於或小於n天的文件。(使用最多)

關於atime、ctime和mtime的說明:

由上表可見,更改文件的內容會更改mtime和ctime,但文件的ctime的更改則有可能不會更改mtime,例如更改了文件的全部者或權限,則不會更改mtime。

stat命令用於查看文件的atime、ctime和mtime。


2.26 文件名後綴

在Linux系統中,文件的後綴名沒有具體意義,能夠不加,習慣在文件名加後綴,是爲了便於區分此文件是什麼類型的文件。


2.27linux和windows互傳文件

首先,咱們要安裝一個軟件包。

若是想把Linux的文件傳到windows下,能夠用命令 sz,其格式爲: sz 文件名。

例如,咱們想把Linux系統中的hello.py文件傳到windows下的桌面,這時候就能夠在命令行中輸入sz hello.py,回車後,會彈出一個界面,選擇hello.py要存放在windows的路徑,這裏咱們選擇桌面,而後按回車。

把windows中的文件傳到Linux系統中,用命令 rz,當在Linux命令行中輸入rz命令後,會在windows中彈出一個窗口,選擇要傳送的文件,而後點擊打開便可。

傳送完畢後,點擊關閉,而後在Linux命令行中ls查看是否已經上傳。

相關文章
相關標籤/搜索