2013-02-27 13 views
9

Sto usando il terminale Mac OS X. Come posso sapere se una directory restituita da "ls" è un link simbolico o la directory attuale? Se si tratta di un link simbolico, come posso controllare dove si collega o modificarlo?Come posso sapere se una directory di "ls" è un link simbolico?

In realtà ho provato a fare una ricerca di questo importo, ma tutto ciò che ho trovato riguarda la creazione di collegamenti simbolici. Il più vicino che sono venuto è stato in grado di impostare i colori per diverse cose nel mio terminale. Presumo che esista un comando reale per ottenere informazioni su una directory o un file.

+1

Probabilmente vuoi "stat". Scrivi 'man stat' per maggiori informazioni. – squiguy

risposta

16

Usa ls -l

uscita Esempio:

-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 è un link simbolico, getCactiImages.sh è un normale file

È inoltre possibile utilizzare stat filename

Esempio:

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 
4

ls -al lo dirà. Link simbolici verranno evidenziate così: target -> source

0

Con il comando 'ls -F', il nome del file avrà '@' come suffisso. Per vedere il link usa 'ls -l'. Potresti trovare conveniente definire

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