====== Quelques commandes utiles ======
{{:linux:terminal_icon.png?40 |Terminal}} 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