Changer récursivement les permissions sur tous les fichiers d’un répertoire spécifique :
find DIRECTORY -type f -print0 | xargs -0 chmod -v 0644
Changer récursivement les permissions sur tous les répertoire d’un répertoire spécifique :
find DIRECTORY -type d -print0 | xargs -0 chmod -v 0755
Lister récursivement des fichiers ou dossiers selon un pattern :
find DIRECTORY -name PATTERN -print0 | xargs -0 ls -1
Idem, mais moins rapide :
find DIRECTORY -name PATTERN -exec ls {} \;
Supprimer récursivement des fichiers ou dossiers selon un pattern :
find DIRECTORY -name PATTERN -print0 | xargs -0 rm -rfv
Idem, mais moins rapide :
find DIRECTORY -name PATTERN -exec rm -rfv {} \;
Afficher toutes les lignes non-commentées d’un fichier Linux :
grep -v -E "^[[:space:]]*#|^;" FILENAME
Même chose sans les lignes vides :
grep -v -E "^[[:space:]]*#|^;|^$" FILENAME
Afficher toutes les lignes non-commentées d’un fichier XML ou HTML :
sed -e '/<!--.*-->/d' -e '/<!--/,/-->/d' FILENAME
Vérifier les ports TCP/UDP IPv4 ouverts :
ss -4lntu
Extraire une archive tar.gz à la volée, si les fichiers sont archivés dans un dossier racine (mais dont on n’a pas besoin) :
wget -qO - URL/FILENAME.tar.gz | tar zxv -C TARGET --strip-components 1
Idem si les fichiers sont archivés directement à la racine, sans dossier conteneur :
wget -qO - URL/FILENAME.tar.gz | tar zxv -C TARGET
Sauvegarder son site Web :
tar -czvf WWWBACKUP.tar.gz -C /var/www/ mysite/ mysqldump --user=mysiteadmin --password=mysiteadminpw --databases mysitedb > DBBACKUP.sql
Restaurer son site Web :
sudo rm -rf /var/www/mysite/ sudo mysql -e "DROP DATABASE mysitedb"
sudo mysql -e "CREATE DATABASE IF NOT EXISTS mysitedb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"
tar -xzvf WWWBACKUP.tar.gz -C /var/www/ mysql --user=mysiteadmin --password=mysiteadminpw mysitedb < DBBACKUP.sql
Afficher le top 10 des IP ayant initié une connexion au serveur Apache :
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10
Afficher le top 10 des requêtes au serveur :
awk '{print $6,$7}' access.log | sort | uniq -c | sort -nr | head -n 10
Ajouter une page PHPinfo à la racine de son site Web :
echo "<?php phpinfo(); ?>" > /var/www/mysite/phpinfo.php