Reputation: 63557
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.
Upvotes: 27
Views: 62411
Reputation:
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
Upvotes: 42
Reputation: 70135
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'
Upvotes: 1
Reputation: 60413
ls -al
will tell you. Symlinks will be noted like: target -> source
Upvotes: 11