Linux起手第一课:一切皆是文件,万物都为接口
本文为Linux系列文章的第一篇,先上整个系列的完整结构图:
在Linux中,一切皆为文件,因此我们首先来分析文件与文档。
当我们从命令行查看文件属性的时候,可以直观的看到7列信息:
从一个具体的案例,我们详尽分析这七列数据:
第一列:文件名
自右边数起的第一列,一目了然是文件名 linux-tutorial.org。如下图,最后一列都是文件名
$ ls -alh / lrwxrwxrwx 1 root root 7 Oct 20 2019 bin -> usr/bin drwxr-xr-x 4 root root 4.0K Mar 22 08:28 boot drwxrwxr-x 2 root root 4.0K Oct 20 2019 cdrom drwxr-xr-x 22 root root 4.5K May 26 09:51 dev drwxr-xr-x 156 root root 12K May 21 21:28 etc drwxr-xr-x 3 root root 4.0K Oct 20 2019 home lrwxrwxrwx 1 root root 7 Oct 20 2019 lib -> usr/lib lrwxrwxrwx 1 root root 9 Oct 20 2019 lib32 -> usr/lib32 lrwxrwxrwx 1 root root 9 Oct 20 2019 lib64 -> usr/lib64 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命令分别查看这三个不同的时间属性
$ ls -ul linux-tutorial.org # -u代表access-time -rw-rw-r-- 1 me me 892 May 26 09:52 linux-tutorial.org $ ls -cl linux-tutorial.org #-c 代表creation-time 创建时间 -rw-rw-r-- 1 me me 892 May 26 08:34 linux-tutorial.org $ ls -ml linux-tutorial.org #-m 代表modification-time 修改时间 -rw-rw-r-- 1 me me 892 May 26 08:34 linux-tutorial.org
如果省略特指的时间属性,则默认按照修改时间列出,
$ ls -l linux-tutorial.org -rw-rw-r-- 1 me me 892 May 26 08:34 linux-tutorial.org
简单对比可知,‘ls -l’等同于‘ls -ml’
第三列:文件大小
第三列‘4.0K’更加直观,乃是文件的大小。默认状态下,文件的大小是以字节(byte)显示:
$ ls -al drwxr-xr-x 2 me me 4096 Mar 13 18:34 Templates drwx------ 6 me me 4096 Jan 23 06:40 .thunderbird drwxrwxr-x 3 me me 4096 Oct 20 2019 .tldr drwxrwxr-x 3 me me 4096 Mar 21 10:15 .tooling drwxr-xr-x 7 me me 20480 May 24 14:37 Videos -rw------- 1 me me 647 Jan 15 19:33 .viminfo drwxrwxr-x 2 me me 4096 Apr 19 13:41 VirtualBox VMs drwxrwxr-x 3 me me 4096 Dec 14 10:08 .vscode -rw------- 1 me me 100 May 26 09:51 .Xauthority -rw-rw-r-- 1 me me 132 Oct 20 2019 .xinputrc -rw------- 1 me me 687710 May 26 10:40 .xsession-errors
增加‘-h'选项,则以人类可读的模式显示:
$ ls -alh drwxr-xr-x 2 me me 4.0K Mar 13 18:34 Templates drwx------ 6 me me 4.0K Jan 23 06:40 .thunderbird drwxrwxr-x 3 me me 4.0K Oct 20 2019 .tldr drwxrwxr-x 3 me me 4.0K Mar 21 10:15 .tooling drwxr-xr-x 7 me me 20K May 24 14:37 Videos -rw------- 1 me me 647 Jan 15 19:33 .viminfo drwxrwxr-x 2 me me 4.0K Apr 19 13:41 VirtualBox VMs drwxrwxr-x 3 me me 4.0K Dec 14 10:08 .vscode -rw------- 1 me me 100 May 26 09:51 .Xauthority -rw-rw-r-- 1 me me 132 Oct 20 2019 .xinputrc -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--’是三个组别,分别表示三个不同的用户组的三组权限,见下表