27 > cd /tmp > ln -s foo > ls -alhF /tmp lrwxrwxrwx 1 user user 3 Jul 29 14:00 foo -> foo 这是bug ln还是存在将文件符号链接到自身的用例? 这是与coreutils 8.21-1ubuntu5.1。 symlink coreutils ln — 鱿鱼 source
45 这不是错误。用例适用于要将文件链接到相同的基本名称但在不同目录中的情况: cd /tmp ln -s /etc/passwd ls -l passwd lrwxrwxrwx 1 xxx xxx 11 Jul 29 09:10 passwd -> /etc/passwd 的确,当您使用同一目录中的文件名执行此操作时,它会创建指向自身的链接,这并不会带来很多好处! 无论您使用符号链接还是硬链接,此方法都有效。 — 塞拉达 source 15 另一种说法是:ln -s /path/to/file的缩写ln -s /path/to/file .。Like ls是的缩写ls .。 — 斯特凡Chazelas 3 @StéphaneChazelas是的,您节省了两次按键!:-) — Celada 4 请注意,该行为不是POSIX所指定的,而是相当普遍的(至少是GNU,busybox,FreeBSD,Solaris,Ultrix),并且在Unix的第一个版本中已经是这样(尽管当然不支持-s)。在70年代初)。 — 斯特凡Chazelas
9 找出不正确的最简单方法是尝试一下然后看看。如果没有给出第二个参数,ln将在当前目录中创建一个与原始目录同名的链接: $ ln -s /etc $ ls -l lrwxrwxrwx 1 terdon terdon 4 Jul 29 16:09 etc -> /etc 在man ln以下内容中也对此进行了说明: 在第二形式中,在当前目录中创建指向TARGET的链接。 “第二形式”是指: ln [OPTION] ... TARGET(第二种形式) — Terdon source
ln -s /path/to/file
的缩写ln -s /path/to/file .
。Likels
是的缩写ls .
。