Commandes utiles
De GioWiki.
Gio (discuter | contributions) (Page créée avec « == Afficher le contenu d'un fichier sans les commentaires == La commande suivante permet de retirer les lignes précédées d'un # ou ; ainsi que les lignes vides pour pouvoi... ») |
Gio (discuter | contributions) m (Créer une clé usb bootable à partir d'un fichier ISO) |
||
Ligne 1 : | Ligne 1 : | ||
+ | == Créer une clé usb bootable à partir d'un fichier ISO == | ||
+ | Tip: Find out the name of your USB drive with '''lsblk'''. Make sure that it is '''not''' mounted. | ||
+ | |||
+ | /!\ Warning: This will irrevocably destroy all data on /dev/'''sdx'''. To restore the USB drive as an empty, usable storage device after using the ISO image, the iso9660 filesystem signature needs to be removed by running '''wipefs --all /dev/sdx''' as root, before repartitioning and reformating the USB drive. | ||
+ | |||
+ | Run the following command, replacing /dev/'''sdx''' with your drive, e.g. /dev/sdb. (do '''not''' append a partition number, so do '''not''' use something like /dev/sdb'''1'''): | ||
+ | |||
+ | # dd bs=4M if=/path/to/archlinux.iso of=/dev/'''sdx''' status=progress && sync | ||
+ | |||
+ | Wait for the command ''sync'' to complete before unplugging the USB drive to ensure the data was written completely. | ||
+ | |||
== Afficher le contenu d'un fichier sans les commentaires == | == Afficher le contenu d'un fichier sans les commentaires == | ||
La commande suivante permet de retirer les lignes précédées d'un # ou ; ainsi que les lignes vides pour pouvoir afficher uniquement le contenu intéressant. | La commande suivante permet de retirer les lignes précédées d'un # ou ; ainsi que les lignes vides pour pouvoir afficher uniquement le contenu intéressant. | ||
- | '''grep -vE "^[#;]" fichier.conf | + | '''grep -vE "^\s*[#;]|^$" fichier.conf''' |
- | + | ||
== rsync d'un répertoire local sur une machine distante == | == rsync d'un répertoire local sur une machine distante == | ||
Ligne 26 : | Ligne 36 : | ||
Timing buffered disk reads: 184 MB in 3.03 seconds = 60.78 MB/sec | Timing buffered disk reads: 184 MB in 3.03 seconds = 60.78 MB/sec | ||
- | + | == Copie de fichiers over ssh avec compression == | |
- | = Copie de fichiers over ssh avec compression = | + | |
Plutôt que de copier nos 40Go sur le réseau, on compresse l'image à la volée et en plus on gère les fichiers sparse. | Plutôt que de copier nos 40Go sur le réseau, on compresse l'image à la volée et en plus on gère les fichiers sparse. | ||
tar -cvzSf - mon_image.img |ssh server "(cd /mnt/backup && tar -xvzSf -)" | tar -cvzSf - mon_image.img |ssh server "(cd /mnt/backup && tar -xvzSf -)" | ||
+ | |||
+ | == Manipuler les chaînes de caractères (bash) == | ||
+ | ${chaine:position:longueur} | ||
+ | |||
+ | * Retirer les 3 premiers caractères d'une chaîne | ||
+ | ${i:3} | ||
+ | * Retirer les 3 derniers caractères d'une chaîne | ||
+ | ${i::${#i}-3} | ||
+ | ${#i} permet d'obtenir la longueur de la chaîne | ||
+ | * Récupérer les 3 premiers caractères d'une chaîne | ||
+ | ${i::3} | ||
+ | * Récupérer les 3 derniers caractères d'une chaîne | ||
+ | ${i: -3} | ||
+ | Pour plus d'informations : [http://abs.traduc.org/abs-5.3-fr/ch09s02.html Manipuler les chaînes de caractères] | ||
+ | |||
+ | * Uppercase | ||
+ | Utilisation du caractère ^ | ||
+ | <pre> | ||
+ | $ string="a few words" | ||
+ | |||
+ | $ echo ${string^} | ||
+ | A few words | ||
+ | |||
+ | $ echo ${string^^} | ||
+ | A FEW WORDS | ||
+ | |||
+ | $ echo ${string^^[aeiou]} | ||
+ | A fEw wOrds | ||
+ | </pre> | ||
+ | |||
+ | * Lowercase | ||
+ | Utilisation du caractère , | ||
+ | <pre> | ||
+ | $ string="A FEW WORDS" | ||
+ | |||
+ | $ echo ${string,} | ||
+ | a FEW WORDS | ||
+ | |||
+ | $ echo ${string,,} | ||
+ | a few words | ||
+ | |||
+ | $ echo ${string,,[AEIOU]} | ||
+ | a FeW WoRDS | ||
+ | </pre> | ||
+ | |||
+ | * Toggle | ||
+ | Utilisation du caractère ~ | ||
+ | |||
+ | ~ Inverse (Upper/Lower) uniquement sur le premier caractère de chaque mots | ||
+ | |||
+ | ~~ Inverse (Upper/Lower) sur tous les caractères de tous les mots | ||
+ | <pre> | ||
+ | $ string="A Few Words" | ||
+ | $ echo ${string~~} | ||
+ | a fEW wORDS | ||
+ | |||
+ | $ string="A FEW WORDS" | ||
+ | $ echo ${string~} | ||
+ | a fEW wORDS | ||
+ | |||
+ | $ string="a few words" | ||
+ | $ echo ${string~} | ||
+ | A Few Words | ||
+ | </pre> | ||
+ | |||
+ | * Title case | ||
+ | $ string="a few words" | ||
+ | |||
+ | On transforme notre variable en tableau pour pouvoir traiter chacun des mots | ||
+ | $ string=($string) | ||
+ | On uppercase chacun des premiers caractères de chaque mots | ||
+ | $ string=${string[@]^} | ||
+ | |||
+ | $ echo $string | ||
+ | A Few Words | ||
+ | |||
+ | |||
+ | == Additionner le contenu des lignes d'un fichier == | ||
+ | Imaginons un fichier qui contient un numéro à chaque ligne et que vous souhaitez obtenir le résultat de l'ensemble de ces nombres. Il suffit d'exécuter la commande suivante : | ||
+ | paste -sd+ <file> | bc |