233 votes

Comment lister tous les liens symboliques dans un répertoire

J'ai un lien symbolique dans mon /var/www/ qui renvoie à WordPress. Lorsque je lance la commande ls -la de la /var/www/ Le lien vers WordPress n'apparaît pas dans le répertoire. Existe-t-il un moyen de répertorier tous les liens symboliques présents dans un répertoire ?

414voto

Sylvain Pineau Points 59212

Analyse syntaxique ls est un Mauvaise idée ® préfèrent un simple find dans ce cas :

find . -type l -ls

Pour ne traiter que le répertoire courant :

find . -maxdepth 1 -type l -ls

Crédits : Comment faire pour que le Shell reconnaisse les noms de fichiers renvoyés par une commande `ls -A`, et que ces noms contiennent des espaces ?

123voto

g_p Points 17101

Vous pouvez utiliser grep con ls pour lister tous les liens symboliques présents dans le répertoire courant.

Ceci va lister tous les liens présents dans le répertoire courant.

ls -la /var/www/ | grep "\->"

10voto

Kalibur Points 101

grep est votre ami :

ls -lhaF | grep ^l   # list links
ls -lhaF | grep ^d   # list directories
ls -lhaF | grep ^-   # list files

Ceci listera les lignes commençant par "l" qui représentent des liens dans la colonne perms à la place de l utiliser d pour les répertoires et - pour les fichiers

6voto

cuonglm Points 2255

POSIXly :

find ! -name . -prune -type l

3voto

Ohad Cohen Points 433

Ceci retourne tous les éléments symboliquement liés (à la fois dirs et fns) dans un répertoire :

find . -maxdepth 1 -type l -print | cut -c3- | grep -v "\#"

Cependant, afin de distinguer les types d'articles réels liés symboliquement :

ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep -v "/" | cut -d' ' -f1

Renvoie uniquement les éléments de nom de fichier liés symboliquement. Et,

ls -lhaF | grep ^l | grep -v "\#" | cut -c42- | grep "/" | cut -d' ' -f1

Renvoie uniquement les éléments de nom de répertoire liés symboliquement.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X