Quelques commandes utiles
La ligne de commande sous Linux peut être un outil très puissant et permettant d'aller très loin dans le traitement et la gestion des fichiers, encore faut-il se souvenir des commandes à saisir…
Général
Relancer la dernière commande en sudo
sudo !!
Rafraichir son adresse DHCP
Spécifiez l'interface ou l'on doit renouveler l'adresse :
sudo dhclient eth0
Envoyer un mail sans prompt
echo "Contenu du mail" | mail -s "sujet du mail" "mail@domaine.com"
Fichiers
Trouver et déplacer des fichiers
Exemple :
find -name '*.xls' | xargs -i -t cp {} ../xls
Trouver et afficher les fichiers les plus volumineux
En sudo
sudo find . -type f -size +1000k | sudo xargs ls -laSh | awk '{ print $5 ": " $9 }'
Sinon
find . -type f -size +1000k | xargs ls -laSh | awk '{ print $5 ": " $9 }'
Changer les extensions de fichier par lot
Exemple : php3 → php
ls -d *.php3 | sed 's/\(.*\).php3$/mv "&" "\1.php"/' | sh
Lister les derniers fichiers modifiés d'un dossier
- Afficher les fichiers dans l'ordre croissant de modification :
ls -latr
- Rechercher les fichiers modifiés la veille :
find . -type f -mtime -1
Changer les permissions sur les dossiers et fichiers .php (ou autres)
find . -type d -exec chmod 755 {} \; find . -name "*.php" -exec chmod 644 {} \;
Zipper des dossiers dans des zip individuels
for folder in *; do 7z a $folder.zip ./$folder/*; done
Dézipper dans des dossiers séparés
for archive in *.zip; do 7z x -o"`basename \"$archive\" .zip`" "$archive"; done
Images
Redimensionner par lot
Exemple :
mogrify -resize 1024x1024 -quality 60 *.JPG
Redimensionner et convertir par lot
Exemple :
mogrify -resize 1024x1024 -format jpg -quality 80 *.tif
MySql
Backup / Restore mysql
- Backup :
mysqldump -B -h localhost -u username -pPASSWORD dbname > dbname.sql
- Restore :
mysql -h localhost -u username -pPASSWORD dbname < dbname.sql
Subversion
Supprimer les .svn d'un dossier (récursif)
find . -name .svn -print0 | xargs -0 rm -rf
ou plus compatible :
rm -rf `find . -name .svn`
Faire un add récursif
svn add * --force
Annuler un add récursif
svn revert --depth infinity ./dossier
Editer la liste des fichiers à ignorer d'un dossier
svn propedit svn:ignore ./dossier
Ignorer un fichier déjà commité
svn changelist ignore-on-commit nomdufichier
Scraper
https://github.com/sselph/scraper
scraper -gdb_img b,s -image_dir downloaded_images -image_path downloaded_images -rom_path /recalbox/share/roms/snes