沧州网站建设制作免费自己建网页
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 表示文件名