In der vorherigen Vorlesung des grundlegenden Linux-Shell-Skriptkurses wurden der Anfang, die Kommentare, die Variablen und die Umgebungsvariablen der Grundgrammatik vorgestellt. Hier stellen wir den ersten Teil des Shell-Befehls- und Steuerungsprozesses vor kann in Shell-Skripten verwendet werden. Den Steuerungsprozess überlassen wir der nächsten Lektion.
1.1.5 Shell-Befehle und Prozesssteuerung
Drei Arten von Befehlen können in Shell-Skripten verwendet werden:
1) Unix-Befehle:
Obwohl jeder Unix-Befehl in Shell-Skripten verwendet werden kann, gibt es dennoch welche Einige der am häufigsten verwendeten Befehle. Diese Befehle werden normalerweise für Datei- und Textoperationen verwendet.
Allgemeine Befehlssyntax und Funktionen
echo „some text“: Textinhalt auf dem Bildschirm drucken
ls: Dateiliste
wc –l filewc -w filewc -c file: Anzahl der Dateizeilen berechnen Die Anzahl der Wörter in der Datei zählt die Anzahl der Zeichen in der Datei
cp sourcefile destfile: die Datei kopieren
mv oldname newname: die Datei umbenennen oder die Datei verschieben
rm file: die Datei löschen
grep 'pattern' file: Suche nach Zeichenfolgen in Dateien, zum Beispiel: grep 'searchstring' file.txt
cut -b colnum file: Geben Sie den Bereich der anzuzeigenden Dateiinhalte an und geben Sie sie auf dem Standardausgabegerät aus . Zum Beispiel: Geben Sie die 5. bis 5. Zeile jeder Zeile aus. Cut -b5-9 file.txt darf nicht mit dem Befehl cat verwechselt werden.
cat file.txt: Geben Sie die Datei aus Inhalt an das Standardausgabegerät (Bildschirm)
file somefile: Den Dateityp abrufen
var lesen: Den Benutzer zur Eingabe auffordern und die Eingabe der Variablen zuweisen
sort file.txt: Die Zeilen in sortieren file.txt-Datei
uniq: Löschen Sie die Zeilen, die in den Zeilen und Spalten der Textdatei angezeigt werden, zum Beispiel: sort file.txt | uniq
expr: Führen Sie mathematische Operationen ausBeispiel: addiere 2 und 3expr 2 „+“ 3
Suche: Suche nach Dateien, zum Beispiel: Suche basierend auf dem Dateinamen find >Basisname Datei: Gibt den Dateinamen ohne Pfad zurück. Beispiel: Basisname /bin/tux gibt tux zurück.
Verzeichnisname Datei: Gibt den Pfad der Datei zurück. Beispiel: Verzeichnisname /bin/tux gibt /bin zurück >Kopfdatei: druckt die ersten paar Zeilen der Textdatei
Taildatei: druckt die letzten paar Zeilen der Textdatei
sed: Sed ist ein einfaches Suchersetzungsprogramm. Sie können Text aus der Standardeingabe (z. B. einer Befehlspipe) lesen und
die Ergebnisse in der Standardausgabe (Bildschirm) ausgeben. Dieser Befehl verwendet für die Suche reguläre Ausdrücke (siehe Referenz). Nicht zu verwechseln mit Wildcards in der Shell. Beispiel: Ersetzen Sie linuxfocus durch LinuxFocus: cat text.file |. sed 's/linuxfocus/LinuxFocus/' > Standardmäßig ist das Feldtrennzeichen ein Leerzeichen. Sie können -F verwenden, um andere Trennzeichen anzugeben.
cat file.txt |. awk -F, '{print $1 "," $3 }' Hier verwenden wir als Feldtrennzeichen, um das erste und dritte Feld gleichzeitig zu drucken. Wenn der Inhalt der Datei wie folgt lautet: Adam Bor, 34, IndiaKerry Miller, 22, USA, lautet die Befehlsausgabe: Adam Bor, IndiaKerry Miller, USA
2) Konzept: Pipeline, Umleitung und Backtick
Diese sind keine Systembefehle, aber sie sind wirklich wichtig.
Pipe (|) übernimmt die Ausgabe eines Befehls als Eingabe eines anderen Befehls.
grep „hello“ file.txt |. wc -l
Suchen Sie nach Zeilen, die „hello“ in file.txt enthalten, und zählen Sie die Anzahl der Zeilen.
Hier wird die Ausgabe des grep-Befehls als Eingabe des wc-Befehls verwendet. Natürlich können Sie mehrere Befehle verwenden.
Umleiten: Geben Sie die Ergebnisse des Befehls in eine Datei statt in die Standardausgabe (Bildschirm) aus.
> In die Datei schreiben und die alte Datei überschreiben
>> Am Ende der Datei anhängen und den alten Dateiinhalt behalten.
Backslash
Verwenden Sie den Backslash, um die Ausgabe eines Befehls als Befehlszeilenparameter eines anderen Befehls zu verwenden.
Befehl:
find . -mtime -1 -type f -print
wird verwendet, um Dateien zu finden, die in den letzten 24 Stunden geändert wurden (-mtime –2 bedeutet die letzten 48 Stunden). Wenn Sie alle gefundenen Dateien in ein Paket packen möchten, können Sie das folgende Skript verwenden:
#!/bin/sh
# Die Häkchen sind Backticks (`) und keine normalen Anführungszeichen ('):
tar -zcvf lastmod.tar.gz `find . -mtime -1 -type f -print`
Das war's für die zweite Vorlesung. In der nächsten Vorlesung über das grundlegende Erlernen von Linux-Shell-Skripten werden wir weiter sprechen.
Das Obige ist eine detaillierte Einführung in das grundlegende Erlernen von Linux-Shell-Skripten (2). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!