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(读取权限)。