21

我正在使用 Mac OS X 终端。如何判断“ls”返回的目录是符号链接还是实际目录?如果它是符号链接,我如何检查它链接到的位置或修改它?

我实际上试图对此进行大量研究,但我发现的一切都是关于创建符号链接的。我最接近的是能够在我的终端中为几件事设置颜色。我假设有一个实际的命令可以获取有关目录或文件的信息。

4

3 回答 3

33

利用ls -l

示例输出:

-rwxr-xr-x 1 foo staff  642 Nov 22  2010 getCactiImages.sh
lrwxr-xr-x 1 foo staff   36 Aug 29 15:29 imgopt -> ../Projects/imgopt/imgopt

imgopt是符号链接,getCactiImages.sh是普通文件

你也可以使用stat filename

例子:

  File: ‘imgopt’ -> ‘../Projects/imgopt/imgopt’
  Size: 36          Blocks: 8          IO Block: 4096   symbolic link
Device: 1000005h/16777221d  Inode: 7743835     Links: 1
Access: (0755/lrwxr-xr-x)  Uid: (  501/  foo)   Gid: (   20/   staff)
Access: 2012-08-29 15:29:19.000000000 -0700
Modify: 2012-08-29 15:29:19.000000000 -0700
Change: 2012-08-29 15:29:19.000000000 -0700
 Birth: 2012-08-29 15:29:19.000000000 -0700
于 2013-02-27T03:59:01.030 回答
8

ls -al会告诉你。符号链接将被标记为:target -> source

于 2013-02-27T03:58:34.577 回答
0

使用“ls -F”命令,文件名将以“@”作为后缀。要查看链接,请使用“ls -l”。您可能会发现定义起来很方便

alias ls='ls -F'
alias ll='ls -l'
于 2013-02-27T03:59:51.470 回答