Linux随笔2( 四 )


更详细的内容可以阅读FHS官方文档
1.3.2 基于FHS对比与SUSE以及的差异
FHS标准实际仅仅定义了顶层(/)以及次顶层(/usr以及/var)目录下应该存放的内容,所以在其他子目录层级内,就可以随开发者自行配置了 。比如的网络配置文件就存放在/etc//-这个目录中;而SUSE则是存放在/etc//这个目录中;则是存放在/etc/(或者是/etc/这个目录中)这个目录中 。
目录树的结构图如下所示:
2. Linux文件系统中的文件元数据信息相关操作
所谓的元数据信息就是指文件中实际记录的内容之外,描述文件的基本特征的一些信息 。Linux中文件的元数据信息包括文件大小(文件所占用的磁盘空间)、权限、链接数、修改日期、访问日期、inode数、uid/gid、文件类型等等,这些信息是与文件中实际记录的内容无关的 。除了文件之外,目录也具有类似的元数据信息 。要查看文件的元数据信息,主要是通过两个命令来实现:ls以及stat,这两个命令会以不同的形式输出文件的元数据信息 。
2.1 ls命名查看文件的元数据信息
ls命令默认只会列出文件名,并不会列出其他元数据信息,为此,就需要给ls命令指定一些选项,以便能够列出文件的相关元数据信息,最常用的选项有如下几个:
-d:仅列出目录本身,而不列出其中的内容
当不关心该目录下包含什么内容,而只是想查看该目录自身的元数据信息的时候,就需要使用这个选项了 。效果如下所示:
~]# ls -d ..~]# ls -ld .dr-xr-x---. 27 root root 4096 Mar 21 10:13 .
**注意:**该选项通常不单独使用,而是与-l选项一起使用
上述输出中,列出的内容就是目录的元数据信息,第一列的第一个字母变为==d==,表示其是一个目录 。剩下的内容与文件的解释相同,不再赘述 。
-h:将文件的容量以人类易读的方式(比如GiB、KiB等单位)列出来
该选项同样不能单独使用,如果单独使用,并没有什么效果;也需要与-l选项结合使用 。具体输出结果如下所示:
~]# ls -lh kubectl_api-resources-rw-r--r-- 1 root root 8.4K Jan 28 15:21 kubectl_api-resources
上述输出的==8.4K==这一列即文件的大小为8.4KiB 。注意,如果文件的大小不足1KiB大小,则仍然会以字节数的形式进行显示,即不带任何单位的显示形式 。如下所示:
~]# ls -lh file.txt -rw-r--r-- 1 root root 45 Feb 23 22:51 file.txt
上述输出的45就是表示文件的大小为45字节,查看下文件的内容如下所示:
~]# cat file.txt43 - 44 - 45spam[1, 2, 3]{'a': 1, 'b': 2}
-n:将uid和gid以数字的形式列出来,而不是以名字的形式列出来
这个选项同样不能单独使用,需要与-l选项结合使用 。其输出效果如下所示:
~]# ls -ln file.txt -rw-r--r-- 1 0 0 45 Feb 23 22:51 file.txt
上述输出的==0 0==就表示文件的所有者ID和所属组ID分别为0,对应于所有者root和所属组root
-r:将结果以反向排序的方式进行输出,默认是按照文件名从小到大的顺序进行排列
-R:连同当前目录的子目录中的内容一并输出,即递归输出当前目录下的所有内容
-t:以时间排序进行输出
--time=[atime|ctime]:指定以何种时间戳显示时间,默认是mtime,即文件内容的修改时间
除了可以使用ls命令查看文件或目录的元数据信息之外,还可以使用下面介绍的stat命令 。