欢迎各位兄弟 发布技术文章
这里的技术是共享的
ls -la
是Unix和Linux操作系统中用于列出文件和目录的命令。ls
命令用于列出目录内容,而 -la
是两个选项的组合:
-l
:长格式显示。这会列出文件的详细信息,包括权限、所有者、组、大小、最后修改时间等。
-a
:显示所有文件和目录,包括隐藏文件(以.
开头的文件)。
执行 ls -la
命令后,你可能会看到类似以下的输出:
bash复制代码
total 32 drwxr-xr-x 5 user group 4096 Mar 10 10:00 . drwxr-xr-x 23 user group 4096 Mar 9 09:00 .. -rw-r--r-- 1 user group 220 Mar 10 09:50 .bash_logout -rw-r--r-- 1 user group 3771 Mar 10 09:50 .bashrc drwx------ 2 user group 4096 Mar 10 09:50 .cache -rw-r--r-- 1 user group 675 Mar 10 09:50 .profile -rw------- 1 user group 161 Mar 10 10:00 .viminfo
这里的每一列都代表不同的信息:
文件类型和权限:例如 drwxr-xr-x
d
:目录
-
:普通文件
l
:符号链接
接下来的九个字符表示文件权限,分为三组,每组三个字符。每组分别代表文件所有者、文件所属组和其他用户的权限。每个字符可以是 r
(读)、w
(写)或 x
(执行)。
硬链接数:对于目录,这通常包括目录本身和其中的子目录(应该是父目录吧)(.
和 ..
)。
所有者:文件的拥有者。
组:文件所属的组。
文件大小:以字节为单位。
最后修改时间:文件的最后修改日期和时间。
文件名:文件的名称。
在上面的例子中:
.
和 ..
分别代表当前目录和父目录。
.bash_logout
、.bashrc
和 .profile
是常见的bash shell配置文件。
.cache
是一个目录。
.viminfo
是一个由Vim编辑器创建的文件,用于存储编辑会话的信息。
注意:隐藏文件(如 .bash_logout
、.bashrc
等)通常以点(.
)开头,并且使用 -a
选项才能看到它们。
# ls -l
# ls -la # a 表示显示出来隐藏的文件 文件前面有点号表示隐藏的文件,,,隐藏的文件在图形界面下是看不到的
ls -la 硬链接数 是什么 意思
在 Unix 和 Linux 系统中,ls -l
命令的输出中的硬链接数(通常显示为文件列表中的第二列)表示指向该文件或目录的硬链接的数量。硬链接是文件系统中一个或多个目录项,它们引用相同的 inode(索引节点)。每个 inode 都有一个与之关联的链接计数,该计数表示有多少目录项指向这个 inode。
以下是一些关于硬链接数和 ls -l
输出的要点:
目录的硬链接数:
对于目录,硬链接数通常包括至少两个硬链接:一个是目录本身(.
),另一个是父目录中的条目(..
)。如果目录还包含子目录,则每个子目录都会在父目录的硬链接数中贡献一个额外的链接,因为子目录中的 ..
指向父目录。
普通文件的硬链接数:
对于普通文件,当你创建一个新的硬链接时,链接数会增加。删除一个硬链接(无论是通过 rm
命令还是通过其他方式)时,链接数会减少。只有当链接数减少到零时,文件内容才会被删除,inode 也会被释放。
符号链接(软链接)与硬链接的区别:
符号链接(也叫软链接)是一个特殊的文件,它包含另一个文件或目录的路径。符号链接有自己的 inode 和链接数,但它们不增加被链接文件或目录的链接数。
硬链接与原始文件或目录共享相同的 inode。因此,对硬链接的任何更改都会反映到原始文件或目录上,反之亦然。
特殊文件和目录的硬链接数:
对于一些特殊的文件和目录(如 /
根目录或某些系统文件),硬链接数可能有所不同,并且可能受到系统特定的限制和规则的影响。
举个例子,如果你有一个名为 example.txt
的文件,并且你只创建了这个文件的一个硬链接(即没有其他的硬链接指向它),那么 ls -l
的输出可能会显示这个文件的硬链接数为 2
。这是因为除了你创建的硬链接之外,还有一个指向 example.txt
的原始链接(即文件名 example.txt
本身)。
请注意,硬链接有一些限制,例如它们不能跨文件系统创建,也不能链接到目录(尽管目录本身可以有多个硬链接,如前面所述)。