在命令行輸入ls –al,可列出全部的文件詳細的權限與屬性(包括隱藏文件,以」.」開頭)。返回的文件列表分爲七項內容:php
① 文件的類型與權限html
其中共有10個字符。第1個字符表示文件類型,第2-4個字符表示文件全部者的權限,第5-7個字符表示文件所屬用戶組的權限,第8-10個字符表示其餘人對此文件的權限。權限字符依次爲」rwx」(read、write、execute),依次表示可讀、可寫、可執行,若爲」-」則表示無此項權限。例如」-rwxrwx---」,文件類型爲「文件」,文件全部者和文件所屬用戶組權限均爲「可讀、可寫、可執行」,其餘人對此文件無任何權限。第一個字符,即文件類型,所表明含義以下:node
[d]——目錄網絡
[-]——文件架構
[l]——鏈接文件(linkfile)socket
[b]——設備文件中可供存儲的接口設備函數
[c]——設備文件中的串行端口設備性能
[s]——套接字(sockets)spa
[p]——管道(pipe)命令行
② 有多少文件名鏈接到此節點(i-node)
③ 這個文件(或目錄)的「全部者帳號」
④ 這個文件所屬用戶組
⑤ 這個文件的容量大小,默認容量爲B
⑥ 這個文件的建立文件日期或者是最近的修改日期
⑦ 文件名
chgrp [-R] groupname dirname/filename
-R:進行遞歸的持續更新,也即連同子目錄下的全部文件、目錄
chown [-R] 帳號名稱[:組名] 文件或目錄
-R:進行遞歸的持續更新,也即連同子目錄下的全部文件、目錄
權限的設置方法有兩種,分別可使用數字或者是符號來進行權限的更改。
·數字類型改變文件權限
Linux基本權限有9個,分別是owner、group、others三種身份各有的rwx。把每組權限按照二進制進行轉化,擁有權限即爲1,沒有即爲0,例如rwx爲111(7),r-x爲101(5)。
對應的chmod的語法爲:
chmod [-R] xyz 文件或目錄
其中,-R與chgrp中-R選項含義相同,xyz分別爲三種身份按上文所述權限所表明的數字。
·符號類型改變文件權限
chmod u/g/o/a +(加入)/-(除去)/=(設置) r/w/x 文件或目錄
其中,ugo分別表明user、group、others,a表明all
r:可讀取此文件的實際內容
w:能夠編輯、新增或者是修改該文件的內容(但不包含刪除該文件)
x:該文件具備能夠被系統執行的權限
r:表示具備讀取目錄結構列表的權限
w:表示具備更改該目錄結構列表的權限,也就是新建新的文件與目錄、刪除已經存在的文件與目錄、將已存在的文件或目錄進行重命名、轉移該目錄內的文件或目錄位置等權限
x:表明用戶可否進入該目錄成爲工做目錄的用途
·文件種類
普通文件:通常進行訪問類型的文件,由ls –al顯示的屬性第一個字符爲[-]
純文本文件(ASCII):內容爲咱們能夠直接讀到的數據
二進制文件(binary):系統能夠識別的文件類型
數據格式文件(data):有些程序在運行的過程當中會讀取某些特定格式的文件,安歇特定格式的文件能夠被稱爲數據文件
目錄(directory):第一個屬性爲[d]
鏈接文件(link):相似Windows系統下面的快捷方式,第一個屬性爲[l]
設備與設備文件(device):與系統外設及存儲等相關的一些文件,一般集中在/dev這個目錄,一般分爲塊設備文件(存儲數據,以提供系統隨時訪問的接口設備,第一個屬性爲[b])和字符設備文件(一些串行端口的接口設備,第一個屬性爲[c])
套接字(sockets):一般被用在網絡上的數據鏈接,第一個屬性爲[s]
管道(FIFO,pipe):主要目的在解決多個程序同時訪問一個文件所形成的錯誤問題,第一個屬性爲[p]
·Linux文件擴展名
*.sh:腳本或批處理文件(scripts)
*Z、*.tar、*.tar.gz、*.zip、*.tgz:通過打包的壓縮文件
*.html、*.php:網頁相關文件
·Linux文件長度限制
在Linux下面,使用默認的Ext2/Ext3文件系統時,針對文件名長度限制爲:單一文件或目錄的最大允許文件名爲255個字符,包含完整路徑名稱及目錄(/)的完整文件名爲4096個字符。
·Linux文件名的限制
因爲Linux在文字界面下的一些命令操做關係,在設置Linux下面的文件名時,最好能夠避免特殊字符,例如* ? > < ; & ! [ ] | \ ’ 」 ` ( ) { },由於這些符號在命令行下室友特殊含義的。文件名的開頭爲小數點」.」時,表明這個文件爲「隱藏文件」。同時因爲命令執行當中,經常會使用到-option之類的參數,因此最好避免將文件名的開頭以-或+來命名。
FHS(Filesystem Hierarchy Standard)主要目的在於規範每一個特定的目錄下應該要放置什麼樣子的數據。
FHS是根據過去的經驗一直持續改版的,FHS依據文件系統使用的頻繁與否與是否容許用戶隨意改動,將目錄定義成四種交互做用的形態。
可分享的:能夠分享給其餘系統掛載使用的目錄。
不可分享的:本身機器上運行的設備文件或者是與程序相關的socket文件等。
不變的:跟隨者distribution而不會常常變更的,例如函數庫、文件說明文件、系統管理員所管理的主機服務配置文件等。
可變更的:常常改變的數據,例如登陸文件、新聞組等。
|
可分享的(shareable) |
不可分享的(unshareable) |
不變的(static) |
/usr(軟件放置處) /opt(第三方軟件) |
/etc(配置文件) /boot(開機與內核文件) |
可變更的(variable) |
/var/mail(用戶郵件信箱) /var/spool/news(新聞組) |
/var/run(程序相關) /var/lock(程序相關) |
FHS針對目錄樹架構僅定義出三層目錄下面應該放什麼數據:
/(root,根目錄):與開機系統有關;
/usr(UNIX software resource):與軟件安裝/執行有關;
/var(variable):與系統運做過程有關。
根目錄的意義與內容:根目錄是整個系統最重要的一個目錄,由於不但全部的目錄都是由根目錄衍生出來的,同時根目錄也與開機、還原、系統修復等操做有關。FHS建議:根目錄(/)所在分區越小越好,且應用程序所安裝的軟件最好不要與根目錄放在同一個分區上,保持根目錄越小越好,如此不但性能較好,根目錄所在的文件系統也較不容易發生問題。
所以,FHS定義出根目錄(\)下的子目錄:
/bin:放置的是在單用戶維護模式下還可以被操做的命令
/boot:主要放置開機時會用到的文件,包括Linux內核文件以及開機所需配置文件等
/dev:Linux系統上任何設備與接口都是以文件的形式存在於此目錄中
/etc:系統主要的配置文件幾乎都放置於這個目錄內,比較重要的有/etc/inittab、/etc/init.d(放置全部服務的默認啓動腳本)、/etc/modprobe.conf、/etc/X11(放置與X Window有關的各類配置文件,尤爲是xorg.conf這個XServer配置文件)、/etc/fstab、/etc/sysconfig、/etc/xinetd.d(super daemon管理的各項服務的配置文件目錄)等
/home:系統默認的用戶主文件夾
/lib:放置開機時會用到的函數庫,以及在/bin或/sbin下面的命令會調用的函數庫
/media:放置可刪除的設備
/mnt:暫時掛載某些額外的設備
/opt:給第三方軟件放置的目錄
/root:系統管理員的主文件夾
/sbin:放置開機過程當中所須要的,包括開機、修復、還原系統所須要的命令
/srv:一些網絡服務啓動以後,這些服務所須要取用的數據目錄
/tmp:通常用戶或者正在執行的程序暫時放置文件的地方
目錄樹的主要特性有:
① 目錄樹的起始點爲根目錄(/,root)
② 每個目錄不僅能使用本地端的文件系統,也可使用網絡上的文件系統
③ 每個文件在此目錄樹中的文件名(包含完整路徑)都是獨一無二的
絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱
相對路徑:相對於目前路徑的文件名寫法
.:表明當前目錄,也可使用./來表示
..:表明上一層目錄,也可使用../來表示