Linux命令系列之ls——原来最简单的ls这么复杂( 三 )


其他说明至此我们已经完成了ls输出的第一步分析,接下来我们来看第二行,第二行输出的数据是文件的链接的数目 。对于目录来说这个链接的数目就是子目录的数目,对于文件来说就是硬链接的数量 。对于一个新创建的文件来说硬链接的数目为1,我们可以是使用ln命令去增加一个文件的硬链接的数量,比如下图
硬链接和软链接的主要区别就是,软链接不会影响链接的数量,他只是指向一个文件,而硬链接不一样,他会增加一个文件链接的数量,当我们删除一个文件的时候事实上并不是直接将这个文件从磁盘当中删除,而是将这个文件的链接数减去一,当这个链接数等于0的时候才会删除这个文件,而删除一个软链接是不会影响链接的数量的,他只是在被发现是软链接的时候去读它指向的那个文件的内容 。
第三列和第四列主要是用户名和用户所在的组的组名 。第五列是文件的大小,单位是Byte 。后面三列是文件上一次修改时间分别对应月、日、分秒,最后一列则是文件名 。
彩蛋

  • 我们可以使用stat命令去查看一个文件详细的元数据信息,这些信息是存储在文件的inode信息里面的 。
$stat hello.c  File: hello.c  Size: 72         Blocks: 8          IO Block: 4096   regular fileDevice: 91h/145d Inode: 1577767     Links: 3Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)Access: 2022-10-07 05:41:32.685021010 +0000Modify: 2022-10-07 05:41:27.547021008 +0000Change: 2022-10-07 05:41:27.552021008 +0000 Birth: 2022-08-26 15:32:43.726183003 +0000对应的信息如下:
  • ls -R 递归列出子目录当中的文件 。
  • ls -S 根据文件大小排序
  • ls - t 根据最后一次修改时间排序 。
  • ls -r 逆序排列 。

经验总结扩展阅读