“command1 -> command2”在 ls -al 的结果中表示什么?

“command1 -> command2”在 ls -al 的结果中表示什么?

当我执行ls -alin时,/usr/sfw/bin我看到:make -> gmake这表明什么?这是符号链接吗?我用谷歌搜索并没有找到这个问题的答案。

答案1

是的,一个符号链接。您可以将 -L 选项与 ls 一起使用来查看所指向的实际底层事物的属性,而不是符号链接本身的属性(符号链接的所有者/组/模式相当无趣,您通常关心的事物是指出)。

答案2

是的,这是一个符号链接。您可以尝试如下所示的操作。

bash-3.2$ mkdir a
bash-3.2$ ln -s a b
bash-3.2$ ls -al b
lrwxrwxrwx 1 ramesh ramesh 1 May 28 19:10 b -> a

b是一个指向 的符号链接a

符号链接和硬链接之间的区别

文件系统中的文件基本上是指向索引节点的链接。然后,硬链接仅创建另一个文件,其中包含指向同一底层索引节点的链接。

当您删除文件时,它会删除指向底层索引节点的一个链接。仅当指向该索引节点的所有链接都已删除时,该索引节点才会被删除(或可删除/可重写)。

符号链接是到文件系统中另一个名称的链接。

一旦建立了硬链接,该链接就会指向 inode。删除重命名或移动原始文件不会影响硬链接,因为它链接到底层 inode。对 inode 上数据的任何更改都会反映在引用该 inode 的所有文件中。

注意:硬链接仅在同一文件系统内有效。符号链接可以跨越文件系统,因为它们只是另一个文件的名称。

参考

https://stackoverflow.com/questions/185899/what-is-the-difference- Between-a-symbolic-link-and-a-hard-link

答案3

这是其他人所描述的链接符号。我只是补充一点,每当您在文件系统中遇到不确定它们是什么的文件时,您可以使用该file命令来确定它们的类型。

例子

$ ll
total 20
drwxrwxr-x+ 3 saml saml 4096 May 28 19:47 dir1
drwxrwxr-x+ 2 saml saml 4096 May 28 19:52 dir2
-rw-rwxr--+ 1 saml saml    0 May 28 19:41 file1
lrwxrwxrwx. 1 saml saml    5 May 28 20:55 link -> file1

关联

$ file link 
link: symbolic link to `file1'

文件

$ file file1 
file1: empty

目录

$ file dir1
dir1: directory

的输出ls -l还反映了第一列的类型。

  • d= 目录
  • l= 链接
  • -= 一个文件

笔记:此处还可以显示其他类型。例如 fifo 和字符设备等。

参考

相关内容