; Semikolon
Befehle nacheinander ausführen
# ifdown eth0;ifup eth0
| Pipe
Bedeutet in regulären Ausdrücken "oder"
# echo "ooooee" |egrep '(oo|ee)'{2} 表示匹配 oooo 或者 eeee 的字符
Die Standardausgabe des vorhergehenden Befehls wird als Standardeingabe des nachfolgenden Befehls verwendet.
# ifconfig|grep eth0 表示ifconfig查出来的信息然后过滤出eth0的这一行
&
Den Befehl im Hintergrund ausführen.
# mysqld_safe --user=mysql & 将MySQL放到后台启动
Steht für Standardausgabe und Standardfehlerausgabe.
# ifconfig &>/dev/null 将ifconfig执行得到的结果输出到/dev/null里面
&&
Führt den folgenden Befehl nur aus, wenn der vorhergehende Befehl 0 zurückgibt.
# ls && echo "ok"
||
Führt den folgenden Befehl nur aus, wenn der vorhergehende Befehl einen Wert ungleich null zurückgibt.
# lls || echo "ok"
# Hash-Zeichen
#Kennzeichnet einen Kommentar.
$#Gibt die Anzahl der Positionsparameter an
# echo $# 0
${#variable_name}Gibt die Länge der Variablen an
# a='hello'
# echo ${#a}
5
${#variable_name[@]}Gibt die Anzahl der Elemente im Array an
# a=(1 2 3)
# echo ${#a[@]}
3
! Ausrufezeichen
Invertiert den Rückgabewert eines Befehls oder eines bedingten Ausdrucks.
# if ! [ 1 -lt 2 ]; then echo 'ok'; else echo 'no'; fi ok
Führt einen History-Befehl aus
# 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
Führt externe Shell-Befehle in vi oder ftp aus.
Zum Beispiel: Um in vim einen Befehl auszuführen, wechseln Sie in den Kommandozeilenmodus und geben Sie das Ausrufezeichen gefolgt von dem auszuführenden Befehl ein.
Indirekte Variablenreferenz
Zum Beispiel: ${!a} ---- ruft indirekt den Wert von b ab
$ Dollarzeichen
Ruft den Wert einer Variablen ab.
# a=10 # echo $a 10
In regulären Ausdrücken steht dies für das Zeilenende.
egrep ':$' /etc/inittab egrep ‘^hello$' file
> Größer-als-Zeichen
Ausgabeumleitung
echo '123' >test.txt 表示将123 输入到文件test.txt中Größer-als-Zeichen in Bedingungstests
< Kleiner-als-Zeichen
Eingabeumleitung
Kleiner-als-Zeichen in Bedingungstests
= Gleichheitszeichen
Variablenzuweisung- Zum Beispiel: set variable a=10
Gleichheitszeichen in Bedingungstests- Zum Beispiel: [ a=b ] prüft, ob die Variable a gleich b ist.
Numerischer Vergleich ==- Zum Beispiel: (( a==20 )) prüft, ob die Variable a gleich 20 ist.
+ Pluszeichen
Pluszeichen in arithmetischen Operationen - Zum Beispiel: 1+3
In regulären Ausdrücken: ein oder mehrere des vorangehenden Zeichens – Zum Beispiel: ab+c bedeutet, dass ein oder mehrere Zeichen zwischen ab und c übereinstimmen.
>>
Ausgabeumleitung anhängen– Zum Beispiel: echo "123" >> test.txt hängt 123 an die Datei test.txt an.
<<
Here-Dokument
Zum Beispiel:
# passwd <<end > 123 > 123 > end
Ändern Sie das Passwort des Benutzers root.
- Minuszeichen
Minuszeichen bei arithmetischen Operationen – Zum Beispiel: 10-2
Befehlsoption – Zum Beispiel: ls -l
Vorheriges Arbeitsverzeichnis – Zum Beispiel: cd -
Stellt einen Bereich in Platzhaltern und regulären Ausdrücken dar – Zum Beispiel: [a-z]
tar -cvf - /home | tar -xvf -
Stellt Ausgabestrom oder Eingabestrom dar.
Leiten Sie die vorherige Ausgabe an den folgenden Befehl weiter; vorne wird komprimiert, hinten dekomprimiert.
'' Einfache Anführungszeichen
Löst das Problem von Leerzeichen bei der Variablenzuweisung.
Zum Beispiel: a='1 2'
Verhindert Shell-Substitution.
"" Doppelte Anführungszeichen
Löst das Problem von Leerzeichen bei der Variablenzuweisung.
Zum Beispiel: a="1 2"
Verhindert die Substitution einiger Shell-Zeichen; unwirksam bei $, ! usw.
`` Backticks, äquivalent zu $()
Befehlssubstitution
Zum Beispiel: Sie können die Variable a=`ls` setzen
% Prozentzeichen
Modulo-Operation in arithmetischen Operationen.
Zum Beispiel: echo $((100%10)) ergibt Rest 0, wenn 100 durch 10 geteilt wird.
Bei vi-Ersetzungsoperationen steht es für alle Zeilen. (Im Kommandozeilenmodus % vor dem Ersetzen einfügen, um es auf alle Zeilen anzuwenden.)
Zum Beispiel: Geben Sie im Kommandozeilenmodus :% s/D/d ein, um alle D im Text durch d zu ersetzen.
() Runde Klammern
Befehle in einer Subshell ausführen; sie erbt Variablen von der übergeordneten Shell.
Umschließt Array-Elemente.
Zum Beispiel: ein Array definieren.a=(1 2 3 4)
(()) Doppelte Klammern
Arithmetische Operationen.
Zum Beispiel:echo $((10/2))Das Ergebnis ist 5.
Ganzzahl-Vergleichstests.
Zum Beispiel:(( 10>2 ))Testen Sie, ob 10 größer als 2 ist.
[] Eckige Klammern
In Wildcards und Regex bedeutet es, dass ein beliebiges einzelnes Zeichen innerhalb der Klammern übereinstimmt.
Zum Beispiel:[abc]Bedeutet, dass eines der Zeichen a, b oder c übereinstimmt.
Bedingter Testausdruck.
Zum Beispiel:[ -f /etc/passwd ]// Testet, ob es eine Datei ist.
Indexklammern in Arrays.
Zum Beispiel:echo ${a[0]}Bedeutet, den Wert am Index 0 im Array abzurufen.
[[]] Doppelte eckige Klammern
Vergleichstests für Zeichenketten.
Zum Beispiel: [[a=b]] wird für den Zeichenkettenvergleich verwendet.
. Punkt (dot)
In Regex bedeutet es ein beliebiges einzelnes Zeichen.
Zum Beispiel: a...b bedeutet, dass eine Zeichenkette mit drei Zeichen zwischen a und b übereinstimmt.
Source-Befehl für Skripte in der aktuellen Shell.
Zum Beispiel: ./test.sh führt das Shell-Skript test.sh im aktuellen Verzeichnis aus.
Repräsentiert das aktuelle Verzeichnis.
Zum Beispiel: cd ./bgk wechselt in das bgk-Verzeichnis unterhalb des aktuellen Verzeichnisses.
{} Geschweifte Klammern
Wildcard-Erweiterung abc{1,2,3}
Repräsentiert einen Bereich in regulären Ausdrücken.
Zum Beispiel: a{3} stimmt mit drei a überein.
for i in {1...10} iteriert über einen angegebenen Bereich.
Anonyme Funktion { cmd1;cmd2;cmd3;} &> /dev/null
Die Befehle innerhalb von { } werden in der aktuellen Shell ausgeführt.
Hinweis: In { } muss vor dem ersten Befehl ein Leerzeichen stehen und nach dem bzw. den nachfolgenden Befehl(en) ein Semikolon.
Umschließt Variablennamen.${abc}a
/ Schrägstrich
Division in arithmetischen Operationen.
Zum Beispiel:echo $((10/2))Das Ergebnis ist 5.
Wurzelverzeichnis oder Pfadtrennzeichen.
Zum Beispiel:cd /usr/local/Stellt einen Pfad dar.
^
In Wildcards steht es für Negation.
Zum Beispiel:[^abc] Bedeutet Übereinstimmung mit jedem Zeichen außer a, b oder c.
In regulären Ausdrücken steht es für "beginnt mit".
Zum Beispiel:
egrep ‘^hello$' file