Skip to main content

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
Ajouter  l'attribut d'immutabilité d'un fichier (en root on n'a pas la perm de le modifier !) :
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