How can I tell if a directory from "ls" is a symlink?
Asked Answered
S

3

27

I am using Mac OS X terminal. How can I tell if a directory returned by "ls" is a symlink or the actual directory? If it is a symlink, how can I inspect where it is linking to, or modify it?

I actually tried to research this one a fair amount, but everything I have found is about creating symlinks. The closest I've come is being able to set colors for several things in my terminal. I'm assuming there is an actual command for getting info about a directory or file.

Svensen answered 27/2, 2013 at 3:55 Comment(1)
You probably want stat. Type man stat for more info.Cortie
V
39

Use ls -l

Example output:

-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 is a symlink, getCactiImages.sh is a normal file

You can also use stat filename

Example:

  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
Vaginismus answered 27/2, 2013 at 3:59 Comment(0)
J
9

ls -al will tell you. Symlinks will be noted like: target -> source

Jd answered 27/2, 2013 at 3:58 Comment(0)
T
1

With the 'ls -F' command, the file name will have '@' as the suffix. To see the link use 'ls -l'. You may find it convenient to define

alias ls='ls -F'
alias ll='ls -l'
Thickskinned answered 27/2, 2013 at 3:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.