| Prochaine révision | Révision précédente |
| fr:tools:linux:file-handling [2023/09/30 14:15] – créée crunchyslime | fr:tools:linux:file-handling [2023/10/25 12:00] (Version actuelle) – [Utilisation du disque] admin |
|---|
| ==== File sort using extensions ==== | ==== Trier des fichiers rapidement par extention ==== |
| Moves files to folders based on their extension : | Déplace des fichiers en vrac dans un dossier en fonction de leur extension : |
| <code bash> | <code bash> |
| #!/bin/sh | #!/bin/sh |
| |
| echo "done" | echo "done" |
| | </code> |
| | |
| | |
| | ==== copier en conservant l'arborescence ==== |
| | [[https://ostechnix.com/copy-specific-file-types-while-keeping-directory-structure-in-linux/|source]] |
| | |
| | <code bash>find . -name '*.mp3' -exec cp --parents \{\} ~/target \;</code> |
| | |
| | * ''find'' – commande pour rechercher des fichiers et des dossiers dans les systèmes de type Unix. |
| | * Le point (''.'') - signifie que nous avons copié le contenu du répertoire actuel. |
| | * ''-name ‘*.mp3''' – recherche des fichiers avec l'extension .mp3 |
| | * ''-exec cp'' – exécutez la commande 'cp' pour copier les fichiers de la source vers le répertoire de destination. |
| | * ''--parents'' - créez les répertoires parents intermédiaires si nécessaire pour préserver la structure des répertoires parents. |
| | * ''\{\}'' – est automatiquement remplacé par le nom de fichier des fichiers trouvés par la commande « find ». Et les accolades sont échappées pour les protéger de l'expansion par le shell dans certaines versions de commande "find". Vous pouvez également utiliser ''{}'' sans caractères d'échappement. |
| | * ''~/target'' – répertoire cible pour enregistrer les fichiers correspondants. |
| | * ''\;'' – indique que les commandes à exécuter sont maintenant terminées et qu'il faut exécuter à nouveau la commande lors du prochain match. |
| | |
| | ==== copier récursivement tous les fichiers sans conserver l'arborescence ==== |
| | |
| | <code bash>find . -name '*.PNG' -exec cp \{\} allpics/ \;</code> |
| | |
| | Ici nous sommes à la racine de l'arborescence à explorer et le dossier de destination est ''allpics''. |
| | |
| | ==== lister les différences entre deux répertoires ==== |
| | compter les différences |
| | <code bash>diff -y <(cd /chemin/du/dossier/1/ && ls -R) <(cd /chemin/du/dossier/2/ && ls -R) | wc -l</code> |
| | |
| | lister les différences dans diff.log |
| | <code bash>diff -y <(cd /chemin/du/dossier/1/ && ls -R) <(cd /chemin/du/dossier/2/ && ls -R) > diff.log</code> |
| | |
| | ajouter ''grep -E \/'' ou ''-d'' sur le ''ls'' permet de lister les répertoires |
| | |
| | ==== lister les duplicatas ==== |
| | [[https://buildvirtual.net/how-to-find-duplicate-files-on-linux/|source]] |
| | |
| | **detect duplicates** |
| | |
| | <code bash>fdupes -Sr .</code> |
| | |
| | ==== Utilisation du disque ==== |
| | quelques commandes pratiques : |
| | <code bash> |
| | #lister les 30 plus gros fichier d'une arborescence |
| | du -Sh | sort -rh | head -30</code> |
| | <code bash> |
| | #ncurse disk usage |
| | ncdu |
| | #sur system de fichier distant |
| | ssh -C user@system ncdu -o- / | ./ncdu -f- |
| </code> | </code> |