Projet

Général

Profil

Shell secours » Historique » Version 11

Julien Enselme, 13/02/2014 14:14

1 9 Julien Enselme
Liste de commandes pour des actions spécifiques. Pas/peu de détails/explications, [[Petit precis de shell|prérequis de shell]] supposés connus. Si une commande est donnée pour bash uniquement, cela signifie qu'elle n'est pas compatible avec le shell POSIX ou d'autres implémentations basiques mais est vraisemblablement disponible dans les autres implémentations évoluées telles que zsh.
2 1 Julien Enselme
3 2 Julien Enselme
{{toc}}
4 2 Julien Enselme
5 1 Julien Enselme
h1. Générer des nombres aléatoires
6 1 Julien Enselme
7 4 Julien Enselme
* @$RANDOM@ (*bash uniquement*) : tire un nombre aléatoirement entre 0 - 32767
8 4 Julien Enselme
* @fortune | cksum | cut -f1 -d" "@ : si RANDOM n'est pas disponible, la commande @fortune@ qui tire aléatoirement un proverbe l'est peut être. On en prend la somme pour obtenir un nombre.
9 4 Julien Enselme
* @seed=`( echo $$ ; time ps ; w ; date ) | cksum | cut -f1 -d" " `@ : utilise la date où le PID du dernier processus.
10 4 Julien Enselme
* @dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" "@ : utilise l'entrée d'entropie du noyau. C'est la meilleur méthode, la plus robuste pour générer de l'aléatoire.
11 1 Julien Enselme
12 1 Julien Enselme
h1. Prendre les x caractères d’une chaîne
13 1 Julien Enselme
14 1 Julien Enselme
@cut -cN-M@
15 1 Julien Enselme
16 1 Julien Enselme
h1. Revenir dans le répertoire précédent
17 1 Julien Enselme
18 1 Julien Enselme
@cd -@
19 1 Julien Enselme
20 1 Julien Enselme
h1. Vérifier paramètre non passé
21 1 Julien Enselme
22 11 Julien Enselme
@! -z "$2"@ ou @-n "$2"@
23 1 Julien Enselme
24 1 Julien Enselme
h1. Trier
25 1 Julien Enselme
26 1 Julien Enselme
@sort@
27 1 Julien Enselme
28 8 Julien Enselme
h1. Compter
29 1 Julien Enselme
30 3 Julien Enselme
* @wc@ : pour les mots, caractères, nombres de lignes
31 8 Julien Enselme
* @let@ ou @$(( 6+8 )) : pour les opérations mathématiques
32 1 Julien Enselme
33 6 Ismaeil Abouljamal
h1. Savoir si une chaîne est contenue dans une autre
34 3 Julien Enselme
35 3 Julien Enselme
* @[[ reg_exp =~ contenant ]]@ *bash uniquement*
36 7 Geoffroy Desvernay
* @grep -q "reg_exp" chaine@
37 3 Julien Enselme
38 1 Julien Enselme
h1. Renommer les fichiers en fonction d’une expression régulière
39 1 Julien Enselme
40 3 Julien Enselme
<pre>
41 3 Julien Enselme
<code class="bash">
42 3 Julien Enselme
for file in `ls` ; do
43 3 Julien Enselme
  a=`echo $file | sed 's/\(.*\)\.dump\(.*\)\.sql/\2.\1.sql/'`
44 3 Julien Enselme
  mv $file $a
45 3 Julien Enselme
done
46 3 Julien Enselme
</code>
47 3 Julien Enselme
</pre>
48 3 Julien Enselme
49 10 Julien Enselme
On peut également "utiliser Emacs":http://assos.centrale-marseille.fr/jenselme/content/emacs-edition-multiple.
50 5 Julien Enselme
51 5 Julien Enselme
h1. Faire une copie statique d’un site
52 5 Julien Enselme
53 5 Julien Enselme
wget -mkKE assos.centrale-marseille.fr/NOM