; 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