我正在使用 Mac OS X 终端。如何判断“ls”返回的目录是符号链接还是实际目录?如果它是符号链接,我如何检查它链接到的位置或修改它?
我实际上试图对此进行大量研究,但我发现的一切都是关于创建符号链接的。我最接近的是能够在我的终端中为几件事设置颜色。我假设有一个实际的命令可以获取有关目录或文件的信息。
利用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
ls -al
会告诉你。符号链接将被标记为:target -> source
使用“ls -F”命令,文件名将以“@”作为后缀。要查看链接,请使用“ls -l”。您可能会发现定义起来很方便
alias ls='ls -F'
alias ll='ls -l'