Sous linux, quand on cherche des fichiers, il existe la commande find.
Mais cette commande permet de réaliser plus que de simple recherches : elle permet également d’appliquer des outils directement sur les résultats de recherche.
ça paraît vague dit comme ça, mais cette commande est M*A*G*I*Q*U*E* et fait partie du BA-ba à connaître sous linux quand on est DevOps.
Quelques exemples :
- Créer un fichier checksum sur l’ensemble des fichiers d’une livraison
Une livraison se trouve dans le dossier “livraison/” et on souhaite générer un fichier checksum au format sha256 :
find livraison/ -type f -exec sha256sum "{}" \;
Il ne reste plus qu’à rediriger la sortie vers un fichier, sans oublier de rediriger éventuellement la sortie d’erreur.
Et les erreurs
- find dossiers inacessibles #scripts
find . -type d -perm 700 -exec ls -ld "{}" \; | awk '$3 != "oasitqtc"{print $3, $NF} ' | sort find . -type d -user $LOGNAME | grep ctrl find . -type d -user $LOGNAME -perm 700 find . -type d -user $LOGNAME -perm 700 -exec chmod -R g+rwx "{}" \;
- Suppression de fichiers thumbs.db et Thumbs.db appartenant à des comptes divers
sudo find . -type f -iname "Thumbs.db" -exec rm "{}" \;
- Rechercher des liens morts
find . -type l ! -exec test -e {} \; -print