Traitement des fichiers
Faire un rechercher remplacer récursif :
Remplacer "texte1" par "texte2".
find . -name "*" -exec sed -i 's/texte1/texte2/g' {} \;
Rechercher une chaine présente dans des fichiers d'un dossier de manière récursive :
grep -rnw /PATH/TO/THE/FOLDER -e 'MA-CHAÎNE'
Supprimer les dossiers datant de plus de quinze jours :
DIR=/backup
find $DIR -type d -ctime +15 -exec rm -rf {};
Grep toutes les IPS d'un fichier
cat mon_super_fichier | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
Taille dossier d'un niveau uniquement :
du --max-depth=1 -h
Supprimer l'attribut d'immutabilité d'un fichier (en root on n'a pas la perm de le modifier !) :
sudo chattr -i filetochange
sudo chattr +i filetochange
Récupérer un fichier perdu, supprimé :
Foremost permet de récupérer les fichiers supprimés. Cette récupération n'est pas parfaite car les données perdues peuvent être écrasés par une réécriture :
foremost -t all -i /dev/sda1
Gérer les ACL
Récupérer les informations d'un fichier :
stat launch_kee.sh
====================================================
Fichier : launch_kee.sh
Taille : 82 Blocs : 8 Blocs d'E/S : 4096 fichier
Périphérique : 254/1 Inœud : 4718858 Liens : 1
Accès : (0755/-rwxr-xr-x) UID : ( 0/ root) GID : ( 0/ root)
Accès : 2024-06-10 11:24:44.881570498 +0200
Modif. : 2024-06-10 11:24:33.865592246 +0200
Changt : 2024-06-10 11:24:41.201577761 +0200
Créé : 2024-06-10 11:24:29.949599980 +0200
Récupérer les ACL d'un fichier :
getfacl launch_kee.sh
=========================
# file: launch_kee.sh
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
Ajouter les perms à un utilisateur :
sudo setfacl -m user:nehemie:rw- launch_kee.sh
Constat :
getfacl launch_kee.sh
==============================
# file: launch_kee.sh
# owner: root
# group: root
user::rwx
user:nehemie:rw-
group::r-x
mask::rwx
other::r-x
Supprimer les perms à un utilisateur :
sudo setfacl -Rm user:nehemie:--- launch_kee.sh
- - R : ACL Récurcif
Constat :
getfacl launch_kee.sh
====================================
# file: launch_kee.sh
# owner: root
# group: root
user::rwx
user:nehemie:---
group::r-x
mask::r-x
other::r-x
Cloner une carte SD:
Créer l'ISO :
umount /media/nehemie/boot
umount /media/nehemie/rootfs
sudo dd if=/dev/sdb of=/home/nehemie/backup/raspberry_16Go.iso
Appliquer l'ISO (sur une autre carte SD) :
Débrancher la carte SD source puis, brancher la carte dest
umount /media/nehemie/boot
umount /media/nehemie/rootfs
sudo dd if=/home/nehemie/backup/raspberry_16Go.iso of=/dev/sdb
Trouver les fichiers les plus gros d'une partition
find / -xdev -type f -size +100M -exec du -h {} + 2>/dev/null | sort -hr | head -n 20
Transformations via XARGS :
Quand on doit exécuter une commande sur des centaines de fichiers trouvés par find, traiter une liste depuis un fichier ou éviter l’erreur “argument list too long”, xargs est l’outil indispensable. Simple et puissant, xargs transforme l’entrée standard en arguments pour une autre commande, permettant de chaîner les commandes efficacement.
cat urls.txt | xargs -P 4 -I {} curl -O {}
P pour parallèles
No Comments