Linux的ls -ld命令产生的信息怎么看

2023年9月24日,周日上午


目录

  • ls -ld列出的目录或文件的信息含义
  • 文件硬链接
  • 什么是文件硬链接
  • 为什么新建目录的文件硬链接为2
  • 举例说明
  • 例一
  • 例二
  • 例三

ls -ld列出的目录或文件的信息含义

  • 第一个字符表示文件类型:
    •   d: 目录
    •   -: 普通文件
    •   l: 软链接
    •   b: 块设备文件
    •   c: 字符设备文件
    •   p: 管道
  • 接下来9个字符表示文件权限和属性:
    •   rwx rwx rwx (对应用户、组和其他用户的读(r)写(w)执行(x)权限)
    •  文件硬链接数(目录总是2)
    • 文件所有者
    • 文件所属组
    • 文件大小 
    • 修改时间

文件硬链接

什么是文件硬链接

文件硬链接是Linux下文件系统的一个概念。它允许同一个文件存在多个路径下,这些路径都指向同一个inode节点。

文件硬链接的主要特点是:

  • 每个硬链接都是一个独立的文件,都有自己的目录条目。
  • 但它们都指向同一个inode节点,即同一个真实文件数据。
  • 删除一个硬链接不会删除文件数据,只删除这个路径下的目录条目。
  • 只有所有硬链接都删除后,文件数据才真正释放。

为什么新建目录的文件硬链接为2

目录的硬链接数默认为2,这与Linux文件系统的设计有关:

  • 对于普通目录,.(当前目录)和..(父目录)这两个特殊目录条目被视为硬链接。
  • .指向当前这个目录本身;
  • ..指向该目录的父目录。

这两个隐含的目录条目被算作是这个目录的第一个和第二个硬链接。

所以即使一个目录还没有其他硬链接或软链接指向它,由于.和..这两个隐含链接,它的硬链接数也不会少于2。

一些例子说明:

  • 新建的目录默认硬链接数为2
  • 给目录建立软链接,硬链接数不变,还是2
  • 在目录内建立硬链接到自身,硬链接数增加1
  • 删除目录内其他硬链接,硬链接数不变为2
  • 删除目录本身,硬链接数变为0

所以,.和..被视为隐含硬链接,这就是为什么一个普通目录的硬链接数默认显示为2的原因。

这与文件系统设计是分离的,保证了目录的完整性。

举例说明

例一

drwxrwxrwx 7 julongzhilu julongzhilu 4096 Sep  9 23:59 auto-pairs/

这个目录信息的详细解释:

  • d表示这是一个目录文件
  • rwxrwxrwx表示目录的权限为777,也就是所有用户对该目录具有读写执行的最高权限
  • 7表示该目录的硬链接数为7
  • julongzhilu表示该目录的所有者为用户julongzhilu
  • julongzhilu表示该目录所属的组为julongzhilu
  • 4096表示该目录占用的磁盘空间为4096字节
  • Sep 9 23:59表示该目录最后一次修改时间为2023年9月9日23时59分
  • auto-pairs/表示该目录的名称

例二

drwxr-xr-x 4 julongzhilu julongzhilu 4096 Sep 24 10:17 plugged/

这个目录信息的详细解释:

  • d表示这是一个目录文件
  • rwxr-xr-x表示目录的权限为755,用户对该目录有读写执行权限,同组用户和其他用户有读执行权限
  • 4表示该目录的硬链接数为4
  • julongzhilu表示该目录的所有者为用户julongzhilu
  • julongzhilu表示该目录所属的组为julongzhilu
  • 4096表示该目录占用的磁盘空间为4096字节
  • Sep 24 10:17表示该目录最后一次修改时间为2023年9月24日上午10点17分
  • plugged/表示该目录的名称

例三

-rwxrw-rw- 1 julongzhilu julongzhilu 6113 Sep  9 23:59 README.md

这个文件信息的详细解释:

  • -表示这是一个普通文件(不是目录或链接文件)
  • rwxrw-rw- 表示文件的权限为644,所有用户对该文件具有读权限,用户和同组用户还有写权限
  • 1 表示该文件只有一个硬链接
  • julongzhilu 表示文件所有者为用户julongzhilu
  • julongzhilu 表示文件所属组为julongzhilu
  • 6113 表示该文件占用磁盘空间为6113字节
  • Sep 9 23:59 表示文件最后修改时间为2023年9月9日23时59分
  • README.md 表示文件名

你可能感兴趣的:(Linux,linux,运维,服务器)