GNU/Linux >> Tutoriels Linux >  >> Linux

Recherche de fichiers exécutables à l'aide de ls et grep

Si vous devez absolument utiliser ls et grep, cela fonctionne :

ls -Fla | grep '^\S*x\S*'

Il correspond aux lignes où le premier mot (non blanc) contient au moins un 'x'.

Find est l'outil parfait pour cela. Cela trouve tous les fichiers (-type f) qui sont exécutables :

find . -type f -executable

Si vous ne voulez pas qu'il liste récursivement tous les exécutables, utilisez maxdepth :

find . -maxdepth 1 -type f -executable

Avez-vous besoin d'utiliser ls? Vous pouvez utiliser find pour faire la même chose :

find . -maxdepth 1 -perm -111 -type f

renverra tous les fichiers exécutables du répertoire courant. Supprimez l'indicateur -maxdepth pour parcourir tous les répertoires enfants.

Vous pouvez essayer cette horreur, mais cela peut correspondre à des fichiers contenant des chaînes qui ressemblent à des autorisations.

ls -lsa | grep -E "[d\-](([rw\-]{2})x){1,3}"

Peut-être avec test -x ?

for f in $(\ls) ; do test -x $f && echo $f ; done

Le \ sur ls contournera les alias du shell.


for i in `ls -l | awk '{ if ( $1 ~ /x/ ) {print $NF}}'`; do echo `pwd`/$i; done

Cela donne des chemins absolus aux exécutables.


Linux
  1. Utilisation de sed pour rechercher et remplacer des fichiers texte sous Linux

  2. Comment renommer plusieurs fichiers à l'aide de Find ?

  3. Rechercher et copier des fichiers

  4. rechercher et supprimer des fichiers avec de l'espace à l'aide de la commande find sous Linux

  5. tcpdump - faire pivoter les fichiers de capture en utilisant -G, -W et -C

Comment trouver une chaîne ou un mot spécifique dans les fichiers et les répertoires

Rechercher la commande sous Linux (Rechercher des fichiers et des répertoires)

Commande Grep sous Linux (Rechercher du texte dans des fichiers)

Trouvez facilement des fichiers et des répertoires sur Linux

Rechercher du texte dans des fichiers sous Linux à l'aide de grep

Recherche et suppression de fichiers avec une date spécifique