Linux起手第一课:一切皆是文件,万物都为接口

系统 Linux
本文为Linux系列文章的第一篇,在Linux中,一切皆为文件,因此我们首先来分析文件与文档。当我们从命令行查看文件属性的时候,可以直观的看到7列信息。

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

以上为Linux系列课程的第一讲,盼对大家有点滴的帮助。

责任编辑:未丽燕 来源: 今日头条
相关推荐

2014-08-11 14:36:42

2020-01-09 09:13:34

UnixLinux协议

2018-06-15 23:00:56

2019-05-24 08:54:13

2022-04-01 15:24:39

物联网

2022-09-01 15:26:45

物联网人工智能传感器

2015-11-21 16:12:52

罗格朗物联网数据中心

2023-07-18 10:38:09

2022-07-06 10:07:21

物联网IoT

2016-08-31 17:24:05

大数据分析

2012-12-31 11:22:58

开源开放

2020-09-11 10:55:10

useState组件前端

2019-06-14 14:58:58

虚拟文件系统Linux

2021-01-26 10:02:01

GCCLinux互联网

2015-08-21 09:56:15

物联网

2020-10-19 15:29:17

物联网智能家居技术

2023-04-03 14:24:46

2013-10-09 14:30:36

2022-03-14 16:50:54

物联网IoT云计算

2021-02-28 09:47:54

软件架构软件开发软件设计
点赞
收藏

51CTO技术栈公众号