2013-02-27 4 views
9

Ich benutze Mac OS X Terminal. Wie kann ich feststellen, ob ein von "ls" zurückgegebenes Verzeichnis ein Symlink oder das eigentliche Verzeichnis ist? Wenn es sich um einen Symlink handelt, wie kann ich überprüfen, wo es verlinkt ist, oder ändern Sie es?Wie kann ich feststellen, ob ein Verzeichnis von "ls" ein Symlink ist?

Ich habe tatsächlich versucht, diese eine Menge zu erforschen, aber alles, was ich gefunden habe, ist über das Erstellen von Symlinks. Am nächsten komme ich, wenn ich Farben für verschiedene Dinge in meinem Terminal einstellen kann. Ich nehme an, dass es einen tatsächlichen Befehl gibt, um Informationen über ein Verzeichnis oder eine Datei zu erhalten.

+1

Sie wahrscheinlich wollen 'stat'. Geben Sie 'man stat' für weitere Informationen ein. – squiguy

Antwort

16

Verwenden ls -l

Beispiel Ausgabe: Symlinks wird wie angemerkt werden,

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

imgopt ein symbolischer Link ist, ist getCactiImages.sh eine normale Datei

Sie auch stat filename

verwenden können Beispiel:

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/ kormoc) 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 
0

Mit dem Befehl 'ls -F' erhält der Dateiname '@' als Suffix. Um den Link zu sehen, benutze 'ls -l'. Sie können es bequem zu definieren

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