1.用戶和用戶組其他人
2.Linux文件權限概念
常用的ls命令
常用的cd命令
linux文件屬性權限>
3.修改文件屬性和權限
修改文件的權限
修改文件所屬用戶組
修改文件所屬擁有者
4.Linux擴展名問題
5.Linux的目錄結構
FHS的由來
目錄的四種交互形態
系統目錄的存放
目錄樹
相對路徑和絕對路徑
centos的觀察
1.用戶和用戶組其他人
1.用戶:每一個賬號代表一個用戶,每一個用戶都必須屬於一個組,當我們在linux系統中創建一個新的用戶的時候,系統就會默認創建一個和用戶名相同的組,把該用戶裝裏邊
2.用戶組:就是一羣用戶所在的集合,每個用戶有自己的空間,同時也有公共的空間
3.其他人:就是不屬於同一組的兩個用戶的關係或者是一個組和另外一個組的成員的關係
root用戶是最大的無視權限的那種
一般來說所有的普通用戶賬號和root用戶的相關信息都存在於 /ect/passwd 這個文件中,個人的密碼是存在於 /etc/shadow 這個文件中,linux所有的組名都是記錄在 /etc/group 這個文件中
2.Linux文件權限概念和常用的命令
2.1常用的ls命令
ls
:顯示當前目錄的內容
當然ls也可以加參數:
參數 | 作用 |
---|---|
-a | 是顯示指定目錄下的所有目錄和文件,包含隱藏文件(隱藏文件在顯示的時候前面帶有.) |
-l | 以列表的方式顯示文件的詳細信息 |
-h | 以人性化的形式顯示文件的大小 |
-ld | 詳細查看這個目錄的信息 |
-1 | 一行一行的顯示出來 |
當然這裏的參數也可以連着用如:ls -lh
,我們還可以指定一個目錄比如:ls -l /etc
2.2常用的cd命令
命令名 | 含義 |
---|---|
cd | 返回家目錄 |
cd ~ | 返回家目錄 |
cd . . | 返回到上一級目錄 |
cd - | 是在最近兩次目錄間來回切換 |
2.3linux文件屬性權限
我們直接在終端輸入ls -l之後如圖
我們拿第一行來舉例:
-rw-rw-r–. 1 master master 77 5月 19 17:38 a.txt
-rw-rw-r--.
:表示文件權限類型
1
:鏈接數(博主會在磁盤與文件系統管理章節認真解釋)
第一個master
:文件擁有者
第二個master
:文件所屬組
77
:文件大小
5月 19 17:38
:表示文件創建日期或者最近修改日期
a.txt
:文件名
對於 -rw-rw-r–. 的深度解析:
對於上面的rw是寫和讀權限,x是執行權限,對於x如果是文件的話可執行就是可以運行,如果是一個文件夾的可執行權限來說我們是否可以cd進去,並不是運行
文件類型又分爲
符合 | 代表文件類型 |
---|---|
- | 普通文件 |
d | 目錄 |
b | 設備文件(塊設備) |
c | 設備文件(字符型文件) |
l | 軟連接(快捷方式) |
3.修改文件權限和屬性
3.1修改文件的權限
1.以字母的方式設置權限;
chmod [who] [+或者-或者=][r/w/x] 文件名
who代表值 | 表示 |
---|---|
u | 文件所有者 |
g | 文件所屬組 |
o | 表示其他人 |
a | 表示所有(u,g,o) |
當我們who的位置什麼都不加的時候默認爲a
比如我們需要在a.txt文件上把所有人的權限都加上一個x:
chmod a+x a.txt或者chmod +x a.txt
當然我們也可以連起來用比如我們需要想把a.txt文件的用戶和其他人的寫權限都去掉:
chmod uo-r a.txt
這裏的uo-r
之間不能有空格即不能寫成uo -r
這裏邊的=是覆蓋的意思比如我們把a.txt的文件擁有者的權限改爲只能寫:
chmod u=r a.txt
2.以數字的方式設置權限
chmod [+或者-或者=][數字1數字2數字3] 文件名
數字1:代表文件擁有者
數字2:文件擁有組
數字3:其他人
數字分別是:
權限 | 代表數字 |
---|---|
r | 4 |
w | 2 |
x | 1 |
和上邊的類似,隨便舉幾個例子
去掉a.txt文件的文件擁有者的寫讀權限
chmod -600 a.txt
這裏注意00不可以省略
比如我們把a.txt中所有人的權限修改爲只能執行
chmod 111 a.txt
比如我們把a.txt文件的所有人的權限都加上讀
chmod +444 a.txt
比如我們把所a.txt文件擁有者的權限改爲只讀,文件擁有組和其他人都能寫和執行
chmod 433 a.txt
3.連同目錄裏邊的文件的權限一起改
有一個注意點
linux中目錄也是文件價
我們上邊使用chmod的時候其實都是隻是對文件進行操作,那麼這個文件如果是一個目錄的話,只會對目錄的權限進行更改,我們還可以對目錄和目錄裏邊的文件的權限一起更改
chmod -R [+或者-或者=][數字1數字2數字3] 文件名
R是遞歸的意思
3.2修改文件所屬用戶組
chgrp [修改後的組名] [文件名]
當然文件如果是目錄的話那麼我們也可以連同目錄裏的文件的權限一起更改
chgrp -R [修改後的組名] [文件名]
注意點:
必須使用root用戶才能更改組,而且更改的組必須已經存在於/etc/group中
3.3修改文件所屬擁有者
chown [修改後的擁有者] [文件名]
或
chown -R [修改後的擁有者] [文件名]
我們修改文件擁有組的時候也可以間接的把文件的所屬組改了
chown [修改後的擁有者]:[修改後的文件所屬組] [文件名]
或
chown -R [修改後的擁有者]:[修改後的文件所屬組] [文件名]
注意點:
必須使用root用戶才能更改文件擁有者,而且更改的組必須已經存在於/etc/group中,更改的用戶也必須存在於/etc/passwd
4.Linux擴展名問題
除了一些特定的文件需要擴展名之外,其他的有沒有擴展名無所謂
我們即使不知道文件的類型,但是隻要知道文件的名字,我們就可以用下面的命令來查看文件的類型:
file 文件名
5.Linux的目錄結構
5.1FHS的由來
因爲利用 Linux 來開發產品或發行版 的社羣/公司不個人實在太多了, 如果每個人都用自己的想法來配置檔案放置的目彔,那舉將可能造成很多管理上的困擾。 你能想象,你進入一個企業之後,所接觸到的 Linux 目錄配置方法竟然跟你以前學的完全不同嗎? 很難想象吧~所以,後來就有所謂的Filesystem Hierarchy Standard (FHS)標準的出爐了,根據FHS的官方文件指出, 他們的主要目的是希望讓使用者可以瞭解到已安裝軟件通常放置哪一個目彔下, 所以他們希望獨立的軟件開發商、操作系統製作者、以及想要維護系統的用戶,都能夠遵循 FHS 的標準。 也就是說,FHS 的重點在規範每個特定的目彔下應該要放置什麼樣子的數據而已。
5.2目錄的四種交互形態
FHS 是根據過去的經驗一直再持續的改版的,FHS 依據文件系統使用的頻繁不否不是否允講使用者隨意更動, 而將目彔定義成爲四種交互作用的形態
- 可分享的:可以分享給其他系統掛載使用的目彔,所以包括執行文件不用戶的郵件等數據, 是能夠分享給網絡上其他主機掛載用的目彔;
- 不可分享的:自己機器上面運作的裝置檔案戒者是不程序有關的 socket 檔案等, 由於僅與自身機器有關,所以當然就不適合分享給其他主機了。
- 不變的:有些數據是不會經常變動的,跟隨着 distribution 而不變動。 例如函式庫、文件說明文件、系統管理員所管理的主機服務配置文件等等;
- 可變動的:經常改變的數據,例如登彔文件、一般用戶可自行收受的新聞組等。
部分目錄的交互形態
5.3系統目錄的存放
我們可以打開linux的計算機,可以看到:
對於usr
/usr 裏面放置的數據屬二可分享的不可變動的(shareable, static), 如果你知道如何透過網絡迚行分割槽的掛載(例如在朋務器篇會談到的 NFS 朋務器),那舉/usr 確實可以分享給局域網絡內的其他主機來使用喔!
還有一點usr不是user的縮寫而是 Unix Software Resource 的縮寫,也就是『Unix操作系統軟件資源』所放置的目彔,而不是用戶的數據啦,應該將他們的數據合理的分別放置到這個目彔下的次目彔,而不要自行建立該軟件自己獨立的目彔
對於var:
如果/usr 是安裝時會佔用較大硬盤容量的目彔,那舉/var 就是在系統運作後纔會漸漸佔用硬盤容量的目彔。 因爲/var 目彔主要針對常態悵變勱的檔案,包括快取(cache)、登彔檔(log file)以及某些軟件運作所產生的檔案, 包括程序檔案(lock file, run file),戒者例如 MySQL 數據庫的檔案等等。
5.4目錄樹
tree [目錄]
以樹的形式顯示當前目錄的內容
如果使用tree時報錯,說明沒有安裝tree命令詳細安裝請參考
如何優雅而又不失內涵的在centos下安裝tree命令
5.5相對路徑絕對路徑
絕對路徑:從根目錄寫起的目錄的文件名和目錄的名稱
相對路徑:相對於目前路徑的文件名寫法
舉個例子,我們的家目錄有一個aa目錄,我們分別使用相對和絕對路徑進入裏邊
相對路徑:cd aa
絕對路徑:cd /home/當前你的用戶/aa
當前路徑和上一級目錄
.
:代表當前目錄也可以用./表示
..
:上一級目錄也可以用…/代表
5.6centos的觀察
指令
uname
uname指令及指令+參數的作用
指令 | 作用 |
---|---|
uname | 查看當前系統 |
uname -r | 查看內核版本 |
uname -m | 查看操作系統的架構版本 |
uname -a | 查看系統的所有信息 |
lsb _release -a
:也可以查看linux裏邊的信息