Commandes utiles

De GioWiki.

(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... »)
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 -v ^$'''
+
  '''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

Version actuelle en date du 15 mai 2017 à 13:54

Outils personnels