; Point-virgule
Exécuter les commandes en séquence
# ifdown eth0;ifup eth0
| Pipe
Dans les expressions régulières, signifie « ou »
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
La sortie standard de la commande précédente est utilisée comme entrée standard de la commande suivante.
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
&
Place la commande en arrière-plan pour exécution.
# mysqld_safe --user=mysql & 将MySQL放到后台启动
Représente la sortie standard et la sortie d'erreur standard.
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
&&
Exécuter la commande suivante uniquement si la commande précédente renvoie 0.
# ls && echo "ok"
||
Exécuter la commande suivante uniquement si la commande précédente renvoie une valeur non nulle.
# lls || echo "ok"
# Signe dièse
#Indique un commentaire
$#Indique le nombre de paramètres positionnels
# echo $# 0
${#variable_name}Indique la longueur de la variable
# a='hello'
# echo ${#a}
5
${#variable_name[@]}Indique le nombre d'éléments dans le tableau
# a=(1 2 3)
# echo ${#a[@]}
3
! Point d'exclamation
Inverse la valeur de retour d'une commande ou d'une expression conditionnelle.
# if ! [ 1 -lt 2 ]; then echo 'ok'; else echo 'no'; fi ok
Exécute une commande d'historique
# history 1 ls 2 tail test1.txt 3 mysql -uroot -p123 4 ls /tmp/ 5 cd /tmp/ [root@localhost ~]# !994 ls /tmp/ account.sql data.sql mysql.sock t1.txt t2.txt
Exécute des commandes shell externes dans vi ou ftp.
Par exemple : dans vim, pour exécuter une commande, passez en mode ligne de commande, tapez le point d'exclamation suivi de la commande à exécuter.
Référence indirecte à une variable
Par exemple : ${!a} ---- obtient indirectement la valeur de b
$ Symbole dollar
Obtient la valeur d'une variable.
# a=10 # echo $a 10
Dans les expressions régulières, représente la fin de ligne.
egrep ':$' /etc/inittab egrep ‘^hello$' file
> Signe supérieur
Redirection de sortie
echo '123' >test.txt 表示将123 输入到文件test.txt中Signe supérieur dans les tests conditionnels
< Signe inférieur
Redirection d'entrée
Signe inférieur dans les tests conditionnels
= Signe égal
Affectation de variable- Par exemple : set variable a=10
Signe égal dans les tests conditionnels- Par exemple : [ a=b ] teste si la variable a est égale à b.
Comparaison numérique ==- Par exemple : (( a==20 )) teste si la variable a est égale à 20.
+ Signe plus
Signe plus dans les opérations arithmétiques - Par exemple : 1+3
Dans les expressions régulières, un ou plusieurs exemplaires du caractère précédent - Par exemple : ab+c signifie correspondre à un ou plusieurs caractères entre ab et c.
>>
Redirection de sortie en ajout- Par exemple : echo "123" >> test.txt ajoute 123 au fichier test.txt.
<<
document ici
Par exemple :
# passwd <<end > 123 > 123 > end
Changer le mot de passe de l'utilisateur root.
- Signe moins
Signe moins dans les opérations arithmétiques - Par exemple : 10-2
Option de commande - Par exemple : ls -l
Répertoire de travail précédent - Par exemple : cd -
Représente un intervalle dans les caractères génériques et les expressions régulières - Par exemple : [a-z]
tar -cvf - /home | tar -xvf -
Représente un flux de sortie ou un flux d'entrée.
Rediriger la sortie précédente via un pipe vers la commande suivante ; la commande de gauche compresse, celle de droite décompresse.
'' Guillemets simples
Résoudre le problème des espaces dans l'affectation de variable.
Par exemple : a='1 2'
Empêcher la substitution du shell.
"" Guillemets doubles
Résoudre le problème des espaces dans l'affectation de variable.
Par exemple : a="1 2"
Empêcher la substitution de certains caractères du shell ; inefficace pour $, !, etc.
`` Backticks, équivalent à $()
Substitution de commande
Par exemple : vous pouvez définir la variable a=`ls`
% Signe pour cent
Opération modulo dans les opérations arithmétiques.
Par exemple : echo $((100%10)) donne un reste de 0 lorsque 100 est divisé par 10.
Dans les opérations de remplacement de vi, représente toutes les lignes. (En mode ligne de commande, ajoutez % avant le remplacement pour l'appliquer à toutes les lignes.)
Par exemple : En mode ligne de commande, saisissez :% s/D/d pour remplacer tous les D du texte par d.
() Parenthèses
Exécute des commandes dans un sous-shell ; il hérite des variables du shell parent.
Encadre les éléments d'un tableau.
Par exemple : définir un tableau.a=(1 2 3 4)
(()) Doubles parenthèses
Opérations arithmétiques.
Par exemple :echo $((10/2))Le résultat est 5.
Tests de comparaison d'entiers.
Par exemple :(( 10>2 ))Testez si 10 est supérieur à 2.
[] Crochets
Dans les jokers et les regex, signifie correspondre à un seul caractère à l’intérieur des crochets.
Par exemple :[abc]Signifie correspondre à l’un des caractères a, b ou c.
Expression de test conditionnelle.
Par exemple :[ -f /etc/passwd ]// Vérifie s’il s’agit d’un fichier.
Crochets d’indice dans les tableaux.
Par exemple :echo ${a[0]}Signifie obtenir la valeur à l’indice 0 dans le tableau.
[[]] Crochets doubles
Tests de comparaison de chaînes de caractères.
Par exemple : [[a=b]] est utilisé pour la comparaison de chaînes de caractères.
. Point (point)
En regex, signifie n’importe quel caractère.
Par exemple : a...b signifie correspondre à une chaîne avec trois caractères entre a et b.
Commande de script source dans le shell courant.
Par exemple : ./test.sh exécute le script shell test.sh dans le répertoire courant.
Représente le répertoire courant.
Par exemple : cd ./bgk entre dans le répertoire bgk sous le répertoire courant.
{} Accolades
Expansion des caractères génériques abc{1,2,3}
Représente une plage dans les expressions régulières.
Par exemple : a{3} correspond à trois a.
for i in {1...10} parcourt une plage spécifiée.
Fonction anonyme { cmd1;cmd2;cmd3;} &> /dev/null
Les commandes à l'intérieur de { } sont exécutées dans le shell courant.
Remarque : dans { }, il doit y avoir un espace avant la première commande, et un point-virgule après la ou les commandes suivantes.
Encadre les noms de variables.${abc}a
/ Barre oblique
Division dans les opérations arithmétiques.
Par exemple :echo $((10/2))Le résultat est 5.
Répertoire racine ou séparateur de chemin.
Par exemple :cd /usr/local/Représente un chemin.
^
Dans les caractères génériques, représente la négation.
Par exemple :[^abc] Signifie faire correspondre tout caractère sauf a, b ou c.
Dans les expressions régulières, représente « commence par ».
Par exemple :
egrep ‘^hello$' file