【问题标题】:How can I tell if a directory from "ls" is a symlink?如何判断“ls”中的目录是否是符号链接?
【发布时间】:2013-02-12 18:39:19
【问题描述】:

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

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

【问题讨论】:

  • 你可能想要stat。输入man stat 了解更多信息。

标签: macos unix terminal symlink


【解决方案1】:

使用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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      alias ls='ls -F'
      alias ll='ls -l'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-24
        • 2014-04-12
        • 2023-04-01
        • 2017-01-06
        • 2014-05-18
        • 2011-04-28
        相关资源
        最近更新 更多