Linux起手第一課:一切皆是文件,萬物都為接口-服務器運維
2020-05-28 20:52 作者:admin
Linux起手第一課:一切皆是文件,萬物都為接口-服務器運維
艾銻無限是一家專門做企業網管外包服務的機構,通過線上+線下結合的服務方式,為企業提供電腦維修、辦公設備維護、系統維護、網絡與數據安全、服務器運維等專業的網管服務外包公司
本文為Linux系列文章的第一篇,先上整個系列的完整結構圖:
在Linux中,一切皆為文件,因此我們首先來分析文件與文檔。
當我們從命令行查看文件屬性的時候,可以直觀的看到7列信息:
從一個具體的案例,我們詳盡分析這七列數據:
第一列:文件名
自右邊數起的第一列,一目了然是文件名 linux-tutorial.org。如下圖,最后一列都是文件名
1. $ ls -alh /
2.
3. lrwxrwxrwx 1 root root 7 Oct 20 2019 bin -> usr/bin
4. drwxr-xr-x 4 root root 4.0K Mar 22 08:28 boot
5. drwxrwxr-x 2 root root 4.0K Oct 20 2019 cdrom
6. drwxr-xr-x 22 root root 4.5K May 26 09:51 dev
7. drwxr-xr-x 156 root root 12K May 21 21:28 etc
8. drwxr-xr-x 3 root root 4.0K Oct 20 2019 home
9. lrwxrwxrwx 1 root root 7 Oct 20 2019 lib -> usr/lib
10. lrwxrwxrwx 1 root root 9 Oct 20 2019 lib32 -> usr/lib32
11. lrwxrwxrwx 1 root root 9 Oct 20 2019 lib64 -> usr/lib64
12. lrwxrwxrwx 1 root root 10 Oct 20 2019 libx32 -> usr/libx32
第二列:最新修改的時間
第二列‘May 26 08:33’為最近修改的時間(modification time),此處也是創建時間。文件的時間屬性有三個,修改時間(modification-time簡寫成mtime),創建時間(creation-time簡寫成ctime),以及最近一次打開的時間(access-time簡寫成atime)
使用ls命令分別查看這三個不同的時間屬性
1. $ ls -ul linux-tutorial.org # -u代表access-time
2. -rw-rw-r-- 1 me me 892 May 26 09:52 linux-tutorial.org
3.
4. $ ls -cl linux-tutorial.org #-c 代表creation-time 創建時間
5. -rw-rw-r-- 1 me me 892 May 26 08:34 linux-tutorial.org
6.
7. $ ls -ml linux-tutorial.org #-m 代表modification-time 修改時間
8. -rw-rw-r-- 1 me me 892 May 26 08:34 linux-tutorial.org
如果省略特指的時間屬性,則默認按照修改時間列出,
1. $ ls -l linux-tutorial.org
2. -rw-rw-r-- 1 me me 892 May 26 08:34 linux-tutorial.org
簡單對比可知,‘ls -l’等同于‘ls -ml’
第三列:文件大小
第三列‘4.0K’更加直觀,乃是文件的大小。默認狀態下,文件的大小是以字節(byte)顯示:
1. $ ls -al
2.
3. drwxr-xr-x 2 me me 4096 Mar 13 18:34 Templates
4. drwx------ 6 me me 4096 Jan 23 06:40 .thunderbird
5. drwxrwxr-x 3 me me 4096 Oct 20 2019 .tldr
6. drwxrwxr-x 3 me me 4096 Mar 21 10:15 .tooling
7. drwxr-xr-x 7 me me 20480 May 24 14:37 Videos
8. -rw------- 1 me me 647 Jan 15 19:33 .viminfo
9. drwxrwxr-x 2 me me 4096 Apr 19 13:41 VirtualBox VMs
10. drwxrwxr-x 3 me me 4096 Dec 14 10:08 .vscode
11. -rw------- 1 me me 100 May 26 09:51 .Xauthority
12. -rw-rw-r-- 1 me me 132 Oct 20 2019 .xinputrc
13. -rw------- 1 me me 687710 May 26 10:40 .xsession-errors
增加‘-h'選項,則以人類可讀的模式顯示:
1. $ ls -alh
2.
3. drwxr-xr-x 2 me me 4.0K Mar 13 18:34 Templates
4. drwx------ 6 me me 4.0K Jan 23 06:40 .thunderbird
5. drwxrwxr-x 3 me me 4.0K Oct 20 2019 .tldr
6. drwxrwxr-x 3 me me 4.0K Mar 21 10:15 .tooling
7. drwxr-xr-x 7 me me 20K May 24 14:37 Videos
8. -rw------- 1 me me 647 Jan 15 19:33 .viminfo
9. drwxrwxr-x 2 me me 4.0K Apr 19 13:41 VirtualBox VMs
10. drwxrwxr-x 3 me me 4.0K Dec 14 10:08 .vscode
11. -rw------- 1 me me 100 May 26 09:51 .Xauthority
12. -rw-rw-r-- 1 me me 132 Oct 20 2019 .xinputrc
13. -rw------- 1 me me 687K May 26 10:43 .xsession-errors
第四列與第五列分別為用戶名和用戶組的名稱
此處用戶即機主本人為‘Spiritme’,用戶組為‘Spirit’,后文我們將詳加闡述。
第六列:鏈接數量
此處的數字1表示文件的鏈接數量。新建的文件鏈接數量是1,新建文件夾的連接數量為2。
第七列:權限 (Permissions)
第七列是重中之重,我們在此處濃墨重彩,一一加以分析。我們再讀一遍整體的信息
文件類型
由圖可知,這一列中有10個字符‘-rw-rw-r--’,其中第一個字符代表文件類型,d表示文件夾(directory)等,詳見下表:
分組權限
后面的9個字符‘rw-rw-r--’是三個組別,分別表示三個不同的用戶組的三組權限,見下表
由圖可知,二進制最為簡單易懂,‘001’為 x(execute)運行權限,‘010’為 w(write)寫入或者修改權限,‘100’為 r(讀取權限)。