Voici une petite astuce qui permet d’obtenir la liste des liens symboliques contenus dans un répertoire:
ls -F | grep @$ | awk -F@ '{print $1}'
La même chose mais cette fois de façon récursive:
find . -type l
Voici une petite astuce qui permet d’obtenir la liste des liens symboliques contenus dans un répertoire:
ls -F | grep @$ | awk -F@ '{print $1}'
La même chose mais cette fois de façon récursive:
find . -type l
Pour compter récursivement le nombre de fichiers du répertoire recursivement:
find /home/starmate -type f | wc -l
Ça marche aussi pour les dossiers :
find /home/starmate -type d | wc -l
Pour compter récursivement le nombre de fichiers dans chaque dossier et sous dossier du répertoire:
find /home/starmate -type d | while read i; do ls $i | wc -l | tr -d \\n; echo " -> $i"; done | sort -n
Par proprietaire:
find /home/starmate -user starmate | wc -l
-name Recherche par nom de fichier.
-type Recherche par type de fichier.
-user Recherche par propriétaire.
-group Recherche par appartenance à un groupe.
-size Recherche par taille de fichier.
-atime Recherche par date de dernier accès.
-mtime Recherche par date de dernière modification.
-ctime Recherche par date de création.
-perm Recherche par autorisations d'accès.
-links Recherche par nombre de liens au fichier.
J’ai rencontré cette petite erreur avec des répertoires contenant des millions de fichiers, qu’on vous demande de lister/supprimer, voici la solution la plus rapide.
find /chemin/repertoire -type f -name '*.log' | xargs rm -f
ou
find /chemin/repertoire -type f -name '*.log' -delete
ou encore :
find /chemin/repertoire -type f -name '*.log' -exec rm -rf {};
Pour effacer tout le contenu d’un répertoire en épargnant un fichier:
cd repertoire
find . -maxdepth 1 -not -name fichier_a_conserver -exec rm -rf ‘{}’ \;
Pou effacer tout le contenu d’un dossier sauf les fichiers jpg:
cd dossier
find . -maxdepth 1 -not -name *.jpg -exec rm -rf ‘{}’ \;
Pour supprimer tous les fichiers « .db » a partir du répertoire courant:
find . -type f -name "*db" -exec rm -f {} \;
Pour supprimer tous les fichiers « .db » à partir de la racine en demandant une confirmation:
find . -type f -name "*.db" -exec rm -i {} \;
Pour supprimer tous les repertoires se terminant par « db » à partir du répertoire courant:
find . -type d -name "*db" -exec rm -rf {} \;