linux 文件属性与文件链接

云淡#风清 / 2023-07-28 / 原文

文件属性:

Linux 文件具有多种属性,用于指定文件的权限、所有者、所属组、大小、创建时间、修改时间等信息。常见的文件属性包括:

- 文件权限:用于控制文件的读、写、执行权限,分别用字母表示为 r(读取)、w(写入)和 x(执行)。文件权限分为三组,分别代表文件所有者权限、所属组权限和其他用户权限。

- 文件所有者和所属组:指定文件的拥有者和所属用户组。

- 文件大小:显示文件所占用的存储空间大小。

- 创建时间和修改时间:记录文件的创建时间和最近修改时间。

- 文件类型:指定文件是普通文件、目录、符号链接等类型。

- 其他特殊属性:如 SUID、SGID、SBIT 等特殊权限,用于特殊的文件操作。

文件链接:

在 Linux 中,文件链接是一种特殊的文件,用于创建多个文件名指向同一个文件的情况。有两种类型的文件链接:

- 硬链接:硬链接是目录项与文件内容的直接链接,可以理解为一个文件有多个入口。创建硬链接时,不会占用额外的磁盘空间,删除任意链接不会影响其他链接。

- 符号链接(软链接):符号链接是一个特殊的文件,其中包含指向另一个文件的路径。创建符号链接时,需要指定目标文件的路径。符号链接类似于 Windows 系统中的快捷方式。删除原始文件后,符号链接将失效。

文件链接在系统中提供了更灵活的文件管理方式。它们使得一个文件能够在多个位置引用,节省存储空间,并且提供了更直观的文件组织结构。

总结:Linux 文件的属性包括文件权限、所有者、所属组、大小、创建时间和修改时间等信息。而文件链接是一种特殊的文件类型,包括硬链接和符号链接,用于创建多个文件名指向同一个文件的情况,提供了更灵活的文件管理方式。

举例说明

文件属性示例:

假设我们有一个名为example.txt的文件,通过ls -l命令查看其属性:

ls -l example.txt

输出可能类似于:

-rw-r--r--  1 user  group  1024 Jul  3 10:30 example.txt

在这个例子中:

  • -rw-r--r-- 表示文件权限,-表示普通文件,rw-表示文件所有者有读写权限,r--表示所属组用户只有读权限,r--表示其他用户也只有读权限。
  • 1 表示硬链接计数,因为这是普通文件,所以硬链接计数为1。
  • user 表示文件所有者。
  • group 表示文件所属组。
  • 1024 表示文件大小,单位是字节。
  • Jul 3 10:30 表示文件的修改时间。

硬链接示例:

假设我们在当前目录下有一个名为file.txt的文件,我们可以使用ln命令创建一个硬链接:

ln file.txt hardlink.txt

现在,hardlink.txtfile.txt的硬链接。无论是file.txt还是hardlink.txt修改内容,另一个文件也会同步更新,因为它们指向同一个文件内容。这两个文件的硬链接计数会增加到2。

 

符号链接示例: 假设我们要创建一个符号链接来指向/usr/local/bin目录:

ln -s /usr/local/bin mybin

现在,mybin是一个指向/usr/local/bin目录的符号链接。我们可以通过ls -l命令查看符号链接的属性:

ls -l mybin

输出可能类似于:

lrwxrwxrwx  1 user  group  12 Jul  3 10:30 mybin -> /usr/local/bin

在这个例子中:

 

      • lrwxrwxrwx 表示符号链接的权限,l表示符号链接。
      • 1 表示符号链接计数,因为这是一个符号链接,所以计数为1。
      • user 表示链接的所有者。
      • group 表示链接的所属组。
      • 12 表示链接的大小,即链接目标路径的长度。
      • Jul 3 10:30 表示链接的修改时间。