Mindmap-Galerie Betrieb und Wartung von Linux
Dies ist eine Mindmap zum Erlernen des Linux-Betriebs und der Linux-Wartung von der alten Schule, einschließlich einer Einführung in die Linux-Befehlszeile, Datei- und Verzeichnisoperationsbefehle, Dateifilterung sowie Befehle zum Bearbeiten und Verarbeiten von Inhalten usw.
Bearbeitet um 2024-01-16 11:24:10Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Lernen Sie den Betrieb und die Wartung von Linux vom alten Jungen
Kapitel 1 Einführung in die Linux-Befehlszeile
Übersicht über die Linux-Befehlszeile
Einführung in die Linux-Befehlszeilen-Eingabeaufforderung
Das #-Zeichen ist die Eingabeaufforderung am Ende der Befehlszeile nach der Anmeldung als Superuser-Root, und das $-Zeichen ist die Eingabeaufforderung am Ende der Befehlszeile nach der Anmeldung als normaler Benutzer.
Superbenutzer verfügen über alle Berechtigungen zum Verwalten des Systems. Normale Benutzer haben relativ begrenzte Berechtigungen und können nur Vorgänge wie das Anzeigen grundlegender Systeminformationen ausführen und keine Systemkonfigurationen und Verwaltungsdienste ändern.
Die Zeichen vor der Eingabeaufforderung @ stellen den aktuell angemeldeten Benutzer dar (kann von whoami abgefragt werden), die Zeichen nach @ sind der Hostname (kann per Hostname abgefragt werden) und der Speicherort von ~ ist der Pfad des aktuellen Benutzer im Fenster.
Die Linux-Eingabeaufforderung wird durch die Umgebungsvariable PS1 gesteuert. set |. grep PS1 PS1='[\u@\h\W]\$'
Befehle zum Herunterfahren, Neustarten und Abmelden von Linux
Befehl zum Neustarten oder Herunterfahren: Herunterfahren
Herunterfahren [OPTION]... ZEIT [MESSAGE]
Beachten Sie, dass zwischen dem Shutdown-Befehl und den folgenden Optionen mindestens ein Leerzeichen stehen muss.
Normalerweise lautet der von uns ausgeführte Befehl zum Herunterfahren „shutdown-h now“ oder „shutdown-r now“.
Befehle zum Herunterfahren und Neustarten: halt/poweroff/reboot
neu starten [OPTION]... anhalten [OPTION]... Ausschalten [OPTION]...
Kapitel 2 Datei- und Verzeichnisoperationsbefehle
pwd: Zeigt den aktuellen Standort an
pwd [Optionen]
cd: Verzeichnis wechseln
cd [Optionen] [Verzeichnis]
Wenn Sie bei Verwendung des Befehls cd die automatische Vervollständigungsfunktion der „Tab“-Taste auf der Tastatur verwenden, können Sie die Eingabegeschwindigkeit und -genauigkeit verbessern. Die Autovervollständigungsfunktion der „Tab“-Taste gilt auch für andere Befehle.
Um das Konzept des Pfads zu verstehen, ist ein relativer Pfad beispielsweise ein Pfad, der nicht bei „/“ (Schrägstrich) beginnt, sondern beim aktuellen Verzeichnis oder einem angegebenen Verzeichnis, wie zum Beispiel: data/, mnt/oldboy; Der absolute Pfad ist ein Pfad, der mit „/“ (Schrägstrich) vom Stammverzeichnis aus beginnt, z. B. /data/, /mnt/oldboy.
Wenn Sie zu dem Verzeichnis wechseln müssen, in dem sich der aktuelle Benutzer zuletzt befand, verwenden Sie bitte „cd-“ (beachten Sie das Leerzeichen); wenn Sie zum Home-Verzeichnis des aktuellen Benutzers wechseln müssen, verwenden Sie bitte „cd~“ (beachten Sie das Leerzeichen). ); wenn Sie zu dem Verzeichnis über dem aktuellen Verzeichnis wechseln müssen, verwenden Sie bitte „cd..“ (beachten Sie das Leerzeichen).
Baum: Zeigt den Inhalt des Verzeichnisses in einer Baumstruktur an
Baum [Optionen] [Verzeichnis]
mkdir: Verzeichnis erstellen
mkdir [Optionen] [Verzeichnis]
Der Befehl mkdir kann mehrere Verzeichnisse gleichzeitig im Format mkdir dir1 dir2… erstellen.
Verzeichnisse rekursiv mit dem Parameter -p erstellen (mkdir -p oldboy/test)
Fügen Sie den Parameter -v hinzu, um den Prozess der Verzeichniserstellung anzuzeigen. (mkdir -pv oldboy2/test)
Sie können beim Erstellen eines Verzeichnisses den Parameter -m verwenden, um die Standardberechtigungen für das Verzeichnis festzulegen. (mkdir -m 333 dir2)
Erstellen Sie gleichzeitig mehrere Verzeichnisse und mehrstufige Unterverzeichnisse. (mkdir -pv oldboy/{dir1_1,dir1_2}/{dir2_1,dir2_2} )
touch: Erstellen Sie eine leere Datei oder ändern Sie das Zeitstempelattribut der Datei
Der Touch-Befehl hat zwei Funktionen: Die eine besteht darin, eine neue leere Datei zu erstellen, die andere darin, das Zeitstempelattribut einer vorhandenen Datei zu ändern.
Berühren Sie [Optionen] [Datei]
Datei erstellen (a.txt b.txt antippen)
Ändern Sie das Zeitstempelattribut einer Datei
touch -a oldboy.txt #<==-a Parameter ändert den Zeitpunkt des letzten Zugriffs.
touch -m oldboy.txt #<==-m Parameter ändert den Zeitpunkt der letzten Änderung.
Geben Sie Zeitattribute zum Erstellen/Ändern von Dateien an
touch -d 20201001 oldboy.txt #<==Dateiänderung nach dem Erstellen der Datei angeben
touch -r a.txt oldboy.txt #<==Verwenden Sie den Parameter -r, um das Zeitattribut von oldboy.txt mit a.txt in Einklang zu bringen.
touch -t 201512312234.50 oldboy.txt #<==Verwenden Sie die Option -t, um die Datei auf das Zeitformat 201512312234.50 einzustellen
ls: Zeigt den Inhalt und die zugehörigen Attributinformationen des Verzeichnisses an
ls [Optionen] [<Datei oder Verzeichnis>]
Verwenden Sie den Parameter -a, um alle Dateien anzuzeigen, insbesondere versteckte Dateien
ls -a#<== Beschreibung: Durch Hinzufügen des Parameters -a wird der Inhalt angezeigt, der mit „.“ (Punkt) beginnt. Der erste hier angezeigte Punkt stellt das aktuelle Verzeichnis dar, das das Testverzeichnis selbst ist, und die beiden Punkte stellen das übergeordnete Verzeichnis des aktuellen Verzeichnisses dar, das hier das Stammverzeichnis darstellt. Das Wissen über einen Punkt und zwei Punkte wird später im ln-Befehl ausführlich erläutert.
ls -A #<==Alle Dateien auflisten, einschließlich versteckter Dateien, jedoch mit Ausnahme der Verzeichnisse „.“ und „..“
Verwenden Sie den Parameter -l, um detaillierte Informationen anzuzeigen.
ls -l #<==Die Zeitattributspalte hier zeigt standardmäßig die letzte Änderungszeit der Datei an. #<==Erläuterung: Dieser -l-Parameter ist der am häufigsten verwendete Parameter. Er bedeutet, dass der Dateityp, die Berechtigungen, die Anzahl der Verbindungen, der Eigentümer (Gruppe) sowie die Informationen zur Erstellungs- und Änderungszeit im Verzeichnis im Langformat aufgelistet werden. Die Attributbedeutung jeder Spalte hier muss beherrscht werden, und diese Attributinformationen werden später ausführlich besprochen.
Parameter --time-style=long-iso, der das vollständige Zeitattribut anzeigt.
ls -l --time-style=long-iso #<==Zeit im Long-ISO-Modus anzeigen Das Ergebnis dieses Befehls ist großartig.
Die optionalen Parameterwerte von --time-style lauten wie folgt, z. B. full-iso, long-iso, iso und locale. Der Standardwert ist locale.
In Produktionsszenarien stoßen wir häufig auf das Problem der inkonsistenten Anzeige von Dateien und Verzeichniszeiten im selben Verzeichnis. Daher müssen wir zur Anpassung ls-l--time-style=long-iso verwenden, wenn Sie das Gefühl haben, dass es zu viele gibt Sind die Parameter schwer zu merken, kann eine Alias-Verwaltung eingerichtet werden.
Es ist erwähnenswert, dass beim Ausführen von Befehlen wie ls-l standardmäßig die letzte Änderungszeit der Datei angezeigt wird (wenn es sich um eine neue Datei handelt, ist es die Erstellungszeit).
Mit ls--full-time wird die Gesamtzeit angezeigt, was ls-l--time-style=full-iso entspricht.
Führen Sie den Befehl ls mit Parametern aus, die das Zugriffszeitattribut des Inhalts anzeigen.
ls -l --time-style=long-iso --time=atime #<==Fügen Sie den Parameter --time= atime hinzu, um die Zugriffszeit anzuzeigen.
Zu den verwandten Befehlen gehört ls-l--time-style=long-iso--time=ctime, mit dem die Zeit angezeigt wird, zu der sich Dateien ändern.
Das Wissen über die Dateizeitspalte und mtime, atime und ctime wurde bereits bei der Einführung des Touch-Befehls erläutert.
Führen Sie den Befehl ls mit dem Parameter -F aus (dieser ist dem Befehl -F des Baumbefehls sehr ähnlich).
ls -F#<==Erläuterung: Wenn -F hinzugefügt wurde, können wir deutlich sehen, dass am Ende aller Verzeichnisse ein Schrägstrich / hinzugefügt wird. Welchen Nutzen hat eine solche Funktion für die Arbeit? Natürlich ist es nützlich. Wenn wir beispielsweise alle Verzeichnisse herausfiltern möchten, müssen wir nur diejenigen mit Schrägstrichen herausfiltern.
Verwenden Sie den Parameter -d, um nur Informationen über das Verzeichnis selbst anzuzeigen.
ls -ld dir1 #<==Fügen Sie den Parameter -d hinzu, um das zu erhalten, was Sie möchten.
Verwenden Sie den Parameter -R, um Verzeichnisse rekursiv anzuzeigen.
ls -R dir1 #<== Ähnlich, aber nicht so einfach zu verwenden wie Tree.
Kenntnisse über ls-Befehlsaliase und das Festlegen von ls-Aliasnamen.
alias lst='ls -l --time-style=long-iso' #<==Befehlsalias konfigurieren.
Suchen Sie nach kürzlich aktualisierten Dateien.
ls -lrt /etc/ #<==-t ist nach Zeit sortiert, -r ist umgekehrt, dh nach Zeit in umgekehrter Reihenfolge sortiert.
Sichern Sie die Datenbank des Produktionsszenarios und rufen Sie eine Liste der Datenbanknamen ab.
ls -F /usr/local/mysql/data|egrep "/"|awk -F "/" '{print $1}' >/root/dbfilename.list#<== Tipp: Wird in diesem Datenbanktabellen-Sicherungsskript verwendet der kombinierte Befehl von ls -F plus egrep, um den Namen des Datenbankverzeichnisses herauszufiltern.
Löschen Sie Müll, der Inode-Knoten in Produktionsszenarien belegt.
ls|xargs rm -f #<==Wenn zu viele Dateien vorhanden sind, können diese nicht direkt mit rm -fr * gelöscht werden.
Erweiterte Kenntnisse des Befehls ls-F
Fügen Sie „*“ hinzu, um eine ausführbare normale Datei darzustellen
Fügen Sie „/“ hinzu, um das Verzeichnis anzugeben
Fügen Sie „=“ hinzu, um Sockets anzugeben
Fügen Sie „|“ hinzu, um FIFOs anzugeben
Fügen Sie „@“ hinzu, um einen symbolischen Link anzugeben
Interpretation der Attribute des Ausgabeinhalts des ls-Befehls
ls -lhi #<== Der Parameter -l wurde bereits ausführlich erläutert. Die Funktion des Parameters -h besteht darin, die Größe der Datei auf eine für Menschen lesbare Weise anzuzeigen „4.0K“ unten. Der Parameter -i wird verwendet, um den Inode-Wert der Datei anzuzeigen.
cp: Dateien oder Verzeichnisse kopieren
cp [Optionen] [Quelldatei] [Zieldatei]
cp -a file1.txt file5.txt #<==Verwenden Sie den Parameter -a, um file1.txt nach file5.txt zu kopieren. Mit dem Parameter -a kopierte Eigenschaften bleiben unverändert.
Wenn Sie den Parameter -a zum Kopieren verwenden, ändert sich das Zeitattribut der Datei nicht. Die Funktion des Parameters -a umfasst die Funktion des Parameters -p, die Attribute der Datei beizubehalten.
cp -i file1.txt file5.txt #<== Verwenden Sie den Parameter -i, um die Datei zu kopieren. Sie werden gefragt, ob die Datei überschrieben werden soll.
Das CentOS-System legt standardmäßig einen Alias für den Befehl cp fest, dh der Parameter -i wird hinzugefügt. Wenn jedoch cp in einem Shell-Skript ausgeführt wird und kein Parameter -i vorhanden ist, wird nicht gefragt, ob überschrieben werden soll. Dies liegt daran, dass die Umgebungsvariablen beim Ausführen von Befehlszeilen- und Shell-Skripten unterschiedlich sind
cp -r dir1 dir2/ #<==Wenn Sie den Parameter -r verwenden, kopieren Sie das Verzeichnis rekursiv und kopieren Sie alle Unterverzeichnisse und Ordner unter dem Verzeichnis.
cp /etc/ssh/sshd_config{,.ori}#<==Das Prinzip dieser Methode ist die Erweiterungsoperation von Bash mit geschweiften Klammern /etc/ssh/sshd_config{,.ori} wird in /etc/ssh/sshd_config / etc. erweitert /ssh/sshd_config.ori und übergeben Sie es dann an den cp-Befehl.
mv: Dateien verschieben oder umbenennen
mv [Optionen] [Quelldatei] [Zieldatei]
mv file6.txt file7.txt #<==Wenn file7.txt nicht existiert, benennen Sie file6.txt in file7.txt um.
mv file5.txt file7.txt #<==Wenn file7.txt vorhanden ist, überschreiben Sie file5.txt mit file7.txt.
\mv file4.txt file7.txt #<==Verwenden Sie \, um den Systemalias abzuschirmen, und Sie werden nicht gefragt, ob Sie überschreiben möchten.
mv file7.txt dir1/ #<==dir1 ist ein Verzeichnis und existiert, dann verschieben Sie file7.txt nach dir1. Wenn dir1 nicht existiert, benennen Sie es in eine normale Datei in dir1 um.
mv -t dir1/ file1.txt file2.txt file3.txt file7.txt #<== Verwenden Sie den Parameter -t, um Quelle und Ziel auszutauschen, -t gefolgt vom Verzeichnis und schließlich der Datei, die verschoben werden soll.
rm: Eine Datei oder ein Verzeichnis löschen
rm [Optionen] [<Datei oder Verzeichnis>]
rm -f file3.txt #<==-f Parameter erzwingt das Löschen ohne Aufforderung.
rm -r dir1 #<==Verwenden Sie -r zum rekursiven Löschen, es wird jedoch eine Bestätigungsaufforderung angezeigt. Sie können dies mit -f erzwingen.
Praktische Erfahrungen zum Löschen
Verwenden Sie mv anstelle von rm. Löschen Sie es nicht überstürzt, sondern verschieben Sie es zuerst in den Papierkorb/tmp.
Stellen Sie sicher, dass Sie vor dem Löschen ein Backup erstellen, vorzugsweise ein maschinenübergreifendes Backup. Sie können es jederzeit wiederherstellen, wenn ein Problem auftritt.
Wenn Sie es löschen müssen, verwenden Sie bitte find anstelle von rm, einschließlich der Bereinigung von Dateien durch vom System geplante Aufgaben.
Wenn Sie es über den Befehl rm löschen müssen, ändern Sie bitte zuerst das Verzeichnis und löschen Sie es dann. Wenn Sie auf Platzhalter verzichten können, verwenden Sie keine Platzhalter. Es ist verboten, „RM-RF-Dateiname“ zum Löschen von Dateien zu verwenden, da keine Eingabeaufforderung erfolgt, wenn „RM-RF“ versehentlich ein Verzeichnis löscht, was sehr gefährlich ist. Verwenden Sie maximal „rm-f-Dateiname“, empfohlen wird „rm-f-Dateiname“.
rmdir: Leere Verzeichnisse löschen
rmdir [Optionen] [Verzeichnis]
Der Befehl rmdir wird zum Löschen leerer Verzeichnisse verwendet. Wenn das Verzeichnis nicht leer ist, funktioniert der Befehl nicht.
rmdir -p -v dir1/a/b/ #<== Rekursives Löschen erfordert weiterhin die Auflistung aller Verzeichnisstrukturen.
ln: Hardlink und Softlink
ln [Optionen] [Quelldatei oder -verzeichnis] [Zieldatei oder -verzeichnis]
Harter Link
Im Linux-Dateisystem ist es normal und zulässig, dass mehrere Dateinamen auf denselben Indexknoten (Inode) verweisen. Die Datei wird in diesem Fall als Hardlink bezeichnet.
Mehrere Dateien mit derselben Inode-Knotennummer sind fest miteinander verknüpfte Dateien.
Löschen Sie entweder die Hardlink-Datei oder die Quelldatei, aber die Dateientität wird nicht gelöscht.
Die Dateieinheit wird nur gelöscht, wenn die Quelldatei und alle entsprechenden Hardlink-Dateien der Quelldatei gelöscht werden.
Wenn alle Hardlink-Dateien und Quelldateien gelöscht werden, wird der Speicherplatz dieser Datei beim Speichern neuer Daten belegt, oder die gelöschten Daten werden auch vom System recycelt, wenn der Festplatten-Fsck überprüft wird.
Eine Hardlink-Datei ist ein weiterer Zugang zur Datei (entspricht der Vorder- und Hintertür des Supermarkts).
Sie können verhindern, dass wichtige Dateien versehentlich gelöscht werden, indem Sie Dateien fest mit Dateien verknüpfen.
Führen Sie den Befehl „ln Quelldatei Hardlink-Datei“ aus, um die Erstellung des Hardlinks abzuschließen.
Hardlink-Dateien können mit dem Befehl rm gelöscht werden.
Bei statischen Dateien (Dateien, die nicht von einem Prozess aufgerufen werden) wird die Datei gelöscht, wenn die Anzahl der entsprechenden Hardlinks 0 (i_link) beträgt. Die Anzeigemethode von i_link ist ls-lih, und die dritte Spalte des Anzeigeergebnisses ist die Anzahl der Hardlinks.
Verzeichnis, Hardlinks können nicht erstellt werden
Unter jedem Verzeichnis befindet sich ein fester Link „.“ und ein fester Link „..“ entsprechend dem Verzeichnis der oberen Ebene.
Erstellen Sie ein Unterverzeichnis im übergeordneten Verzeichnis und erhöhen Sie die Anzahl der Links im übergeordneten Verzeichnis um 1 (Unterverzeichnisse haben „..“, um auf das übergeordnete Verzeichnis zu verweisen). Wenn jedoch eine Datei im übergeordneten Verzeichnis erstellt wird, erhöht sich die Anzahl der Links im übergeordneten Verzeichnis nicht.
Softlink
Softlinks ähneln Windows-Verknüpfungen (Sie können ihre Anweisungen über den nachfolgenden Befehl readlink anzeigen).
Ein Softlink ähnelt einer Textdatei, die den Pfad der Quelldatei speichert und auf die Entität der Quelldatei verweist.
Selbst wenn die Quelldatei gelöscht wird, ist die Softlink-Datei weiterhin vorhanden, aber auf den Inhalt des angegebenen Quelldateipfads kann nicht zugegriffen werden.
Wenn dies fehlschlägt, blinkt es normalerweise mit weißen Buchstaben und rotem Hintergrund.
Führen Sie den Befehl „ln-s Quelldatei-Softlink-Datei“ aus, um die Erstellung des Softlinks abzuschließen (der Name der Softlink-Datei kann nicht im Voraus vorhanden sein).
Softlinks und Quelldateien sind unterschiedliche Dateitypen, unterschiedliche Dateien und haben unterschiedliche Inode-Nummern.
Um Softlink-Dateien zu löschen, verwenden Sie den Befehl rm.
readlink: Zeigt den Inhalt symbolischer Linkdateien an
readlink [Optionen] [Datei]
readlink /usr/bin/awk #<==Sie können den wahren Inhalt dieser Softlink-Datei anzeigen.
readlink -f /usr/bin/awk #<==Mit dem Parameter -f wird die letzte nicht symbolische Linkdatei angezeigt.
finden: Dateien in einem Verzeichnis suchen
find [Optionen] [Pfad] [Operationsanweisung]
find . -atime -2 #<== "." Stellt das aktuelle Verzeichnis dar, um Dateien zu finden, auf die innerhalb von zwei Tagen zugegriffen wird.
Suchzeitbeschreibung finden
-4 gibt an, dass die Datei innerhalb von 4 Tagen geändert wurde.
4 bedeutet, dass die Datei vor 4 Tagen geändert wurde.
4 bedeutet in 4 Tagen.
find /var/log/ -mtime 5 -name '*.log' #<==Finde Dateien mit der Endung „.log“ vor 5 Tagen im Verzeichnis /var/log/.
find ! -type d #<== „!“ bedeutet Negation, Suche nach Dateien, die keine Verzeichnisse sind, achten Sie auf die Position des Ausrufezeichens.
find /data/ -perm 755 #<==Dateien anhand der Dateiberechtigungen suchen, 755 sind Berechtigungen
find . -size 1000c #<==Suchen Sie Dateien mit einer Dateigröße von mehr als 1000 Byte im aktuellen Verzeichnis.
find /data -path "/data/dir3" -prune -o -print #<==Der Parameter -path gibt den Pfadstil an und der Parameter -prune wird verwendet, um das angegebene Verzeichnis auszuschließen.
find /data \( -path /data/dir2 -o -path /data/dir3 \) -prune -o -print Verwenden Sie Klammern, um mehrere Ausdrücke zu kombinieren, aber Klammern haben in der Befehlszeilenbedeutung eine besondere Bedeutung, daher ist „\“. Wird hier verwendet, um zu entkommen, was Bash anweist, das folgende Zeichen „()“ nicht zu analysieren, sondern es dem Befehl „find“ zur Verarbeitung zu überlassen. Darüber hinaus gibt es ein Leerzeichen zwischen der linken Klammer und dem Pfad in „\(-path““ und zwischen dir3 und der rechten Klammer in „dir3\)“.
find . -user Nobody #<==Suche nach Dateien, deren Benutzer Nobody ist.
find . -nouser#<==Dateien suchen, die keinem Benutzer entsprechen.
find . -group Nobody #<==Diese Funktion ähnelt dem vorherigen Beispiel, hier bezieht sie sich auf das Finden von Dateien mit der Benutzergruppe Nobody.
find . -nogroup#<==Dateien suchen, die keiner Benutzergruppe entsprechen.
find . -newer file1.txt ! -newer file2.txt#<==Dateien finden, deren Änderungszeit neuer als file1.txt, aber älter als file2.txt ist.
find . -max Depth 1 -type d #<==-max Depth 1 findet das Verzeichnis der ersten Ebene, ähnlich wie bei tree -L 1.
find . -max Depth 1 -type d ! -name " #<==Verwenden Sie das Ausrufezeichen (!), um Zeilen zu negieren und nicht auszugeben.
find . -maxlength 1 -type d ! -name " -o -name "oldboy"#<==-o bedeutet, alle Verzeichnisse oder Dateien mit dem Namen "oldboy" anzuzeigen.
find . -maxlength 1 -type d ! -name " -a -name "ext"#<==-a bedeutet, dass nach Verzeichnissen gesucht wird, die keine Punkte sind und deren Name ext ist Verzeichnis mit dem Namen ext.
find . -type f -exec ls -l {} \;#<==Der Befehl find sucht nach allen gewöhnlichen Dateien im aktuellen Verzeichnis und verwendet den Befehl ls -l in der Option -exec, um sie aufzulisten.
find . -type f -mtime 14 -exec rm {} \; #<==find findet Dateien im Verzeichnis, die vor mehr als 14 Tagen geändert wurden, und verwendet den Befehl rm in der Option -exec, um sie zu löschen.
find /var/log/ -name "*.log" -mtime 5 -ok rm {} \;#<==Der Befehl find findet alle Dateinamen, die mit „.log“ enden, und die Änderungszeit in /var/log / Verzeichnisdateien, die älter als 5 Tage sind, und löschen Sie sie. Bisher ist die Funktion von -ok dieselbe wie die von -exec, aber -ok hat auch die Funktion, vor dem Löschen eine Eingabeaufforderung zu geben. Drücken Sie die y-Taste, um die Datei zu löschen, und drücken Sie die n-Taste, um die Datei nicht zu löschen, was sicherer ist.
find . -type f|xargs ls -l #<== Übergeben Sie die vom Befehl find gefundenen gewöhnlichen Dateien zur Ausführung über das Pipe-Symbol und den Befehl xargs. Achten Sie auf das Befehlsformat. Das Pipe-Symbol „xargs“ ist ein Befehl und ein Filter für die Übergabe von Parametern an andere Befehle.
find . -name "*.txt"|xargs -i mv {} dir2/ #<==Verwenden Sie den Parameter -i von xargs, sodass {} die von find gefundenen Dateien als Parameter darstellt Die zu verschiebende Quelldatei wird in das Verzeichnis dir2 verschoben. Weitere Methoden finden Sie in Abschnitt 2.13.3 „Wissen erweitern: Verschiedene Methoden zum Verschieben gefundener Dateien an angegebene Speicherorte“.
find dir2 -name "file*"|xargs -p rm -f#<== Hinweis: Wenn Sie die Option -p des Befehls xargs verwenden, werden Sie aufgefordert, zu bestätigen, ob der folgende Befehl ausgeführt werden soll.
xargs: Konvertieren Sie die Standardeingabe in Befehlszeilenargumente
xargs [Optionen] Der Befehl xargs ist ein Filter, der Befehlszeilenparameter an andere Befehle übergibt. Er kann die von der Pipe oder der Standardeingabe übergebenen Daten in die Befehlszeilenparameter des Befehls konvertieren, der auf den Befehl xargs folgt.
xargs < test.txt#<== wandelt alle Zahlen in eine Zeile um. Beachten Sie, dass xargs keine direkte Verbindung zu Dateien herstellen kann und mit dem Eingabeumleitungszeichen „<“ kombiniert werden muss.
xargs -n 3 < test.txt#<== Bis zu 3 pro Zeile ausgeben.
echo splitXsplitXsplitXsplitX|xargs -d X -n 2 #<==Verwenden Sie X als Trennzeichen und geben Sie bis zu 2 pro Zeile aus.
find . -name "*.log"|xargs -i mv {} dir1/ #<==Mit der Option -i von xargs kann {} die mit dem vorherigen Suchbefehl gefundene Datei oder das Verzeichnis ersetzen.
find . -name "file*"|xargs -I [] cp [] dir2 Die Option -I kann andere Zeichen anstelle von {} angeben, z. B. [].
find . -type f -name "*.txt" -print0|xargs -0 rm -f #<==xargs denkt fälschlicherweise, dass ihr Trennzeichen ein Leerzeichen ist. Die Lösung besteht darin, die Ausgabe durch das Zeichen null zu trennen und das - zu verwenden. 0 Option.
umbenennen: Benennen Sie die Datei um
von in Datei umbenennen
benennen Sie „_finished“ um „“ * #<==Ersetzen Sie _finished aller Dateien durch leer.
.jpg umbenennen .oldboy *.jpg #<==Ersetzen Sie .jpg in allen Dateien durch .oldboy.
Basisname: Zeigt den Dateinamen oder Verzeichnisnamen an
Basisname [<Datei oder Verzeichnis>] [Suffix]
Basisname /data/dir1/file1.txt #<==Entfernen Sie den Pfadteil, dh nur der Dateiname wird angezeigt.
Dirname: Zeigt den Datei- oder Verzeichnispfad an
Verzeichnisname [<Datei oder Verzeichnis>
dirname /data/dir1/file1.txt #<==Zeigt nur den Pfad an, in dem sich die Datei befindet. /data/dir1
chattr: Ändern Sie die erweiterten Attribute einer Datei
chattr [Optionen] [Modus] [<Datei oder Verzeichnis>]
chattr a test #<== aZusätzliche Attribute hinzufügen.
chattr i file1.txt #<==Verwenden Sie den i-Parameter, um die Datei zu sperren.
lsattr: Dateierweiterungsattribute anzeigen
lsattr [Optionen] [<Datei oder Verzeichnis>]
lsattr file1.txt #<==Zeigen Sie die standardmäßigen erweiterten Attribute der Datei an.
lsattr -d dir2 #<==Verwenden Sie die Option -d, um die erweiterten Attribute des Verzeichnisses anzuzeigen.
Datei: Zeigt den Dateityp an
Datei [Optionen] [<Datei oder Verzeichnis>]
Datei oldboy oldboy: Verzeichnis #<==oldboy ist ein Verzeichnis.
md5sum: Berechnen und überprüfen Sie den MD5-Wert der Datei
md5sum [Optionen] [Datei]
Der Befehl md5sum oldboy.txt #<==md5sum kann die Datei direkt verbinden, um den MD5-Wert der Datei abzurufen.
chown: Benutzer und Benutzergruppe einer Datei oder eines Verzeichnisses ändern
chown [Optionen] [Benutzer:Gruppe] [<Datei oder Verzeichnis>]
Das „:“ kann durch „.“ ersetzt werden.
Die zu autorisierenden Benutzer- und Gruppennamen müssen tatsächlich im Linux-System vorhanden sein.
chown oldboy file1.txt #<==Oldboy-Benutzer autorisieren, Oldboy-Benutzer muss im Voraus erstellt werden.
chown .oldboy file1.txt #<==Autorisieren Sie die Oldboy-Benutzergruppe. Achten Sie darauf, den Punkt nicht zu übersehen.
chown root:root file1.txt #<==Sie können „:“ oder „.“ verwenden.
chown -R oldboy.oldboy dir2/ #<==Verwenden Sie den Parameter -R zur rekursiven Autorisierung.
chmod: Datei- oder Verzeichnisberechtigungen ändern
Der Befehl chmod ist ein Befehl zum Ändern von Datei- oder Verzeichnisberechtigungen, aber nur der Besitzer der Datei und der Superuser Root können diesen Befehl ausführen.
chmod [Optionen] [Modus] [<Datei oder Verzeichnis>]
chmod a= file1.txt #<==Alle (a) Berechtigungen auf leer setzen (keine Zeichen nach dem Gleichheitszeichen).
chmod u x file1.txt #<==Legen Sie die Ausführungsberechtigung des Besitzers der Benutzerdatei fest.
chmod g w file1.txt #<==Legen Sie die Schreibberechtigungen der Gruppendateibenutzergruppe fest.
chmod oder file1.txt #<==Legen Sie andere lesbare Berechtigungen für andere Benutzer fest.
chmod ug r,o-r file1.txt #<==Mehrere Berechtigungsoperationen können zusammen verwendet werden, getrennt durch Kommas. ug r ist die Abkürzung für u r und g r.
chmod u=rwx,g=rx,o=x file1.txt #<== "=" alle ursprünglichen Berechtigungen widerrufen und dann die gegebenen Berechtigungen erteilen.
chmod 000 file1.txt #<==Dies hat den gleichen Effekt wie im vorherigen Beispiel chmod a= file1.txt.
chmod 753 file1.txt #<==Jeder muss mit der Konvertierung numerischer Berechtigungen und Buchstabenberechtigungen vertraut sein.
chmod -R 777 dir2/ #<==Erteilen Sie rekursiv Berechtigungen für das Dateiverzeichnis 777.
chgrp: Dateibenutzergruppe ändern
chgrp [Optionen] [Benutzergruppe] [<Datei oder Verzeichnis>]
chgrp oldboy install.log #<==Die Benutzergruppe, die die Datei install.log ändert, ist oldboy.
chgrp -R root dir1/ #<==Parameter -R rekursive Autorisierung.
umask: Berechtigungsmaske anzeigen oder festlegen
umask [Optionen] [Modus]
Kapitel 3 Verarbeitungsbefehle für Dateifilterung und Inhaltsbearbeitung
cat: Dateien zusammenführen oder Dateiinhalte anzeigen
cat [Optionen] [Datei]
cat >test.txt<<EOF EOF #<== Sie müssen die Eingabetaste drücken, um es zu beenden. Außerdem muss EOF paarweise erscheinen, kann aber auch durch andere gepaarte Tags ersetzt werden. Beispiel: Oldboy-Zeichen-Tag, standardmäßig muss die Endung EOF in Großbuchstaben geschrieben werden.
cat -n test.txt#<==Hinweis: Wie aus dem obigen Beispiel ersichtlich ist, dient die Option -n dazu, den Dateiinhalt entsprechend der Zeile zu nummerieren und die Ausgabe einschließlich der Leerzeilen zu drucken.
cat -b test.txt#<==Hinweis: Wie aus dem obigen Beispiel ersichtlich ist, ähnelt die Option -b der Option -n, die Option -b nummeriert jedoch keine leeren Zeilen.
cat -E test.txt#<== Hinweis: Wie aus dem obigen Beispiel ersichtlich ist, zeigt die Option -E das Symbol für die versteckte Endkennung $ am Ende der Datei an. Auch wenn es sich um eine Leerzeile handelt, befindet sich am Ende eine Endkennung, daher sollte jeder darauf achten.
cat -s test.txt#<==Ursprünglich gab es hier drei Leerzeilen. Aufgrund der Option -s wird daraus eine Leerzeile.
cat >test3.txt
Cat- und „>“-Umleitungen leiten die Standardausgabe in eine Datei um, was eine besondere Möglichkeit zum Bearbeiten von Dateien darstellt.
Um die Bearbeitung zu beenden, können Sie zum Beenden die Tastenkombination Strg d oder Strg c verwenden. Sie müssen jedoch zuerst die Eingabetaste ausführen und den Cursor auf eine neue, nicht eingegebene Zeile positionieren.
Wenn Sie auf diese Weise tippen, werden Sie feststellen, dass Sie den Text nicht löschen können, wenn Sie einen Fehler machen und einfach die Rücktaste drücken. Sie müssen die „Strg-Rücktaste“ gedrückt halten, um ihn zu löschen.
Bei diesem Vorgang handelt es sich um eine spezielle Bearbeitungsmethode, die als erweiterter Wissenspunkt bezeichnet wird und in tatsächlichen Produktionsumgebungen selten verwendet wird.
cat web01_access_20130522.log web02_access_20130522.log > web_access_20130522.log Verwenden Sie cat, um mehrere Dateien zu verbinden und Web-Cluster-Protokolle zusammenzuführen.
tac: Dateiinhalte in umgekehrter Reihenfolge anzeigen
tac [Optionen] [Datei]
mehr: Dateiinhalte in Seiten anzeigen
mehr [Optionen] [Datei]
mehr /etc/services #<==Akzeptiert keine Parameter und zeigt den Dateiinhalt im Vollbildmodus an.
mehr -5 /etc/services #<==Zu diesem Zeitpunkt wird der Dateiinhalt nicht im Vollbildmodus angezeigt, sondern nur 5 Zeilen Inhalt.
mehr 888 /etc/services #<==Zu diesem Zeitpunkt wird der Dateiinhalt direkt ab Zeile 888 angezeigt.
ls /etc/|more -10 #<==Jeder sollte wissen, dass es viele Dateiverzeichnisse unter /etc gibt. Die direkte ls-Ansicht zeigt zu viel Inhalt an, sodass Sie den Befehl „more“ verwenden können, um ihn auf Seiten anzuzeigen.
less: Dateiinhalte in Seiten anzeigen
weniger [Optionen] [Datei]
less /etc/services #<==Akzeptiert keine Parameter und zeigt den Dateiinhalt im Vollbildmodus an.
less -N /etc/services #<==Vor jeder Zeile steht eine Zeilennummer.
ls /etc/|less #<==Zeigen Sie den Inhalt von etc-Verzeichnisdateien auf Seiten an.
head: Zeigt den Dateiinhaltsheader an
head [Optionen] [Datei]
head /etc/passwd #<==Wenn der Head-Befehl keine Parameter empfängt, werden standardmäßig die ersten 10 Zeilen der Datei angezeigt.
head -n 5 /etc/passwd #<==Das erste Format gibt die ersten 5 Zeilen an, die angezeigt werden sollen.
head -5 /etc/passwd #<==Das zweite Format gibt auch die ersten 5 anzuzeigenden Zeilen an, aber diese Schreibweise ist schlanker.
head -c 10 /etc/passwd #<==Lesen Sie die ersten 10 Bytes der Datei. Die vorherige Schreibmethode erfolgt in Zeileneinheiten, während -c in Bytes erfolgt. Diese Funktion wird nicht häufig verwendet.
head -n -21 /etc/passwd #<==Die Zahl hier ist ein negativer Wert und diese Schreibmethode wird nicht häufig verwendet.
tail: Zeigt das Ende des Dateiinhalts an
tail [Optionen] [Datei]
tail /etc/passwd #<==Der tail-Befehl akzeptiert keine Parameter und zeigt standardmäßig die letzten 10 Zeilen an.
tail -n 5 /etc/passwd #<==Zeigt die letzten 5 Textzeilen an
tail -5 /etc/passwd #<==Die zweite Schreibweise für die letzten 5 Zeilen des Textes ist einfacher.
tail -n 15 /etc/passwd #<==Zeigt die Datei ab Zeile 15 an. Erweiterte Verwendung, aber nicht häufig verwendet.
tail -f /application/nginx/logs/access.log #<==tail -f überwacht Dateiänderungen in Echtzeit. Ein häufiges Szenario in der Produktion ist die Überwachung von Protokolldateien.
tail -f oldboy #<==Verwenden Sie den Parameter -f. Wenn die Datei nicht vorhanden ist, wird ein Fehler gemeldet und der Befehl wird beendet.
tail -F oldboy #<==Verwenden Sie den Parameter -F. Wenn die Datei nicht vorhanden ist, wird ein Fehler zurückgegeben, es wird jedoch weiterhin auf die Generierung der Datei gewartet und der Befehl nicht beendet.
tailf: Protokolldateien verfolgen
tailf [Optionen] [Datei]
Der Befehl tailf entspricht fast dem Befehl tail-f. Der Unterschied zu tail-f besteht darin, dass er nicht auf die Festplattendatei zugreift und die Zugriffszeit der Datei nicht ändert.
tailf /application/nginx/logs/access.log #<== kann die sich ändernde Protokolldatei leicht überprüfen.
Ausschneiden: Extrahieren Sie ein Textstück aus dem Text und geben Sie es aus
Ausschneiden [Option] [Datei]
cut -b 3 oldboy.txt #<==Nur das 3. Byte ausgeben.
cut -b 3-5,10 oldboy.txt #<==-b unterstützt das Schreiben in der Form 3-5, und mehrere Positionen werden durch Kommas getrennt.
cut -b -3 oldboy.txt #<==-3 bedeutet vom ersten Byte bis zum dritten Byte.
cut -b 3- oldboy.txt #<==3- bedeutet vom dritten Byte bis zum Ende der Zeile.
cut -b -3,3- oldboy.txt #<==Diese Schreibweise gibt die gesamte Zeile aus und es gibt keine zwei aufeinanderfolgenden überlappenden Buchstaben a.
cut -b 2-10 oldboy.txt#<==Hinweis: Wenn Sie die Option -c verwenden, werden Zeichen als Einheit verwendet und die Ausgabe ist normal. Die Option -b berechnet nur in Bytes (8 Binärbits) und die Ausgabe ist verstümmelt. Wenn Sie auf Multibyte-Zeichen stoßen, können Sie die Option -n verwenden, um Cut anzuweisen, Multibyte-Zeichen nicht aufzuteilen.
cut -d : -f 1 /etc/passwd #<==Die Option -d gibt „:“ als Trennzeichen an, und die Option -f gibt den ersten anzuzeigenden Bereich an.
split: Datei teilen
split [Optionen] [Eingabedatei] [Präfix für den Namen der Ausgabedatei]
split -l 10 inittab new_#<== teilt alle 10 Zeilen und der Name der geteilten Datei beginnt mit new_.
split -l 10 -a 3 inittab new2_#<==Der Parameter -a gibt die Suffixlänge an.
split -l 10 -d inittab num_#<== Parameter -d verwendet numerisches Suffix.
split -b 500K -d lvm lvm_#<==Teilt die Datei alle 500 KB auf.
Einfügen: Dateien zusammenführen
Einfügen [Optionen] [Datei]
einfügen test1 test2 #<==2 Dateien werden Zeile für Zeile zusammengeführt.
paste -d: test1 test2 #<==Verwenden Sie „:“ als Trennzeichen.
paste -s test1 #<==Verwenden Sie die Option -s, um den Inhalt einer Spalte in eine Zeile umzuwandeln.
paste -s test1 test2 #<==Jede Datei belegt eine Zeile.
Sortieren: Textsortierung
Sortieren [Optionen] [Datei]
sort oldboy.txt #<== empfängt keine Parameter, konvertiert den Dateiinhalt in ASCII-Code und vergleicht ihn dann. Da im ASCII-Code die Reihenfolge der Zahlen unserer Wahrnehmung entspricht, ist das Ergebnis wie folgt.
sort -n oldboy.txt #<==Verwenden Sie die Option -n, um Zahlen direkt von klein nach groß zu sortieren.
sort -nr oldboy.txt #<== Ähnlich dieser Funktion haben wir sie bereits im Befehl ls gelernt. Die Option -r bedeutet umgekehrt. Der Sortierbefehl sortiert standardmäßig in aufsteigender Reihenfolge (von klein nach groß). Wenn Sie die Option -r verwenden, wechselt er in absteigende Reihenfolge (von groß nach klein).
sort -u oldboy.txt #<==Verwenden Sie die Option -u, um doppelte Zeilen aus der Datei zu entfernen. Später lernen Sie einen Uniq-Befehl kennen, der auch doppelte Zeilen entfernen kann.
sort -t " " -k2 oldboy1.txt #<== Die Option -t gibt ein Leerzeichen als Trennzeichen an, und die Option -k gefolgt von 2 bedeutet, dass nach der zweiten Spalte sortiert wird.
Beitreten: Zwei Dateien mit denselben Feldern zusammenführen
beitreten [Optionen] [Datei1] [Datei2]
join a.txt b.txt#<==Hinweis: Die Voraussetzung für die Verwendung von Join zum Zusammenführen von Dateien besteht darin, dass die beiden Dateien nach Sortierung sortiert werden müssen.
uniq: doppelte Zeilen entfernen
uniq [Optionen] [Datei oder Standardeingabe]
uniq oldboy.txt #<==Entfernen Sie doppelte Zeilen, ohne Parameter zu übernehmen.
uniq -c oldboy.txt #<==Parameter -c zeigt die Anzahl der Vorkommen der entsprechenden Zeile an.
sort -n oldboy.txt|uniq -c#<==uniq kann nur benachbarte doppelte Zeilen deduplizieren, daher sollten Sie sort verwenden, um die Datei zuerst zu verarbeiten und dann zu deduplizieren.
wc: zählt die Anzahl der Zeilen, Wörter oder Bytes der Datei
wc [Optionen] [Datei]
wc /etc/inittab 26 149 884 /etc/inittab #<==Wenn Sie keine Parameter akzeptieren, was bedeutet die angezeigte Zahl?
wc -l /etc/inittab #<==Anzahl der Zeilen.
wc -m /etc/inittab #<==Anzahl der Zeichen.
wc -w /etc/inittab #<==Anzahl der Wörter.
wc -L /etc/inittab #<==Die Länge der längsten Zeile.
iconv: das Kodierungsformat der konvertierten Datei
iconv [Optionen] [ursprüngliche Kodierung] [neue Kodierung] [Eingabedatei]
iconv -f gb2312 -t utf-8 GB2312.txt #<== Verwenden Sie den Parameter -f, um die ursprüngliche Codierung der Datei als gb2312 anzugeben, und verwenden Sie den Parameter -t, um die Codierung anzugeben, die in utf-8 konvertiert werden soll.
dos2unix: Konvertieren Sie Dateien im DOS-Format in das UNIX-Format
dos2unix [Datei]
diff: Vergleichen Sie die Unterschiede zwischen zwei Dateien
diff [Optionen] [Datei1] [Datei2]
Diff Test1 Test2 1,3d0 #<==Zeile 1 bis Zeile 3 von Datei 1 löschen, Zeile 0 von Datei 2 löschen, also nicht löschen.
6a4,5 #<==Fügen Sie die folgenden 2 Textzeilen zu Zeile 6 von Datei 1 hinzu, nämlich zu den Zeilen 4 und 5 von Text 2.
Das Standardanzeigeformat von diff verfügt über die folgenden drei Eingabeaufforderungen. ·a-hinzufügen ·c-change ·d-löschen
diff -y test1 test2 #<==Verwenden Sie den Parameter -y, um nebeneinander auszugeben.
diff -y -W 30 test1 test2 #<==Wenn Sie der Meinung sind, dass das Obige zu breit ist, können Sie die Breite mit dem Parameter -W angeben.
diff /etc/rc3.d/ /etc/rc6.d/ #<==diff kann nicht nur die Unterschiede im Dateiinhalt vergleichen, sondern auch die Unterschiede in den Dateien im Verzeichnis.
vimdiff: visuelles Vergleichstool
vimdiff [Optionen] [Datei1] [Datei2]
Vimdiff ruft vim auf, um Dateien zu öffnen. Es kann 2, 3 oder 4 Dateien gleichzeitig öffnen, bis zu 4 Dateien, und verwendet unterschiedliche Farben, um die Unterschiede zwischen den Dateien zu unterscheiden.
vimdiff test1 test2 #<==Um die vimdiff-Schnittstelle zu verlassen, müssen Sie den Vorgang zum Beenden von vim zweimal hintereinander ausführen (:q). Der Befehl vim wird später ausführlich erläutert. Da der Befehl vimdiff die Funktion vim aufruft, ist der Exit-Vorgang derselbe wie bei vim.
rev: Inhalt der Ausgabedatei umkehren
rev [Datei]
echo {1..10}|rev #<==Die obigen Zeichen werden rückwärts geschrieben.
rev oldboy.txt #<==Sie können es mit dem Tac-Befehl vergleichen, den Sie zuvor gelernt haben.
tr: Zeichen ersetzen oder löschen
tr [Optionen] [char1] [char2]
Der Befehl tr ersetzt, reduziert oder löscht Zeichen aus der Standardeingabe und schreibt die Ergebnisse in die Standardausgabe.
tr 'abc' 'xyz' < oldboy.txt #<==Der tr-Befehl zum Verbinden von Dateien ist etwas Besonderes und erfordert das Umleitungssymbol „<“.
tr '[a-z]' '[A-Z]' <oldboy.txt #<==Kleinbuchstaben in Großbuchstaben umwandeln.
tr '[0-9]' '[a-j]' < oldboy.txt #<==Ersetzen Sie die Zahl 0 durch a, ersetzen Sie 1 durch b...Eins-zu-Eins-Korrespondenz.
tr -d 'oldboy'<oldboy.txt #<==Verwenden Sie den Parameter -d, um Zeichen zu löschen.
tr -d ' \t' < oldboy.txt #<== Verwenden Sie den Parameter -d, um alle Zeilenumbrüche und Tabulatorzeichen zu entfernen. Alle Zeilen werden zu einer Zeile und die Buchstaben werden miteinander verbunden.
echo 'oooolllddbbboyyyyy' |tr -s oldboy #<==Verwenden Sie den Parameter -s, um aufeinanderfolgende Zeichen zu einem zu komprimieren.
tr '0-9' '*' < oldboy.txt #<==Ersetze alle Zahlen durch *.
tr -c '0-9' '*' < oldboy.txt #<==Verwenden Sie den Parameter -c, außer Zahlen, andere Zeichen, einschließlich Zeilenumbrüche, werden durch * ersetzt.
od: Dateien in verschiedenen Basen anzeigen
od [Optionen] [Datei]
Tee: Mehrfach-Targeting
tee [Optionen] [Datei]
ls|tee ls.txt #<==Der Befehl ls übernimmt die Kanal- und Tee-Befehle, gibt die Ergebnisse von ls auf dem Bildschirm aus und schreibt die Ergebnisse in ls.txt.
ls|tee -a ls.txt #<==Verwenden Sie den Parameter -a, um Inhalte an die Datei anzuhängen, ohne den vorhandenen Inhalt in der Datei zu löschen.
vi/vim: Nur-Text-Editor
vim [Optionen] [Datei]
Drei Modi von vim
Normaler Modus
Bearbeitungsmodus
Bearbeitungseingabevorgänge können im normalen Modus nicht durchgeführt werden. Sie können den Bearbeitungsmodus nur durch Drücken von Buchstaben wie „i, I, o, O, a, A, r, R, s, S“ aufrufen (am häufigsten verwendet). Führen Sie Bearbeitungsvorgänge durch, z. B. die Eingabe von Text. Eine wichtige Funktion zur Überprüfung, ob sich die Datei im Bearbeitungsmodus befindet, besteht darin, dass in der unteren linken Ecke des Fensters eine Einfügemarke „--INSERT--“ oder „--INSERT--“ vorhanden sein muss.
Befehlsmodus
Wenn Sie im normalen Modus „:“ oder „/“ oder „?“ eingeben, findet der Cursor automatisch diese Zeile. In diesem Modus können Sie Speichern, Beenden, Suchen, Ersetzen, Zeilennummern anzeigen und andere verwandte Vorgänge ausführen.
Zusammenfassung zum Öffnen von Dateien in vim
vim-Datei: Öffnen/erstellen Sie eine neue Datei, platzieren Sie den Cursor am Anfang von Zeile 1 und Datei ist ein beliebiger Dateiname.
vim-Datei n: Öffnen Sie die Datei, platzieren Sie den Cursor am Anfang der n-ten Zeile. n ist eine natürliche Zahl.
vim-Datei: Öffnen Sie die Datei und platzieren Sie den Cursor am Anfang der letzten Zeile.
vim-Datei / Muster: Platzieren Sie den Cursor auf der ersten Zeichenfolge, die mit Muster übereinstimmt, und Muster ist eine beliebige Zeichenfolge.
Kapitel 12 Häufig verwendete integrierte Befehle in Linux-Systemen
Beispiele für häufig verwendete integrierte Linux-Befehle
helpView integrierte Befehlshilfe
help [Optionen] [eingebauter Befehl]
help #<==Verwenden Sie den Befehl „help“, um alle integrierten Befehle von Linux anzuzeigen.
Mit dem Format help help #<== „Eingebauter Hilfebefehl“ können Sie die Hilfe für integrierte Befehle anzeigen, und die Hilfe selbst ist ebenfalls ein integrierter Befehl.
help cd #<==Sehen Sie sich die Hilfedokumentation für den Befehl cd an.
help -d cd #<==Eine kurze Beschreibung des integrierten Befehls ausgeben.
help -m cd #<==Anzeige im man-Hilfeformat.
help -s cd #<==Nur die Syntax des Befehls ausgeben.
Platzhalter::
if [ $i -eq 1 ] #<==Bedingter Ausdruck. Dann : #<==Wenn die if-Beurteilungsanweisung im Shell-Skript verwendet wird, werden bestimmte Vorgänge normalerweise nach erfolgreicher Beurteilung ausgeführt. Manchmal ist jedoch nicht bekannt, welche Vorgänge ausgeführt werden sollen, oder bestimmte Vorgänge müssen nicht ausgeführt werden. Aufgrund des festen Syntaxformats der if-Anweisung muss ich jedoch einen Befehl schreiben, um den Platz zu belegen, denn wenn diese Zeile keinen Inhalt hat, wird ein Syntaxfehler gemeldet. Zu diesem Zeitpunkt wird der Platzhalter „:“ angezeigt Wird verwendet, aber keine Sorge, dieser Befehl hat keine Auswirkungen auf Ihr Shell-Skript und ähnelt dem Pass-Feld in anderen Programmiersprachen. anders echo „Hallo Welt“ fi
„.“ und Quelle
„.“ und „source“ werden häufig zum Laden oder Ausführen von Shell-Skripten verwendet, unterscheiden sich jedoch von der herkömmlichen Methode zum Ausführen von Shell-Skripten. Werfen wir einen Blick auf den Vergleich unten.
·Die erste Methode, bash script-name oder sh script-name, wird häufig verwendet, wenn die Skriptdatei selbst keine ausführbaren Berechtigungen hat (d. h. das x-Bit des Dateiberechtigungsattributs ist -). Der Interpreter wird nicht am Anfang der Skriptdatei angegeben. Er wird bei Bedarf auch benötigt.
·Die zweite Methode ist Quellskriptname oder .Skriptname. Diese Methode verwendet normalerweise Quelle oder „.“ (Punkt), um die angegebene Shell-Skriptdatei (z. B. san.sh) zu lesen oder zu laden, und führt sie dann nacheinander aus alle Anweisungen in der angegebenen Shell-Skriptdatei san.sh. Diese Anweisungen werden im aktuellen übergeordneten Shell-Skript-Prozess Father.sh ausgeführt (in mehreren anderen Modi wird ein neuer Prozess gestartet, um das untergeordnete Skript auszuführen). Daher kann die Verwendung von „source“ oder „.“ den Variablenwert oder Rückgabewert einer Funktion im san.sh-Skript selbst zur Verwendung an das aktuelle übergeordnete Shell-Skript „vater.sh“ übergeben.
Bedingungstest „[“ und test
·Das Syntaxformat des bedingten Testtests ist: test<Testausdruck> ·Das Syntaxformat des Bedingungstests [] lautet: [<Testausdruck>]
An beiden Enden der Klammern müssen Leerzeichen stehen. [] entspricht test, d. h. alle Beurteilungsoptionen von test können direkt in [] verwendet werden, es wird jedoch empfohlen, [] zu verwenden.
test -f file && echo true ||. echo false #<== Es ist true, wenn die Datei file existiert und eine gewöhnliche Datei ist, da die Datei file nicht existiert, wird false ausgegeben.
[ -f /tmp/oldboy.txt ] && echo 1 ||. echo 0 #<== True, wenn die Datei /tmp/oldboy.txt existiert und eine gewöhnliche Datei ist, da die Datei nicht existiert, wird 0 ausgegeben.
Befehlsaliasnamen alias und unalias
alias [Befehlsalias]=[Befehlsanweisung] unalias [Befehlsalias]
alias #<==Ohne Parameter werden alle Befehlsaliase angezeigt.
alias rm='echo „Do not use rm.“‘ #<==Definieren Sie einen Aliasnamen rm für die echo „Do not use rm.“-Befehlsanweisung, und die Befehlsanweisung in einfachen Anführungszeichen muss ausführbar sein.
alias rm #<==Fragen Sie die Befehlsanweisung ab, auf die rm zeigt.
alias eth0='cat /etc/sysconfig/network-scripts/ifcfg-eth0' #<==Definieren Sie den Alias eth0.
·Fügen Sie gefährlichen Befehlen einige Schutzparameter hinzu, um menschliche Fehler zu verhindern, z. B. den Alias rm. ·Konvertieren Sie viele komplexe Zeichenfolgen oder Befehle in eine einfache Zeichenfolge oder einen einfachen Befehl, z. B. den Alias von eth0.
unalias eth0 #<==Alias mit unalias löschen
Hintergrundaufgabenbezogene Befehle bg/fg/jobs
Der Befehl bg wird verwendet, um die im Vordergrund ausgeführten Aufgaben in den Hintergrund zu übertragen oder die im Hintergrund angehaltenen Aufgaben auszuführen. Der Befehl fg ist das Gegenteil des Befehls bg. Er überträgt die Hintergrundaufgaben zur Ausführung in den Vordergrund , um die Liste der Hintergrundaufgaben anzuzeigen.
bg [Aufgabensequenznummer] fg [Aufgabensequenznummer] Arbeitsplätze
aus der Schleife ausbrechen
#!/bin/bash for((i=0; i<=5; i )) Tun if [ $i -eq 3 ] ;dann break; #<==Aus der gesamten Schleife springen und das Programm außerhalb der Schleife weiter ausführen. fi echo $i Erledigt echo „ok“
Fahren Sie mit der nächsten Schleife fort
#!/bin/bash for((i=0; i<=5; i )) Tun if [ $i -eq 3 ] ;dann continue; #<==Diese Schleife beenden und mit der nächsten Schleife fortfahren. fi echo $i Erledigt echo „ok“
eval führt Parameter als Befehle aus
echo `hostname -I` #<==Wenn Sie Befehle in Anführungszeichen ausführen möchten, müssen Sie Backticks verwenden, auch Backticks genannt.
echo „hostname -I“ #<==Die Backticks sind in einfache Anführungszeichen gesetzt. Die Funktion von einfachen Anführungszeichen besteht darin, dass Sie das sehen, was Sie erhalten, sodass das Ergebnis „hostname -I“ ist. `Hostname -I`
eval echo ''hostname -I`' #<==Fügen Sie am Anfang des Befehls einen eval-Befehl hinzu. Die einfachen Anführungszeichen sind ungültig! Weil der Befehl eval zunächst Variablen oder Befehle in einfachen Anführungszeichen analysieren oder ausführen kann.
Exit beendet die Shell-Befehlszeile
Exit #<==Um die Shell-Befehlszeile zu verlassen, können Sie den Exit-Befehl, die Tastenkombination Strg D oder den Logout-Befehl verwenden.
#!/bin/bash for((i=0; i<=5; i )) Tun if [ $i -eq 3 ] ;dann Exit #<==Sobald der Exit-Befehl ausgeführt wird, wird das gesamte Skript beendet und der verbleibende Skriptinhalt wird nicht erneut ausgeführt. fi echo $i Erledigt echo „ok“
exportieren. Globale Variablen anzeigen oder festlegen
exportieren [Optionen]
export -p #<==Drucken Sie alle Umgebungsvariablen mit der Option p.
export MYENV=7 #<==Nur mit dem Exportbefehl festgelegte Variablen sind globale Variablen.
Verlauf Befehlsverlauf anzeigen
Geschichte [Optionen]
History #<==Zeigt alle Verlaufsdatensätze des Befehls an.
History 10 #<== Der History-Befehl gefolgt von der Zahl n gibt an, dass die letzten n Befehlsdatensätze angezeigt werden.
History -d 991 #<== „history -d History Command Sequence Number“ kann den History-Befehl der angegebenen Sequenznummer löschen.
History -c #<==Verwenden Sie die Option -c, um den Verlauf aller Befehle zu löschen.
Interaktive Zuweisungsvariable lesen
Der Lesebefehl liest eine Zeile aus der Standardeingabe und weist den Wert jedes Felds der Eingabezeile einer Shell-Variablen zu.
read [Option] [Variablenname]
read #<==Führen Sie den Befehl read aus und die Befehlszeile wartet auf Eingaben. oldboy #<==Geben Sie die Zeichenfolge oldboy ein.
echo $REPLY #<==readDie erhaltene Eingabe wird standardmäßig in der Variablen REPLY gespeichert.
Auf read one #<==read folgt ein Variablenname, und die Eingabedaten werden dieser Variablen zugewiesen.
read one two #<==read kann von mehreren Variablennamen gefolgt werden. n1 n2 #<== Standardmäßig werden Leerzeichen als Trennzeichen verwendet. Der erste Absatz n1 wird der ersten Variablen eins zugewiesen, und der zweite Absatz n2 wird der zweiten Variablen zwei zugewiesen.
lese eins zwei m1 m2 m3 #<==Wenn die Eingabedaten die Anzahl der Variablen überschreiten, werden alle Endwerte der letzten Variablen zugewiesen, m1 wird der Variablen eins zugewiesen und „m2 m3“ wird verwendet gemeinsam der Variablen zwei zugeordnet.
read -p „Bitte geben Sie Ihr Alter ein:“ Alter #<==Vor der Altersvariable muss mindestens ein Leerzeichen stehen! Verwenden Sie den Parameter -p, um Eingabeaufforderungsanweisungen zu definieren, die in der Befehlszeile angezeigt werden, was benutzerfreundlicher ist.
read -t 3 -p „Bitte geben Sie Ihr Alter ein:“ Alter #<==Verwenden Sie den Parameter -t, um die Anzahl der Sekunden anzugeben, die gewartet werden soll. Nach dieser Zeit wird der Befehl automatisch beendet.
Die Option -s verhindert, dass die im Lesebefehl eingegebenen Daten, wie zum Beispiel Passwörter, auf dem Bildschirm angezeigt werden.
read -n 3 -p „Sie können nur 3 Zeichen eingeben. Wenn Sie mir nicht glauben, versuchen Sie es:“ num
Typ bestimmt den Befehlstyp
Typ [Option] [Befehl]
Geben Sie ls #<== ohne Parameter ein, um die Hauptinformationen von ls anzuzeigen.
Typ -a ls #<==Alle relevanten Informationen anzeigen.
ulimit ändert die Nutzungsgrenzen für Systemressourcen
Der Befehl ulimit wird verwendet, um die Nutzung von Systemressourcen zu überprüfen. Er kann auch das Kontingent ändern, das Systemressourcen von Prozessen oder Benutzern zugewiesen wird.
ulimit [Optionen]
ulimit -a zeigt alle aktuellen Nutzungsbeschränkungen für Systemressourcen an.
ulimit -n 1024 #<==Die standardmäßige maximale Anzahl geöffneter Dateien (auch Dateideskriptoren genannt) im neuen System beträgt 1024. Dieser Wert ist für den Server in der Produktionsumgebung zu klein, daher wird dieser Wert normalerweise während der Serveroptimierung angepasst . groß.
ulimit -n 65535 #<==Der Anpassungsbetrag beträgt 65535, aber die Anpassung über den Befehl wird nur für das aktuelle Fenster wirksam, sodass die Konfigurationsdatei geändert werden muss.
echo '* - nofile 65535' >> /etc/security/limits.conf #<==Ändern Sie die Konfigurationsdatei und wirken Sie dauerhaft.
unset löscht Variablen
unset OLDBOY oldgirl #<==unset Befehl kann den Wert der Variablen löschen.
Kapitel 11 Linux-Systemverwaltungsbefehle
lsof: Von einem Prozess geöffnete Dateien anzeigen
lsof [Optionen]
lsof /var/log/messages zeigt die Prozesse an, die die Datei verwenden.
lsof -c rsyslog #<==Verwenden Sie die Option -c, um vom angegebenen Prozess geöffnete Dateien anzuzeigen.
lsof -p 1277 #<==Verwenden Sie die Option -p, um Dateien anzuzeigen, die von der angegebenen Prozessnummer geöffnet wurden.
lsof -i #<==Alle Prozesse anzeigen.
lsof -i tcp #<==Zeigt Prozessinformationen aller TCP-Netzwerkverbindungen an.
lsof -i :22 #<==Zeigt den Prozess mit Port 22 an. Dieser Befehl wird sehr häufig verwendet.
lsof -i tcp:22 #<==Zeigt Prozesse an, die sowohl TCP als auch Port 22 erfüllen.
lsof -u oldboy #<==Verwenden Sie die Option -u, um vom Oldboy-Benutzer verwendete Dateien anzuzeigen.
lsof -U #<==Verwenden Sie die Option -U, um alle Socket-Dateien anzuzeigen.
Uptime: Zeigt die Laufzeit und Auslastung des Systems an
Betriebszeit
kostenlos: Informationen zum Systemspeicher anzeigen
kostenlos [Option]
kostenlos #<==Ohne Parameter ist die Standardanzeige die Anzahl der Bytes, was schwer zu verstehen ist.
free -m #<==Verwenden Sie die Option -m, um die Speichernutzung in MB anzuzeigen.
free -h #<==Verwenden Sie die Option -h, um basierend auf der tatsächlichen Größe automatisch in KB-, MB- und GB-Einheiten zu konvertieren und die Speichernutzung anzuzeigen.
free -h -s 10 #<==Verwenden Sie die Option -s, um die Speichernutzung regelmäßig in Sekunden zu aktualisieren.
iftop: Verkehrsinformationen der Netzwerkschnittstelle dynamisch anzeigen
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum -y installiere iftop
iftop [Optionen]
iftop Schnittstelle: eth0 #<==Standardmäßig wird die erste Netzwerkkarte des Überwachungssystems verwendet. Mit der Option -i können Sie die Überwachungsnetzwerkkarte angeben.
iftop -nNBP ·-n: Führen Sie keine DNS-Auflösung durch und zeigen Sie die numerische IP-Adresse nicht an. ·-N: Zeigt die Portnummer in numerischer Form an. ·-P: Portnummer anzeigen. ·-B: Standardmäßig wird der Datenverkehr in Biteinheiten angezeigt, die berechnet werden müssen, um unserem Verständnis zu entsprechen. Wenn Sie jedoch die Option -B verwenden, wird der Datenverkehr direkt in Bytes angezeigt.
vmstat: Statistiken zum virtuellen Speicher
vmstat [Optionen] [Intervall [Anzahl]]
1) Im vmstat-Befehl und den nachfolgenden Optionen muss zwischen jedem Element mindestens ein Leerzeichen stehen. 2) Verzögerung stellt das Intervall zwischen zwei Ausgängen dar. 3) count stellt die Anzahl der Statistiken gemäß dem durch die Verzögerung angegebenen Zeitintervall dar.
vmstat #<==Wenn die Parameter „Intervall“ und „Anzahl der Male“ weggelassen werden, wird der Bericht nur einmal angezeigt und dann beendet.
vmstat 5 #<== bedeutet, dass die Ausgabeinformationen alle 5 Sekunden aktualisiert werden, die Ausgabe in einer Schleife erfolgt und die Tastenkombination Strg C gedrückt wird, um die Ausgabe zu stoppen.
vmstat 5 6 #<== bedeutet, dass die Ausgabeinformationen alle 5 Sekunden aktualisiert werden und die Ausgabe nach 6 Zählungen stoppt.
vmstat -a 2 5 zeigt aktiven und inaktiven Speicher an.
vmstat -s Details zur Speichernutzung anzeigen.
vmstat -d Lese-/Schreibvorgänge auf der Festplatte anzeigen.
vmstat -p /dev/sda1 Zeigt die Lese- und Schreibstatistik der Festplatte /dev/sda1 an.
mpstat: CPU-Informationsstatistik
mpstat [Optionen] [Zeitintervall [Anzahl]]
1) Im Befehl mpstat und den nachfolgenden Optionen muss zwischen jedem Element mindestens ein Leerzeichen stehen. 2) Verzögerung stellt das Zeitintervall zwischen zwei Ausgängen dar. 3) count stellt die Anzahl der Statistiken gemäß dem durch die Verzögerung angegebenen Zeitintervall dar.
mpstat #<==Wenn die Parameter „Zeitintervall“ und „Anzahl“ weggelassen werden, wird der Bericht nur einmal angezeigt und dann beendet.
mpstat 5 6 #<== bedeutet, dass die Ausgabeinformationen alle 5 Sekunden aktualisiert werden und die Ausgabe nach 6-maligem Zählen stoppt.
mpstat -P 0 #<==Zeigt die Informationen der ersten CPU an.
iostat: E/A-Informationsstatistik
iostat [Optionen] [Intervall [Anzahl]]
1) Im Befehl iostat und den nachfolgenden Optionen muss zwischen jedem Element mindestens ein Leerzeichen stehen. 2) Intervall stellt das Intervall zwischen zwei Ausgaben dar. 3) count stellt die Anzahl der Statistiken gemäß dem durch die Verzögerung angegebenen Zeitintervall dar.
iostat #<==Wenn die Parameter „Zeitintervall“ und „Anzahl der Male“ weggelassen werden, wird der Bericht nur einmal angezeigt und dann beendet.
iostat 2 3 #<==Aktualisiert die Anzeige alle 2 Sekunden und zeigt sie insgesamt dreimal an.
iostat -d #<==Option -d zeigt nur Festplattenstatistiken an.
iostat -d -k #<==Option -k zeigt Daten in kB an.
iostat -d -m #<==Option -m zeigt Daten in MB an.
iostat -d -x -k #<==Option -x zeigt erweiterte Informationen an.
iostat -c #<==Die Option -c wird verwendet, um nur System-CPU-Statistiken anzuzeigen.
iotop: Festplatten-E/A-Statistiken dynamisch anzeigen
iotop [Optionen]
iotop
sar: Systeminformationen sammeln
sar [Optionen] [Intervall [Anzahl]]
1) Im Befehl sar und den nachfolgenden Optionen muss zwischen jedem Element mindestens ein Leerzeichen stehen. 2) Intervall stellt das Intervall zwischen zwei Ausgaben dar. 3) count stellt die Anzahl der Statistiken gemäß dem durch Intervall angegebenen Zeitintervall dar.
sar -u 2 3 #<==Verwenden Sie die Option -u, um den Auslastungsstatus aller CPUs im System während der Abtastzeit anzuzeigen, gefolgt von 2 3, um Statistiken einmal alle 2 Sekunden und dreimal anzuzeigen.
sar -q 2 3 #<==Verwenden Sie die Option -q, um die Größe der Ausführungswarteschlange anzuzeigen.
sar -r 2 3 #<==Verwenden Sie die Option -r, um die Nutzung des Systemspeichers während der Abtastzeit anzuzeigen.
sar -b 2 3 #<==Verwenden Sie die Option -b, um die Puffernutzung während der Abtastzeit anzuzeigen.
sar -n DEV 2 3 #<==Verwenden Sie -n DEV, um Informationen zur Netzwerkschnittstelle anzuzeigen.
sar -n EDEV 2 3 #<==Verwenden Sie -n EDEV, um Netzwerkfehlerstatistiken anzuzeigen.
sar -n SOCK 2 3 #<==Verwenden Sie -n SOCK, um Socket-Informationen anzuzeigen.
sar -d 2 3 #<==Verwenden Sie die Option -d, um den Nutzungsstatus aller Festplattengeräte im System während der Abtastzeit anzuzeigen.
chkconfig: Boot-Dienst verwalten
chkconfig [Optionen]
chkconfig --list #<==Verwenden Sie die Option --list direkt, um den Status aller Dienste anzuzeigen.
chkconfig --list sshd #<==Geben Sie den Systemdienstnamen an, um den Startstatus dieses Dienstes anzuzeigen.
chkconfig sshd off #<==Verwenden Sie off, um den sshd-Dienst auszuschalten und ihn automatisch auf Stufe 2, 3, 4 und 5 zu starten.
chkconfig sshd on #<==Verwenden Sie on, um den automatischen Start des SSHD-Dienstes auf Ebene 2, 3, 4 und 5 zu aktivieren.
chkconfig --level 3 sshd off #<==Verwenden Sie --level, um anzugeben, dass der SSHD-Dienst ausgeschaltet und automatisch auf Stufe 3 gestartet werden soll.
chkconfig --level 3 sshd on #<==Verwenden Sie --level, um anzugeben, dass der sshd-Dienst automatisch auf Ebene 3 gestartet wird.
ntsysv: Boot-Dienst verwalten
ntsysv [Optionen]
ntsysv
Setup: Systemverwaltungstool
Der Setup-Befehl ist ein textschnittstellenbasiertes Systemverwaltungstool, das Benutzerauthentifizierungsverwaltung, Firewall-Verwaltung, Netzwerkverwaltung und Systemdienstverwaltung integriert.
aufstellen
ethtool: Netzwerkkartenparameter abfragen
ethtool [Netzwerkkartengerät]
ethtool eth0 #<==Verbinden Sie die angegebene Netzwerkkarte, um die Parameter der Netzwerkkarte anzuzeigen.
mii-tool: Verwalten Sie den Status von Netzwerkschnittstellen
mii-tool [Optionen] [Netzwerkschnittstelle]
mii-tool eth0 #<==Keine Optionen akzeptieren und vereinfachte Informationen anzeigen.
mii-tool -v eth0 #<==Verwenden Sie die Option -v, um detaillierte Informationen anzuzeigen.
dmidecode: Systemhardwareinformationen abfragen
dmidecode [Optionen]
dmidecode -s system-product-name #<==Das Servermodell des Autors ist Dell 2950. PowerEdge 2950
dmidecode -s system-serial-number #<==Zeigen Sie das Seriennummer-Schlüsselwort system-serial-number an.
dmidecode -t Memory #<==-Verwenden Sie die Option -t gefolgt vom Schlüsselwort Memory, um nur Speicherinformationen anzuzeigen. Weitere Schlüsselwörter können über den Befehl dmidecode -t angezeigt werden.
lspci: Alle PCI-Geräte anzeigen
lspci [Optionen]
lspci -s 02:04.0 #<==02:04.0 Aus Beispiel 1 können wir die Nummer des Netzwerkkartengeräts ermitteln.
lspci -s 02:04.0 -v #<==Detaillierte Informationen anzeigen.
ipcs: Zeigt den Status der prozessübergreifenden Kommunikationseinrichtungen an
ipcs [Optionen]
ipcrm: IPC-bezogene Informationen löschen
ipcrm [Optionen]
ipcrm -s 0 #<==Entfernt den Signalsatz mit einer angegebenen Semi-ID von 0.
rpm: RPM-Paketmanager
rpm [Optionen]
rpm -qpi lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Zeigt die RPM-Paketversion, das Erstellungsdatum und andere Informationen an.
rpm -qpl lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Zeigen Sie die Dateien im RPM-Paket an.
rpm -qpR lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Zeigen Sie die Dateien an, die zur Installation dieses RPM-Pakets erforderlich sind.
rpm -ivh lrzsz-0.12.20-27.1.el6.x86_64.rpm #<==Installieren Sie das RPM-Paket und verwenden Sie den Parameter -h, um den Fortschrittsbalken anzuzeigen. #<==rpm unterstützt auch die Online-Installation und stellt eine direkte Verbindung zu einer URL-Adresse her
rpm -qa lrzsz #<==Der Parameter -p wird hier nicht verwendet, da lrzsz der Softwarename ist und nicht mit „.rpm“ endet.
rpm -e lrzsz #<== Verwenden Sie den Parameter -e, um das Softwarepaket zu deinstallieren. Versuchen Sie im Allgemeinen, das Softwarepaket nicht zu deinstallieren, da es sehr wahrscheinlich ist, dass einige erforderliche Dateien für Das System wird versehentlich gelöscht, was letztendlich zu Systemschäden führt.
rpm -qf $(which ifconfig) #<== Manchmal werden Sie feststellen, dass das System nicht über bestimmte Dateien oder Befehle verfügt, Sie aber nicht wissen, zu welchem Softwarepaket die Datei oder der Befehl gehört. In diesem Fall können Sie das verwenden -f Parameter zur Abfrage (in Abfrage auf dem System, das diese Datei hat). In diesem Beispiel gehört der Befehl ifconfig beispielsweise zum Softwarepaket net-tools.
Lecker: Automatisiertes RPM-Paketverwaltungstool
yum [Optionen] [Befehl] [Paket]
Lecker, installiere httpd
yum list httpd #<==Überprüfen Sie die httpd-Installationsliste.
yum search httpd #<==Suche nach Paketen, die die httpd-Zeichenfolge enthalten.
yum grouplist #<==Installierte und deinstallierte Paketgruppen anzeigen.
yum groupinstall "SNMP Support" -y #<==Paketgruppe installieren, Suche in der Yum-Gruppenliste.
Kapitel 10 Linux-Netzwerkverwaltungsbefehle
ifconfig: Netzwerkschnittstelleninformationen konfigurieren oder anzeigen
ifconfig [Netzwerkschnittstelle] [Optionen]
Schnittstelle ist der Name der Netzwerkschnittstelle. Die Namen der Netzwerkschnittstellen unter Linux ähneln eth0, eth1 und lo usw., die jeweils die erste Netzwerkkarte, die zweite Netzwerkkarte und die Loopback-Schnittstelle darstellen. Dies ist eine optionale Option. Wenn Sie diese Option nicht hinzufügen, werden alle Netzwerkkarteninformationen im System angezeigt. Wenn Sie diese Option hinzufügen, werden die angegebenen Netzwerkkarteninformationen angezeigt.
Die Verwendung des Befehls ifconfig zum Konfigurieren der Netzwerkkarteninformationen wird nur vorübergehend wirksam. Durch einen Neustart der Netzwerk- oder Serverkonfiguration werden diese ungültig.
Der Befehl ifconfig muss beim Konfigurieren der Netzwerkkarteninformationen als Root-Benutzer ausgeführt werden.
ifconfig #<==Zeigt alle Netzwerkkarteninformationen im System an.
Der Befehl ifconfig eth0 #<== ist mit dem Namen der Netzwerkkarte verbunden, um die anzuzeigenden Informationen der Netzwerkkarte anzugeben.
ifconfig -a #<==Verwenden Sie die Option -a, um alle Netzwerkkarteninformationen anzuzeigen.
ifconfig eth1 up #<==Fügen Sie nach dem Namen der Netzwerkkarte etwas hinzu, um die Netzwerkkarte zu starten.
ifconfig eth1 down #<==Fügen Sie down nach dem Namen der Netzwerkkarte hinzu, um die Netzwerkkarte herunterzufahren.
ifconfig eth0 192.168.120.56 #<== Verbinden Sie die IP-Adresse direkt mit der Netzwerkkarte, die konfiguriert werden muss.
ifconfig eth0:0 10.0.0.8 netmask 255.255.255.0 up#<== Syntaxformat: Alias IP-Adresse Subnetzmaske Netzwerkkarte aktivieren
ifconfig eth0:1 10.0.0.9/24 up #<==Fügen Sie einen zweiten IP-Alias hinzu, 10.0.0.9/24 hat den gleichen Effekt wie 10.0.0.9 Netzmaske 255.255.255.0, 24 ist die Subnetzmaske 255.255.255.0 Eine andere Ausdrucksform .
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE#<==Schlüsselwörter zum Ändern der MAC-Adresse hw (MAC-Adresse festlegen) ether (Netzwerkgerätetyp).
ifup: Netzwerkschnittstelle aktivieren
ifup [Netzwerkschnittstelle]
ifup eth0 #<==Netzwerkschnittstelle eth0 aktivieren. Da eth0 bereits mit der Ausführung begonnen hat, lautet die Eingabeaufforderung wie folgt. RTNETLINK antwortet: Datei existiert
ifup eth1 #<==Aktivieren Sie die Netzwerkschnittstelle eth1. Unter normalen Umständen erfolgt keine Ausgabe.
fup eth2 #<==Aktivieren Sie die Netzwerkschnittstelle eth2 und melden Sie einen Fehler. Die Konfigurationsdatei von eth2 wurde nicht gefunden.
ifdown: Netzwerkschnittstelle deaktivieren
ifdown [Netzwerkschnittstelle]
ifdown eth1 #<==Schließen Sie die Netzwerkkarte eth1.
Route: Routing-Tabellen anzeigen oder verwalten
Route [Optionen]
route #<==Standardmäßig führt der Route-Befehl eine DNS-Auflösung für die IP-Adresse durch, um einen Hostnamen zu generieren.
route -n #<==Verwenden Sie die Option -n, um keine DNS-Auflösung durchzuführen, was die Anzeige beschleunigt.
route del default #<==Gateway-Methode 1 löschen.
Route add default gw 10.0.0.2 #<== Gateway-Methode 1 hinzufügen, Sie müssen die Gateway-Adresse 10.0.0.2 oder eine andere korrekte Adresse angeben.
route del default gw 10.0.0.2 #<==Gateway-Methode 2 löschen.
route add default gw 10.0.0.2 dev eth0#<==Gateway-Methode 2 hinzufügen, verwenden Sie dev, um das Netzwerkgerät anzugeben, geeignet für Hosts mit mehreren Netzwerkgeräten.
arp: verwaltet den Arp-Cache des Systems
arp [Optionen]
arp #<==Alle Einträge im Arp-Cache anzeigen.
arp -n #<==Verwenden Sie die Option -n, um alle Einträge im Arp-Cache numerisch anzuzeigen.
arp -n 10.0.0.1 #<== Geben Sie an, dass die ARP-Informationen von 10.0.0.1 abgefragt werden sollen.
arp -s 10.0.0.100 00:0c:29:c0:5a:ef #<==IP-Adresse und MAC-Adresse binden.
arp -d 10.0.0.100 #<==Statische ARP-Bindung löschen.
IP: Netzwerkkonfigurationstool
ip [Optionen] [Netzwerkobjekt] [Operationsbefehl]
ip link show dev eth1 #<==Eigenschaften der Netzwerkkarte eth1 anzeigen.
ip -s link show dev eth1 #<==Detaillierte Attribute anzeigen.
ip -s -s link show dev eth1 #<==Verwenden Sie zwei -s, um detailliertere Attribute anzuzeigen.
IP-Link richtet eth1 ein #<==Aktivieren Sie die eth1-Netzwerkkarte.
IP-Link set eth1 down #<==Schalten Sie die eth1-Netzwerkkarte aus.
IP-Link setzt Eth1-Adresse 0:0c:29:13:10:11 #<==Ändern Sie die MAC-Adresse.
ip a #<==Der Effekt ist derselbe wie bei der IP-Adresse. Die angezeigten Ergebnisse umfassen aktivierte und inaktive Netzwerkkarten.
ip a add 172.16.1.12/24 dev eth1 #<==Verwenden Sie die Add-Option, um eine IP-Adresse 172.16.1.12, Subnetzmaske 255.255.255.0, abgekürzt als 172.16.1.12/24, hinzuzufügen, und verwenden Sie die Dev-Option, um das Netzwerk anzugeben Gerät als eth1.
ip a add 172.16.1.13/24 dev eth1 #<==Sie können mehrere IP-Adressen hinzufügen, die als Hilfs-IPs bezeichnet werden. Der durch den vorherigen ifconfig-Befehl erstellte Alias ist IP. Heutzutage verwenden häufig verwendete Hochverfügbarkeitssoftware wie Heartbeat und Keepalive alle Hilfs-IP.
ip a del 172.16.1.12/24 dev eth1 #<==Löschen Sie die Haupt-IP, löschen Sie die mit dem Befehl ip konfigurierte IP-Adresse und ändern Sie die Add-Option im vorherigen Add-Befehl direkt in del.
·Durch das Löschen der Haupt-IP-Adresse der Netzwerkkarte werden auch alle IP-Adressen der Netzwerkkarte gelöscht. ·Das Löschen der zusätzlichen IP-Adresse der Netzwerkkarte hat keine Auswirkungen auf andere IP-Adressen der Netzwerkkarte.
ip a add 10.0.0.20/32 dev eth1 label eth1:1 #<== Verwenden Sie die Label-Option, um eine Alias-IP zu erstellen.
ip route|column -t #<==Verwenden Sie den Spaltenbefehl zum Formatieren, Option -t. Standardmäßig wird die Anzahl der Spalten in der Eingabezeile basierend auf der Leerzeichentrennung bestimmt, um eine Tabelle zu erstellen.
IP-Route 10.1.0.0/24 über 10.0.0.253 dev eth0 hinzufügen #<==Statische Route hinzufügen.
IP-Route del 10.1.0.0/24 #<==Statische Route löschen.
ip neighbor #<==Verwenden Sie den Neighbor-Befehl, um den Arp-Cache anzuzeigen.
IP-Nachbar add 192.168.1.100 lladdr 00:0c:29:c0:5a:ef dev eth0 #<==Statisches ARP hinzufügen.
IP-Nachbar del 192.168.1.100 dev eth0 #<==Statisches ARP löschen.
netstat: Netzwerkstatus anzeigen
netstat [Optionen]
netstat -an #<== Die häufig verwendeten Kombinationen -a und -n zeigen alle Verbindungsinformationen an.
netstat -lntup Die Funktion der obigen Befehlsanweisung besteht darin, alle TCP- und UDP-Überwachungsverbindungsinformationen anzuzeigen. ·-l: Zeigt alle Netzwerkverbindungen im LISTEN-Status an. ·-n: Zeigt die IP-Adresse ohne DNS-Auflösung in Hostnamen und Domänennamen an. ·-t: Alle TCP-Verbindungen anzeigen. ·-u: Alle UDP-Verbindungen anzeigen. ·-p: Prozessnummer und Prozessname anzeigen.
netstat -rn #<==Verwenden Sie die Option -r, um Routing-Tabelleninformationen anzuzeigen. Die Option -n führt keine DNS-Auflösung durch, um die Befehlsausführung zu beschleunigen.
ss: Netzwerkstatus anzeigen
Der Befehl ss ist ein ähnliches Tool wie netstat und wird es ersetzen. Er kann zum Anzeigen von Netzwerkstatusinformationen, einschließlich TCP, UDP-Verbindungen, Ports usw., verwendet werden. Sein Vorteil besteht darin, dass es immer detailliertere Informationen über den Netzwerkverbindungsstatus anzeigen kann und schneller und effizienter als netstat ist.
Wenn das System nicht über den Befehl ss verfügt, müssen Sie ihn installieren. Der Befehl ss gehört zum Paket iproute, daher lautet der Installationsbefehl yum-y install iproute.
ss [Optionen] [Filter]
ss -an #<==Alle Socket-Verbindungen anzeigen.
ss -an|column -t #<==Die obige Ausgabe wird etwas chaotisch sein, wenn sie in das Dokument geschrieben wird. Formatieren wir sie mit einer Spalte.
ss -lntup|column -t #<==Alle überwachenden TCP- und UDP-Verbindungen anzeigen.
ss -s #<== Zählt die aktuelle Anzahl der eingerichteten, geschlossenen, verwaisten und wartenden TCP-Sockets.
Ping: Testen Sie die Netzwerkkonnektivität zwischen Hosts
ping [Optionen] [Zielhost]
ping www.oldboyedu.com #<==Der Ping-Befehl ist direkt mit dem Domainnamen oder der IP verbunden und das Ping-Ergebnis wird immer angezeigt.
ping -c 3 -i 3 -s 1024 -t 255 www.oldboyedu.com ·-c 3: ICMP-Pakete dreimal senden. ·-i 3: Das Zeitintervall zwischen jedem Paketversand beträgt 3 Sekunden. ·-s 1024: Stellen Sie die Größe des gesendeten Pakets auf 1024 Byte ein. ·-t 255: Setzen Sie den TTL-Wert des gesendeten Datenpakets auf 255.
Traceroute: Verfolgen Sie den Routing-Status der Datenübertragung
Traceroute [Optionen] [Hostname oder IP] [Paketgröße]
Arping: ARP-Anfrage senden
Arping [Optionen]
arping -f 10.0.0.1 #<== Verwenden Sie die Option -f, um den Vorgang zu beenden, wenn die erste Antwort empfangen wird, um festzustellen, ob der Zielhost aktiv ist.
arping -f 10.0.0.3 #<==Ein Host, der nicht ausgeführt wird, antwortet nicht und der Befehl wartet, bis Strg C beendet wird.
Telnet: Remote-Anmeldung beim Host
telnet [Optionen] [Hostname oder IP] [Port]
telnet 10.0.0.12 22 #<== Ersetzen Sie hier 10.0.0.12 durch die eigene IP des Lesers, und 22 ist die Standard-Portnummer des SSH-Dienstes.
nc: multifunktionales Netzwerktool
nc ist ein einfaches, zuverlässiges und leistungsstarkes Netzwerktool, das TCP-Verbindungen herstellen, UDP-Pakete senden, alle TCP- und UDP-Ports abhören, Port-Scans durchführen und IPv4- und IPv6-Pakete verarbeiten kann. Wenn das System nicht über den Befehl nc verfügt, können Sie ihn manuell installieren. Der Installationsbefehl lautet yum-y install nc.
nc [Optionen]
nc -l 12345 >oldboy.nc #<==Port 12345 abhören und Daten in oldboy.nc schreiben. #<==Nach der Ausführung des obigen Befehls bleibt das aktuelle Fenster hängen. #<==Öffnen Sie ein neues Fenster, um den Befehl auszuführen.
nc 10.0.0.12 12345 <oldboy.log #<==Verwenden Sie den Befehl nc, um die Datei oldboy.log an Port 12345 des 10.0.0.12-Hosts zu übertragen.
nc -z 10.0.0.12 20-30 #<==Scannen Sie die Ports 20 bis 30 des 10.0.0.12-Hosts.
nc -z 10.0.0.12 22 #<==Eine einzelne Adresse oder ein Adressbereich kann vom Host verfolgt werden.
nc -z -v 10.0.0.12 20-30 #<==Verwenden Sie die Option -v, um den Scanvorgang im Detail anzuzeigen.
ssh: Sichere Remote-Anmeldung bei einem Host
ssh [Optionen] [Benutzer@][Hostname oder IP-Adresse] [Befehl, der remote ausgeführt wird]
ssh 10.0.0.29 #<==Dies ist der Abkürzungsbefehl für die Remote-Anmeldung am Server, der ssh -p 22 root@10.0.0.29 entspricht #<==Die folgenden vier Zeilen werden nur beim ersten Herstellen einer Verbindung mit dem Remote-Server abgefragt und bei einer erneuten Verbindung nicht abgefragt.
ssh -p 22 oldboy@10.0.0.29 #<== Verwenden Sie den Benutzer oldboy, um sich beim Remote-Server anzumelden. Dieser Benutzer muss ein vorhandener Benutzer auf dem Remote-Server sein.
ssh 10.0.0.29 „free -m“ #<== Fügen Sie einfach den Befehl, der remote ausgeführt werden soll, an das Ende ein. Verwenden Sie Anführungszeichen, um ihn standardisierter zu gestalten. Hier sind die Speicherinformationen des Servers, auf dem Sie ihn anzeigen.
ssh -v root@10.0.0.19 #<==Verwenden Sie die Option -v, um in den Debugging-Modus zu wechseln.
wget: Befehlszeilen-Download-Tool
·Unterstützung der Breakpoint-Download-Funktion. ·Unterstützt FTP- und HTTP-Downloadmethoden. ·Proxy-Server unterstützen. ·Sehr stabil, gute Anpassungsfähigkeit in Situationen mit sehr geringer Bandbreite oder instabilem Netzwerk. Wenn der Download aus Netzwerkgründen fehlschlägt, wird wget den Versuch fortsetzen, bis die gesamte Datei heruntergeladen ist. Wenn der Server den Downloadvorgang unterbricht, stellt er erneut eine Verbindung zum Server her und setzt den Download an der Stelle fort, an der er gestoppt wurde. Dies ist nützlich, um große Dateien von Servern mit begrenzten Verbindungszeiten herunterzuladen.
wget [Optionen] [Download-Adresse]
wget http://www.oldboyedu.com/favicon.ico #<==wget Stellen Sie einfach eine Verbindung zur Download-Adresse her.
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo #<==Dies ist ein Befehl zum Aktualisieren der Epel-Quelle, wird Epel-6 . Laden Sie das Repo herunter, legen Sie es im Verzeichnis /etc/yum.repos.d/ ab und benennen Sie es in epel.repo um.
wget --limit-rate=3k http://www.oldboyedu.com/favicon.ico #<==Verwenden Sie den Parameter --limit-rate, um die maximale Download-Geschwindigkeit auf 3K/s festzulegen.
wget -c Verwenden Sie den Parameter -c, um den Upload von einem Haltepunkt aus fortzusetzen.
wget -b http://www.oldboyedu.com/favicon.ico Verwenden Sie wget-b, um Dateien im Hintergrund herunterzuladen.
wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, wie Gecko) Chrome/10.0.648.204 Safari/534.16" http://www.oldboyedu. com/favicon.ico #<==Verwenden Sie den Parameter --user-agent, um den Clienttyp anzugeben.
wget -q -T 3 --tries=1 --spider www.baidu.com #<== Stillen Zugriff verwenden, Zeitüberschreitung in 3 Sekunden, einmal erneut versuchen, Crawler-Zugriff simulieren.
mailq: Zeigt die E-Mail-Übertragungswarteschlange an
mailq [Optionen]
mailq #<==Mail-Warteschlange anzeigen.
Mail: E-Mails senden und empfangen
Mail [Optionen]
mail -s „Hallo von oldboyedu“ zhangyao@oldboyedu.com #<==Der Empfänger wird gebeten, die E-Mail-Adresse in seine eigene E-Mail-Adresse zu ändern. Hallo, das ist der Inhalt der E-Mail. #<==Geben Sie manuell zwei Zeilen E-Mail-Inhalt ein. Willkommen auf www.oldboyedu.com. EOT #<== Geben Sie Strg D in eine neue Leerzeile ein, um die Eingabe zu beenden und die E-Mail zu senden.
echo -e "Hallo, das ist der Inhalt von Mail. Willkommen bei www.oldboyedu.com."|mail -s "Hallo von oldboyedu" zhangyao@oldboyedu.com Befehlsbeschreibung: Auf echo folgt der E-Mail-Text.
#<==Einen einzelnen Anhang senden. [root@oldboy ~]# echo "test"|mail -s "test" -a favicon.jpg zhangyao@oldboyedu.com
#<==Mehrere Anhänge senden. [root@oldboy ~]# echo "test"|mail -s "test" -a favicon.jpg -a web.sh zhangyao@oldboyedu.com
nslookup: Tool zur Abfrage von Domainnamen
nslookup [Optionen] [Domänenname/IP] [DNS-Server]
·Interaktiver Modus: Benutzer können den Domänennamenserver nach Informationen zu verschiedenen Hosts und Domänennamen abfragen oder eine Liste der Hosts im Domänennamen ausgeben. ·Nicht interaktiver Modus: Rufen Sie nur bestimmte Namen oder erforderliche Informationen für einen Host- oder Domänennamen ab.
nslookup - 223.5.5.5 #<==Sie können die Serveradresse für die Domänennamenauflösung direkt in der Befehlszeile angeben, achten Sie jedoch auf die Schreibweise und übersehen Sie nicht das „-“.
nslookup www.oldboyedu.com 223.5.5.5 #<==Nicht-interaktive Abfrage des Domänennamens www.oldboyedu.com.
dig: Tool zur Abfrage von Domainnamen
graben [Option]
Graben Sie www.oldboyedu.com
dig @223.5.5.5 www.oldboyedu.com #<==Verwenden Sie @, um den DNS-Server für die Abfrage anzugeben.
dig -x 101.200.195.98 #<==Verwenden Sie die Option -x für die umgekehrte Auflösung von Domänennamen.
dig -t MX oldboyedu.com #<==Verwenden Sie die Option -t, um den Abfragetyp auszuwählen.
dig @223.5.5.5 www.oldboyedu.com Trace #<==Zeigt den vollständigen Prozess der Auflösung des Domainnamens in IP an.
dig nocmd nocomment nostat www.oldboyedu.com #<== Vereinfachen Sie einige Beschreibungsinformationen.
graben Sie kurz www.oldboyedu.com
Host: Tool zur Abfrage von Domainnamen
Host [Optionen]
Der Befehl host www.oldboyedu.com #<==host kann direkt mit dem Domänennamen verbunden werden.
host -a www.oldboyedu.com #<==Verwenden Sie die Option -a, um detaillierte Informationen abzufragen.
host -a www.oldboyedu.com 223.5.5.5 #<== Stellen Sie direkt eine Verbindung zur angegebenen DNS-Server-IP her.
host -t MX oldboyedu.com #<==Verwenden Sie die Option -t, um den Abfragetyp auszuwählen.
nmap: Netzwerkprüftool und Sicherheits-/Portscanner
nmap [Scan-Typ] [allgemeine Optionen] {Scan-Ziel}
nmap 10.0.0.12 #<==nmap stellt eine direkte Verbindung zum Zielhost her und scannt standardmäßig die ersten 1–1000 Ports.
nmap -p 1024-65535 10.0.0.12 #<==-p Option gibt den Scanbereich an.
nmap 10.0.0.0/24 #<==Scannen Sie das LAN im Netzwerksegmentformat.
nmap -sn 10.0.0.0/24 #<==Verwenden Sie die Option -sn, um den Port nicht zu scannen.
nmap -sn 10.0.0.1-10 #<== Dieser Adressbereich kann zum Scannen verwendet werden.
nmap -O -sV 10.0.0.12 #<==-sV zeigt die Dienstversionsnummer an. #<==-O zeigt die Systemversion an, aber der Befehl nmap vergleicht den erkannten TCP/IP-Fingerabdruck mit seiner eigenen Fingerabdruckbibliothek. Befindet sich das System nicht in der Fingerabdruckdatenbank, wird es nicht erkannt.
tcpdump: Netzwerkverkehr überwachen
tcpdump [Optionen] [Ausdruck]
tcpdump #<==Standardmäßig werden beim direkten Starten von tcpdump alle Pakete überwacht, die auf der ersten Netzwerkschnittstelle fließen.
tcpdump -q #<==Standardmäßig gibt der Befehl tcpdump weitere Informationen aus. Um optimierte Informationen anzuzeigen, können Sie die Option -q verwenden.
tcpdump -c 5 #<==Verwenden Sie die Option -c, um die Anzahl der zu überwachenden Pakete anzugeben, sodass keine Strg-C-Taste erforderlich ist.
tcpdump -i eth0 #<==Verwenden Sie die Option -i, um die zu überwachende Netzwerkkarte anzugeben
tcpdump -n host 10.0.0.1 #<==Verwenden Sie die Option -n, um keine DNS-Auflösung durchzuführen und die Anzeige zu beschleunigen. Das Schlüsselwort zur Überwachung des angegebenen Hosts lautet host, gefolgt vom Hostnamen oder der IP-Adresse. Die Funktion dieses Befehls besteht darin, alle vom Host 10.0.0.1 empfangenen und gesendeten Datenpakete zu überwachen.
tcpdump -n src host 10.0.0.1 #<== Hören Sie nur auf Datenpakete, die von 10.0.0.1 gesendet werden, dh die Quelladresse ist 10.0.0.1 und das Schlüsselwort ist src (Quelle, Quelladresse).
tcpdump -n dst host 10.0.0.1 #<== Hören Sie nur die von 10.0.0.1 empfangenen Datenpakete ab, dh die Zieladresse ist 10.0.0.1 und das Schlüsselwort ist dst (Ziel, Ziel).
tcpdump -nn port 22 #<==Die Verwendung der Option -n führt keine DNS-Auflösung durch, konvertiert jedoch einige Protokolle und Ports, z. B. Port 22 in ssh. Leser können die Ausgabeergebnisse von Beispiel 10-4 vergleichen. Daher verwendet dieses Beispiel die Option -nn. Das Schlüsselwort zur Überwachung des angegebenen Ports lautet port, gefolgt von der Portnummer.
tcpdump -n arp #<== ARP-Pakete abhören, damit der Ausdruck direkt in arp geschrieben werden kann.
tcpdump -n icmp #<== ICMP-Datenpakete abhören (wenn Sie die Überwachungsdaten unten anzeigen möchten, können Sie andere Computer verwenden, um diesen Computer anzupingen)
tcpdump -n ip host 10.0.0.12 und ! 10.0.0.1 #<==Ruft die IP-Pakete ab, die Host 10.0.0.12 mit allen Hosts kommuniziert (außer Host 10.0.0.1).
Kapitel 9 Linux-Prozessverwaltungsbefehle
ps: Prozess ansehen
ps [Optionen]
ps -ef #<== UNIX-Formatparameter, verwenden Sie den Parameter -e, um alle Prozesse anzuzeigen, verwenden Sie den Parameter -f, um zusätzlich die Felder UID, PPID, C und STIME anzuzeigen.
ps -ef|grep ssh #<==Verwenden Sie grep, um das Schlüsselwort ssh zu finden.
ps aux #<== BSD-Formatparameter, verwenden Sie die Optionen a und x, um alle Prozesse anzuzeigen, und verwenden Sie die Option u, um die Benutzerinformationen des Prozesses anzuzeigen.
ps -u root #<==UNIX-Formatparameter, verwenden Sie den Parameter -u, um Prozessinformationen anzuzeigen, die sich auf den angegebenen Benutzer beziehen.
ps -l #<== UNIX-Formatparameter, verwenden Sie den Parameter -l, um den Status des Prozesses in einem detaillierten Format anzuzeigen.
ps -eH #<== UNIX-Formatparameter, verwenden Sie den Parameter -e, um alle Prozesse anzuzeigen, und verwenden Sie den Parameter -H, um den Prozessbaum anzuzeigen.
ps axf #<== BSD-Formatparameter, verwenden Sie die Parameter a und x, um alle Prozesse anzuzeigen, und verwenden Sie den Parameter f, um den Prozessbaum anzuzeigen.
Auf ps -o pid,ppid,pgrp,session,tpgid,comm #<==-o folgen die anzuzeigenden Felder, die mit der ersten Zeile des Befehlsergebnisses verglichen werden können.
pstree: Prozessstatusbaum anzeigen
pstree [Optionen] [Prozess-ID/Benutzer]
pstree #<==Wenn die PID-Nummer des Prozesses nicht angegeben ist oder der Benutzername nicht angegeben ist, wird der Init-Prozess als Root-Prozess verwendet und alle Prozessinformationen des Systems werden angezeigt.
pstree mysql #<==mysql ist der Benutzername des Systems.
pstree -c -p mysql #<==Verwenden Sie die Option -c, um alle Prozesse anzuzeigen, einschließlich untergeordneter Prozesse und übergeordneter Prozesse, und verwenden Sie die Option -p, um die Prozessnummer des Prozesses anzuzeigen.
pstree -u #<==Verwenden Sie die Option -u, um den Benutzernamen anzuzeigen, der dem Prozess entspricht.
pgrep: Prozesse finden, die den Bedingungen entsprechen
pgrep [Optionen] [Übereinstimmungskriterien]
pgrep crond #<==Der Befehl pgrep kann als Kombination aus dem Befehl ps und dem Befehl grep betrachtet werden. Der Befehl pgrep gibt das Filtern des Crond-Felds an und ruft die Prozessnummer des Crond-Prozesses ab.
pgrep -u root #<==Verwenden Sie die Option -u, um alle Prozessnummern des angegebenen Root-Benutzers anzuzeigen.
kill: Beende den Prozess
kill [Optionen] [Prozessnummer]
kill -l #<==Parameter -l zeigt alle Signale des Systems an.
kill -l SIGKILL #<== Mit dem Parameter -l können Sie Signalnamen und digitale Signale austauschen.
kill -s 15 2203 #<==Dieses Format verwendet den Parameter -s, um explizit anzugeben, dass ein Signal mit dem Wert 15 gesendet werden soll. Der Effekt ist der gleiche wie bei kill 2203.
kill -9 2203 #<==Signal 9 beendet den Prozess zwangsweise, was einige Nebenwirkungen mit sich bringt, z. B. Datenverlust, oder das Terminal kann nicht in den Normalzustand zurückversetzt werden. Daher sollte dies so weit wie möglich vermieden werden, es sei denn, der Prozess kann nicht mit anderen Signalen beendet werden.
killall: Beende den Prozess anhand des Prozessnamens
killall [Optionen] [Prozessname]
killall crond #<==Die Verwendung von killall zum Beenden des Prozesses kann mehrmals ausgeführt werden. crond: kein Prozess beendet #<==Wenn Sie dieses Ergebnis sehen, beweist es, dass der Prozess tot ist, vorausgesetzt, der Name ist korrekt.
killall -w crond #<==Verwenden Sie den Parameter -w und Sie werden sehen, dass die Befehlsoperation nach einigen Sekunden Wartezeit endet.
killall -u oldboy nginx #<==Diese Methode kann alle Nginx-Prozesse beenden, die dem Oldboy-Benutzer gehören
pkill: Beende den Prozess anhand des Prozessnamens
pkill [Optionen] [Prozessname]
pkill crond #<== Beendet den geplanten Aufgabenprozess.
pkill -t tty1 #<==Verwenden Sie die Option -t, um den Prozess des angegebenen Terminals abzubrechen.
pkill -u oldboy #<==Verwenden Sie die Option -u, um alle Prozesse des angegebenen Benutzers zu beenden. Es ist am besten, den Namen des zu beendenden Prozesses gleichzeitig anzugeben, um ein versehentliches Beenden des Dienstes zu vermeiden.
oben: Echtzeitanzeige der Ressourcennutzung jedes Prozesses im System
oben [Optionen]
top #<==Die Verwendung des top-Befehls erfordert normalerweise keine Parameter. Wenn Sie andere leistungsfähigere Funktionen benötigen, müssen Sie mit interaktiven Befehlen zusammenarbeiten.
top -a #<==Verwenden Sie den Parameter -a, um Prozesse nach Speichernutzung zu sortieren.
top -b #<==Verwenden Sie den Parameter -b, um sicherzustellen, dass die Ergebnisse der Befehlsausführung kontinuierlich nach unten aktualisiert werden.
top -c #<==Verwenden Sie den Parameter -c, um den gesamten Befehlspfad des Prozesses anzuzeigen, anstatt nur den Befehlsnamen.
top-d 3#<==Verwenden Sie den Parameter -d, um den Aktualisierungszeitraum auf 3 Sekunden festzulegen, was bedeutet, dass die Befehlsergebnisse alle 3 Sekunden aktualisiert werden.
top -n 2 #<==Verwenden Sie den Parameter -n, um die Anzahl der Aktualisierungen auf 2 festzulegen. Dies bedeutet, dass das Befehlsergebnis vor dem Beenden zweimal aktualisiert wird. Der Parameter -n kann in Verbindung mit dem Parameter -d verwendet werden .
top -p 15456 #<==Verwenden Sie die Option -p gefolgt von der angegebenen Prozessnummer, um nur die Informationen dieses Prozesses anzuzeigen.
Schön: Passen Sie die Priorität des Programms an, wenn es ausgeführt wird
nette [Option] [Befehlsanweisung]
Wenn der Befehl „nice #<==“ keinen Inhalt empfängt, zeigt er an, dass die aktuelle Standardprogrammausführungspriorität des Systems 0 ist.
nice nice #<== Unter diesen passt der erste nice-Befehl die Priorität des zweiten nice-Befehls mit dem Standardwert 10 an, d , und führen Sie dann den zweiten Nice-Befehl mit der Priorität 10 aus. Schließlich zeigt der zweite Nice-Befehl, dass die aktuelle Ausführungspriorität des Programms 10 ist.
nice -n -10 vim test2 & #<==Verwenden Sie nice, um es auf -10 anzupassen.
renice: Passen Sie die Priorität laufender Prozesse an
renice [Optionen]
renice -n 5 -p 2711 #<==Verwenden Sie den Parameter -p von renice, um den Prozess mit dem Wert 2711 anzugeben und seinen NI-Wert auf 5 anzupassen.
nohup: Der Benutzer verlässt den Systemprozess und arbeitet weiter
nohup [Optionen]
nohup ping www.oldboyedu.com nohup: Eingaben werden ignoriert und Ausgaben werden an „nohup.out“ angehängt.#<==Das aktuelle Terminal hängt sich auf. Wenn Sie das Schließen des aktuellen Terminals erzwingen (z. B. das Schließen des Labels oder des SSH-Client-Tools), wird der Ping-Befehl weiterhin ausgeführt der Hintergrund.
nohup ping www.oldboyedu.com & #<==Bei der Arbeit führen wir normalerweise den Befehl nohup mit dem kaufmännischen Und aus, um das Programm direkt im Hintergrund laufen zu lassen.
strace: Systemaufrufe eines Prozesses verfolgen
strace [Optionen]
strace -tt -f /application/nginx/sbin/nginx #<== Der Parameter -f verfolgt den Zielprozess und alle vom Zielprozess erstellten untergeordneten Prozesse. Der Parameter -tt fügt vor jeder Zeile in der Ausgabe genaue Zeitinformationen hinzu auf Mikrosekunden, und schließlich ist die zu erkennende Befehlsanweisung /application/nginx/sbin/nginx der Befehl zum Starten des Nginx-Dienstes.
strace -tt -f -e Trace=file /application/nginx/sbin/nginx #<==-e Trace=File wird nur verwendet, um Systemaufrufe im Zusammenhang mit Dateivorgängen zu verfolgen.
strace -tt -f -e Trace=Datei -p 1909 #<==Verwenden Sie den Parameter -p, um nur den Arbeitsprozess zu verfolgen, und das Ergebnis wird rationalisiert.
strace -c /application/nginx/sbin/nginx #<==Verwenden Sie den Parameter -c, um eine statistische Analyse aller Systemaufrufe des Prozesses durchzuführen.
strace -c -o tongji.log /application/nginx/sbin/nginx #<==Verwenden Sie die Option -o, um die Ergebnisse von strace in eine Datei auszugeben.
strace -T /application/nginx/sbin/nginx #<==Verwenden Sie die Option -T, um die für jeden Systemaufruf aufgewendete Zeit auszudrucken. Die für jeden Anruf aufgewendete Zeit steht in der äußersten rechten spitzen Klammer der Anrufzeile.
ltrace: Verfolgen Sie Prozessaufrufe an Bibliotheksfunktionen
ltrace [Optionen]
Auf ltrace /application/nginx/sbin/nginx #<==ltrace folgt direkt die zu erkennende Befehlsanweisung.
ltrace -p 3892 #<==Verwenden Sie -p, um die Prozessnummer anzugeben.
Runlevel: Gibt den aktuellen Runlevel aus
Runlevel [Optionen]
Runlevel N 3
·0: Herunterfahren ·1: Einzelbenutzermodus ·2: Mehrbenutzermodus ohne Netzwerk ·3: Mehrbenutzermodus ·4: Nicht verwendet ·5: Mehrbenutzermodus der grafischen Oberfläche ·6: Neustart
init: Initialisiert den Linux-Prozess
init [Optionen]
init 0 #<==Herunterfahren
init 6 #<==Neustart.
Dienst: Managementsystemdienst
Dienst [Dienstname] [Ausführungsbefehl]
Zu den optionalen Werten für den Befehl gehören Start, Stopp, Status, Neustart usw.
service --status-all #<==Alle Dienststatus anzeigen.
service crond #<==Hilfeinformationen werden angezeigt, wenn die Befehlsanweisung nicht abgeschlossen ist. crond ist der Name des geplanten Task-Dienstes.
service crond stop #<==Stoppt den Dienst.
service crond start #<==Starten Sie den Dienst.
service crond restart #<==Starten Sie den Dienst neu.
Service-Crond-Status #<==Dienststatus anzeigen.
Dieser Befehl wurde in CentOS 7 durch systemctl ersetzt.
Kapitel 8 Linux-Befehle zur Datenträger- und Dateisystemverwaltung
fdisk: Tool zur Festplattenpartitionierung
fdisk [Optionen] [Gerätename]
fdisk -l #<==Zeigen Sie die Partitionsinformationen aller Festplatten im aktuellen System an.
fdisk /dev/sdb #<==Ohne Parameter kann die Partitionierung durch direktes Verbinden des Gerätenamens erfolgen.
partprobe: Aktualisieren Sie die Informationen zur Festplattenpartitionstabelle des Kernels
partprobe [Optionen]
partprobe /dev/sdb #<==Es ist am besten, eine bestimmte Festplatte hinzuzufügen, da sonst möglicherweise ein Fehler gemeldet wird. Viele Leute führen dies direkt aus und erhalten am Ende einen Fehler und müssen das System neu starten.
tune2fs: Parameter des Dateisystems ext2/ext3/ext4 anpassen
tune2fs [Optionen]
tune2fs -l /dev/sda1|grep -i Mount#<== Überprüfen Sie die Anzahl der Mounts des sda1-Geräts, also der /boot-Partition.
tune2fs -C 30 /dev/sda1 #<==Der Parameter -C legt fest, wie oft das Dateisystem gemountet wurde.
tune2fs -c 40 /dev/sda1 #<==Der Parameter -c legt die Anzahl der Mounts für den erzwungenen Selbsttest fest.
tune2fs -c -1 /dev/sda1 #<==Automatische Überprüfung und andere Funktionen ausschalten.
tune2fs -l /dev/sda1|grep -i check #<==Prüfzyklus anzeigen.
tune2fs -i 10 /dev/sda1 #<==Die Einstellung des Parameters -i wird alle 10 Tage überprüft.
tune2fs -i 0 /dev/sda1 #<==Auf Normalzustand zurücksetzen.
parted: Festplattenpartitionierungstool
parted [Optionen] [Gerätename]
parted -l #<==Informationen zu allen Festplattenpartitionen anzeigen.
mkfs: Erstellen Sie ein Linux-Dateisystem
mkfs [Optionen] [Gerätename]
mkfs -t ext4 -v /dev/sdb #<==Verwenden Sie den Parameter -v, um detaillierte Informationen anzuzeigen.
mkfs.ext4 /dev/sdb #<==Diese Schreibweise ist einfacher und der Effekt ist der gleiche.
dumpe2fs: Ext2/ext3/ext4-Dateisysteminformationen exportieren
dumpe2fs [Optionen] [Gerätename]
resize2fs: Größe des ext2/ext3/ext4-Dateisystems ändern
resize2fs [Optionen] [Gerätename]
fsck: Linux-Dateisysteme prüfen und reparieren
fsck [Optionen] [Dateisystem]
Das Dateisystem muss vor der Überprüfung ausgehängt werden, andernfalls kann es zu Fehlern kommen. Es ist nicht erforderlich, diesen Befehl zu normalen Zeiten zu verwenden, um die Festplatte zu überprüfen. Er muss nur ausgeführt werden, wenn beim Einschalten des Systems ein Festplattenfehler angezeigt wird.
1) Zusätzlich zum Befolgen der Startaufforderungen zur Reparatur können Sie auch die Systemfestplatte verwenden, um in den Rettungsmodus oder den Einzelbenutzermodus zu wechseln und Systemfehler zu reparieren. 2) Führen Sie niemals fsck aus, um die Festplatte zu überprüfen, wenn der Computer hochgefahren ist und normal funktioniert, da dies dazu führen kann, dass die normale Festplatte ausfällt. 3) Wenn die letzte Spaltennummer in /etc/fstab 1 oder 2 ist, wird fsck gelesen, um beim Einschalten des Systems einen Selbsttest auf diesen Systemfestplatten durchzuführen. 4) Führen Sie keine Festplattenreparaturbefehle wie fsck auf einem bereits gemounteten Dateisystem aus, da dies zu Fehlern führen kann.
dd: Dateien konvertieren oder kopieren
dd [Optionen]
dd if=/dev/sda1 of=dev_sda1.img #<==Verwenden Sie if, um Daten aus /dev/sda1 zu lesen, und verwenden Sie of, um die Ausgabe an dev_sda1.img im aktuellen Verzeichnis anzugeben.
dd if=/dev/zero of=test.data bs=1M count=2 #<==Daten aus /dev/zero lesen und in test.data schreiben. Die Größe der generierten Datei test.data beträgt bs*count =1M *2=2M.
dd if=test.txt conv=ucase of=test.txt_u#<==Verwenden Sie den Parameter conv, um ucase so einzustellen, dass Kleinbuchstaben in Großbuchstaben konvertiert werden.
mount: Dateisystem mounten
mount [Optionen] [Gerät] [Verzeichnis]
Das gemountete Verzeichnis muss im Voraus vorhanden sein und ist vorzugsweise leer. Wenn das Verzeichnis nicht leer ist, wird der Inhalt des vorherigen Verzeichnisses nach dem Mounten des Geräts abgedeckt, der Inhalt im ursprünglichen Verzeichnis wird jedoch nicht beschädigt deinstalliert, dann kann wieder auf den vorherigen Verzeichnisinhalt zugegriffen werden.
mount #<== Geben Sie den Mount-Befehl direkt ein und drücken Sie die Eingabetaste, um die Mount-Informationen des Systems anzuzeigen.
mount -l #<==Der Parameter -l kann auch Mount-Informationen anzeigen.
mount /dev/cdrom /mnt #<==-t iso9660 ist hier nicht angegeben, aber der Mount-Befehl erkennt es automatisch. mount: Blockgerät /dev/sr0 ist schreibgeschützt, Mount nur lesbar#<== Fordert auf, dass das Gerät schreibgeschützt und schreibgeschützt gemountet ist.
mount -o remount,rw / #<==remount versucht, „/“ als rw (lesbar und beschreibbar) erneut zu mounten.
umount: Hängen Sie das Dateisystem aus
umount [Optionen] [Verzeichnis|Gerät]
Bei der Deinstallation von umount kann eine Verbindung zum Mountpunktverzeichnis oder zu Gerätedateien hergestellt werden.
umount /mnt #<== kann durch Herstellen einer Verbindung zum Mount-Punkt deinstalliert werden, und umount /dev/cdrom kann ebenfalls deinstalliert werden.
umount /mnt/ #<== Da es sich derzeit im mnt-Verzeichnis befindet, kann es nicht deinstalliert werden. Führen Sie hier Methode eins aus, um das aktuelle Verzeichnis zu verlassen und zu deinstallieren.
umount -lf /mnt/ #<==Methode 2: Verwenden Sie den Parameter -lf, um die Deinstallation zu erzwingen.
df: Speicherplatznutzung des Dateisystems melden
df [Optionen] [<Datei oder Verzeichnis>]
Wenn der Dateiparameter nach dem Befehl nicht angegeben wird, wird die Nutzung aller Festplattenpartitionen angezeigt. Wenn eine Datei angegeben wird, wird die Nutzung der Festplattenpartition angezeigt, auf der sich die Datei befindet.
df #<==Wenn Sie nach dem Befehl keine Dateiparameter angeben, wird die Nutzung aller Festplattenpartitionen angezeigt.
mkswap: Swap-Partition erstellen
mkswap [Optionen] [Gerätedatei]
mkswap /dev/sdb #<==Standardmäßig kann nicht die gesamte Festplatte als Swap-Partition verwendet werden.
mkswap -f /dev/sdb #<==Verwenden Sie den Parameter -f, um zu erzwingen, dass die gesamte Festplatte als Swap-Partition verwendet wird.
swapon: Swap-Partition aktivieren
tauschen [Option]
swapon /dev/sdb #<==Swap-Partition aktivieren.
swapon -s #<==Verwenden Sie die Option -s, um zu sehen, dass es zwei Swap-Partitionen gibt.
swapoff: Deaktivieren Sie die Swap-Partition
swapoff [Option]
Stellen Sie beim Schließen der Swap-Partition sicher, dass die Swap-Partition nicht verwendet wird. Andernfalls gibt das System die Fehlermeldung „Gerät ist beschäftigt“ aus.
swapoff /dev/sdb #<==Schließen Sie die /dev/sdb-Swap-Partition.
swapoff -a #<==Alle Swap-Partitionen schließen.
sync: Leeren Sie den Dateisystempuffer
synchronisieren [Optionen]
sync #<== Führt den sync-Befehl mehrmals ohne Ausgabe aus.
Kapitel 7 Befehle zur Linux-Benutzerverwaltung und zur Abfrage von Benutzerinformationen
useradd: Benutzer erstellen
useradd [Optionen] [Benutzername] useradd -D [Optionen]
Wenn useradd ett einen Benutzer erstellt, wird auch eine Benutzergruppe mit demselben Benutzernamen erstellt. In diesem Beispiel haben wir einen Systembenutzer namens ett hinzugefügt. Beim Betrachten des Verzeichnisses /home/ werden wir feststellen, dass das System automatisch ein ett-Verzeichnis erstellt hat, das nach der Anmeldung das Startverzeichnis des Benutzers ist, also das Home-Verzeichnis.
useradd -g sa -u 901 oldgirl #<==Der erstellte Benutzer oldgirl gehört zur sa-Gruppe und die UID ist 901.
useradd -M -s /sbin/nologin tingting #<==-M erstellt kein Home-Verzeichnis, -s gibt die Shell an, nachdem sich der Benutzer angemeldet hat. Hier ist /sbin/nologin, was bedeutet, dass die Anmeldung verboten ist. Dieses Beispiel wird häufig bei der Bereitstellung von Diensten wie Nginx und MySQL in Produktionsszenarien verwendet.
useradd -u 806 -s /bin/sh -c SysUser -G root,sa -e "2017/07/12" -f 2 -d /tmp/inca inca #<==Benutzer inca hinzufügen und Benutzerkommentarinformationen festlegen ist „SysUser“, UID ist als 806 angegeben, Es gehört zur Benutzergruppe root und sa-Mitglieder, sein Shell-Typ ist /bin/sh, das Home-Verzeichnis ist auf /tmp/inca eingestellt, die Ablaufzeit des Benutzers ist 12.07.2017 und die Benutzerrechte werden zwei Mal ausgesetzt Tage nach Ablauf.
useradd -D -s /bin/sh #<==Ändert die Standard-Anmeldeshell.
useradd -D -e "2018/07/12" #<==Ändern Sie den Standardgültigkeitszeitraum des Benutzers.
Die Funktion von useradd-D kann durch Bearbeiten und Ändern von vim/etc/default/useradd vollständig ersetzt werden.
usermod: Benutzerinformationen ändern
usermod [Optionen] [Benutzername]
usermod -u 888 -s /sbin/nologin -c TmpUser -G root,sa,tech -e "2018/07/12" -f 30 -d /home/inca inca #<==Incas Benutzerkommentarinformationen werden geändert in „TmpUser“, die UID wird auf 999 geändert, der Besitzer wird auf die Benutzergruppe „root“, „sa“ und „tech“-Mitglieder geändert, sein Shell-Typ ist /sbin/nologin, das Home-Verzeichnis wird auf /home/inca gesetzt, der Benutzer läuft ab Uhrzeit ist der 12.07.2018, Aussetzung nach 30 Tagen abgelaufen.
userdel: Benutzer löschen
userdel [Optionen] [Benutzername]
userdel zuma #<==Zuma-Benutzer löschen.
userdel -r oldgirl #<== Löschen Sie den Oldgirl-Benutzer mit dem Parameter -r.
groupadd: Erstellen Sie eine neue Benutzergruppe
groupadd [Optionen] [Benutzergruppe]
groupadd -g 123 test1 #<==Fügen Sie die Benutzergruppe test1 mit der GID 123 hinzu.
groupdel: Benutzergruppe löschen
groupdel [Benutzergruppe]
groupdel root #<==Das Löschen der Root-Benutzergruppe ist fehlgeschlagen, da der Root-Benutzer noch existiert.
groupdel kann die Hauptbenutzergruppe, zu der der Benutzer gehört, nicht löschen.
passwd: Benutzerpasswort ändern
passwd [Optionen] [Benutzername]
·Der Root-Benutzer kann das Passwort jedes Benutzers ändern, und normale Benutzer können nur ihr eigenes Passwort ändern. ·Wenn der Root-Benutzer das Passwort ändert und es nicht den Systempasswortregeln entspricht, wird eine Warnmeldung ausgegeben, die Passworteinstellung bleibt jedoch weiterhin wirksam. Wenn normale Benutzer ihre Passwörter ändern und ein schwaches Passwort verwendet wird, wird eine Warnmeldung ausgegeben und die Änderung wird ungültig.
passwd -S altes Mädchen Das kann nur root. #<==Hinweis, dass dieser Parameter nur unter root ausgeführt werden kann.
echo "123456"|passwd --stdin oldgirl #<==--der stdin-Parameter kann das Passwort von der Standardeingabe erhalten.
passwd -n 7 -x 60 -w 10 -i 30 oldgirl #<==oldgirl Der Benutzer kann das Passwort nicht innerhalb von 7 Tagen ändern und muss das Passwort nach 60 Tagen ändern. Der Benutzer wird 10 Tage vor Ablauf benachrichtigt ist das Einloggen nach 30 Tagen untersagt.
Änderung: Ändern Sie die Gültigkeitsdauer des Benutzerkennworts
chage [Optionen] [Benutzername]
chage -m 7 -M 60 -W 10 -I 30 oldboy #<==Oldboy-Benutzer können ihre Passwörter nicht innerhalb von 7 Tagen ändern und müssen ihre Passwörter nach 60 Tagen ändern. Oldboy-Benutzer werden 10 Tage vor Ablauf benachrichtigt nach 30 Tagen vom Einloggen ausgeschlossen werden.
chage -m7 -M60 -W10 -I30 oldboy #<==Die zweite Schreibweise.
chpasswd: Benutzerkennwörter stapelweise aktualisieren
chpasswd [Optionen]
chpasswd #<==Geben Sie chpasswd in die Befehlszeile ein und drücken Sie die Eingabetaste. root:123456 #<==Format Benutzername: Passwort, der Benutzer muss existieren. oldboy:123456 #<==Eine pro Zeile #<==Geben Sie Strg D in einer neuen Leerzeile ein, um die Eingabe zu beenden.
su: Benutzer wechseln
su [Optionen] [Benutzername]
1) Um von einem normalen Benutzer zu einem Root-Benutzer zu wechseln, können Sie su- oder su-root verwenden, aber das Root-Passwort muss eingegeben werden, um den Wechsel abzuschließen. 2) Um vom Root-Benutzer zum normalen Benutzer zu wechseln, können Sie die Schreibmethode „su-ordinary username“ verwenden. Es ist nicht erforderlich, ein Passwort einzugeben, um den Wechsel abzuschließen. In CentOS 5. /sbin und anderen folgenden Befehlen müssen Sie den vollständigen Pfad zum Ausführen verwenden oder den Inhalt der PATH-Variablen anpassen, damit bei CentOS 6 und CentOS 7 dieses Problem nicht auftritt. 3) Wenn Sie Befehle nur unter einem bestimmten Benutzer ausführen möchten, ohne direkt zu diesem Benutzer zu wechseln, können Sie su-username-c „command“ verwenden.
visudo: Sudoers-Datei bearbeiten
visudo [Optionen]
visudo -c #<==Verwenden Sie die Option -c zur Syntaxprüfung.
sudo: Befehl als anderer Benutzer ausführen
sudo [Optionen]
Benutzer- und Benutzergruppeninformationen anzeigen
id [Optionen] [Benutzername]
id #<== akzeptiert keine Benutzerparameter, der Standardwert ist der aktuell angemeldete Benutzer.
id oldboy #<==Gibt an, dass die Oldboy-Benutzerinformationen angezeigt werden sollen.
id -g #<==Benutzergruppen-GID anzeigen.
id -u #<==Benutzer-ID anzeigen.
id -un #<==Benutzernamen anzeigen (-n-Parameter bedeutet nicht, Zahlen, sondern Namen anzuzeigen).
w: Angemeldete Benutzerinformationen anzeigen
w [Optionen] [Benutzer]
w #<== kann grundsätzlich ohne Parameter verwendet werden.
w -h #<==Verwenden Sie den Parameter -h, um die ersten beiden Zeilen der Header-Informationen nicht anzuzeigen.
Wer: Zeigt die Informationen des angemeldeten Benutzers an
wer [Option]
who #<== kann im Allgemeinen ohne Parameter verwendet werden.
who -b #<==Startzeit anzeigen.
who -d #<==Abgemeldete Benutzer anzeigen.
who -l #<==Zeigt den Anmeldevorgang an.
who -H #<==Titel anzeigen.
ho -H -a #<==Verwenden Sie den Parameter -H, um den Titel anzuzeigen, und verwenden Sie den Parameter -a, um alle Informationen anzuzeigen.
Benutzer: Zeigt angemeldete Benutzer an
Benutzer #<==Wenn sich derselbe Benutzer mehrmals anmeldet, wird der Benutzername mehrmals angezeigt.
whoami: Zeigt den aktuell angemeldeten Benutzernamen an
Der Befehl whoami wird verwendet, um den aktuell angemeldeten Benutzernamen anzuzeigen. Dieser Befehl kann als Abkürzung des englischen Ausdrucks who am i angesehen werden.
last: Benutzer-Anmeldeliste anzeigen
letzte [Option]
last #<== zeigt viele Zeilen an.
last -10 #<==Gibt die Anzahl der anzuzeigenden Zeilen an und kann auch mit dem Befehl less über Pipes verwendet werden.
last oldboy #<==Zeigt den Anmeldestatus des Oldboy-Benutzers an, aber der Oldboy-Benutzer hat sich nicht angemeldet, daher ist die Anzeige leer.
lastb: Zeigt Datensätze zu Benutzeranmeldungsfehlern an
lastb [Optionen]
lastb #<==Sie müssen den Ergebnissen dieser Befehlsausführung mehr Aufmerksamkeit schenken. Wenn Sie unbekannte Anmeldefehlerinformationen finden, müssen Sie überlegen, ob das System gewaltsam geknackt wurde, um sich anzumelden.
lastlog: Zeigt die letzten Anmeldedatensätze aller Benutzer an
Kapitel 6 Dateisicherungs- und Komprimierungsbefehle
tar: Paketsicherung
tar [Optionen] [Datei oder Verzeichnis]
tar zcvf www.tar.gz ./html/ #<== Option v zeigt den Verpackungsprozess an. Sie müssen sich die häufig verwendete Verpackungsbefehlskombination zcvf merken. Wenn Sie den Verpackungsprozess nicht anzeigen möchten v-Option, das heißt, die Optionskombination ist zcf.
tar ztvf www.tar.gz #<==Verwenden Sie Option t, um den Inhalt des komprimierten Pakets ohne Dekomprimierung anzuzeigen, und Option v, um die Dateiattribute anzuzeigen.
tar tf www.tar.gz #<==Wenn die Option z nicht angegeben ist, ermittelt der Befehl tar auch automatisch den Typ des komprimierten Pakets und ruft automatisch den Befehl gzip auf.
tar zxvf www.tar.gz -C /tmp/ #<==Option C gibt den Dekomprimierungspfad an. Wenn C nicht hinzugefügt wird, erfolgt die Dekomprimierung in das aktuelle Verzeichnis.
tar xf www.tar.gz -C /tmp/ #<==Wenn Sie nicht zu viel Ausgabe sehen möchten, können Sie die Option v entfernen und die Funktion wird dadurch nicht beeinträchtigt. Gleichzeitig kann die Option z auch weggelassen werden, solange es sich um einen Dekomprimierungsvorgang handelt. Der Befehl tar kann den Komprimierungstyp des komprimierten Pakets automatisch identifizieren, beim Komprimieren muss jedoch die Option z hinzugefügt werden.
tar zcvf www.tar.gz ./html/ --exclude=html/oldboy/test #<==Fügen Sie nicht / am Ende des Testverzeichnisses hinzu, da es sonst nicht erfolgreich ist.
tar zcvf www.tar.gz ./html/ --exclude=html/oldboy/test --exclude=html/oldboy #<== Methode zum Ausschließen von mehr als 2 Verzeichnissen: Verwenden Sie mehrere --exclude parallel.
tar zcvfX paichu.tar.gz list.txt ./html/ #<==Verwenden Sie Parameter X, um die Liste der auszuschließenden Dateien zu verbinden.
Wenn Sie die allgemeine Option zcf von tar zum Packen einer Datei verwenden und es sich bei der Datei um eine Linkdatei wie /etc/rc.local handelt, packt tar nur die Linkdatei selbst, nicht die tatsächliche Datei, auf die die Linkdatei verweist, also zusätzlich Verwendung – Die Option h packt die Entitätsdatei, die der Softlink-Datei entspricht
Wenn das zu packende Verzeichnis ein relativer Pfad ist, kann nach --exclude nur der relative Pfad verfolgt werden. ·Wenn das zu packende Verzeichnis ein absoluter Pfad ist, kann auf --exclude entweder ein absoluter Pfad oder ein relativer Pfad folgen. ·Der Einfachheit halber sollten der von --exclude gefolgte Pfad und der Verpackungspfad dieselbe Form haben, entweder relative Pfade oder absolute Pfade.
tar zcvf etc.tar.gz 'find etc/ -type f' #<== Verwenden Sie find, um alle gewöhnlichen Dateien zu finden, und verschachteln Sie eine in Backticks eingeschlossene find-Befehlsanweisung in der tar-Befehlsanweisung.
gzip: Dateien komprimieren oder dekomprimieren
gzip [Optionen] [Datei]
gzip *.html #<==Verwenden Sie den gzip-Befehl, um alle Dateien mit der Endung „.html“ im aktuellen Verzeichnis zu komprimieren.
gzip -l *.gz #<== Verwenden Sie den Parameter -l, um die Komprimierungsinformationen der Datei ohne Dekomprimierung anzuzeigen. Da es sich bei den Quelldateien ausschließlich um leere Dateien handelt, beträgt die Komprimierungsrate 0,0 %.
gzip -dv *.gz #<==Verwenden Sie den Parameter -d, um die Datei zu dekomprimieren, und verwenden Sie den Parameter -v, um den Dekomprimierungsprozess anzuzeigen.
gzip -c Services >services.gz #<== Verwenden Sie die Option -c mit dem Ausgabeumleitungssymbol, um die Ausgabe an Services.gz zu leiten.
Der Befehl zcat services.gz|head #<==zcat kann die komprimierte Datei direkt verbinden, um das komprimierte Paket zu lesen.
zcat services.gz >services #<== kann auch direkt dekomprimiert und in die Datei umgeleitet werden.
zip: Dateien packen und komprimieren
zip [Optionen] [Datei oder Verzeichnis]
zip services.zip ./services #<==Format: zip-komprimierter Paketname, komprimierte Datei.
zip tmp.zip ./tmp/ #<==Dadurch wird nur die Datei im Verzeichnis komprimiert, die Dateien im Verzeichnis werden nicht komprimiert.
zip -r tmp.zip ./tmp/ #<==Verwenden Sie die Option -r, um rekursiv zu komprimieren.
zip -r tmp1.zip ./tmp/ -x tmp/services.zip #<==-x Option gibt unkomprimierte Dateien an.
unzip: ZIP-Datei entpacken
entpacken [Optionen] [komprimierte Datei]
unzip -l tmp.zip #<==Verwenden Sie die Option -l, um die Dateiliste im komprimierten Paket anzuzeigen.
entpacken Sie tmp.zip #<==Extrahieren Sie die Datei direkt im Stammverzeichnis. Da die Quelldatei noch vorhanden ist, wird die folgende Eingabeaufforderung angezeigt. #<==Ob Dateien ersetzt werden sollen, y ja nnein AAlle Dateien ersetzen NNicht alle Dateien ersetzen rUmbenennen
unzip -v tmp.zip #<==Zeigt beim Dekomprimieren einige Informationen an.
unzip -o tmp.zip #<==fragt beim Dekomprimieren nicht nach, ob überschrieben werden soll.
unzip -d /tmp tmp.zip #<== Mit der Option -d können Sie das Verzeichnis verbinden und das Dekomprimierungsverzeichnis angeben.
scp: Remote-Dateikopie
scp [Optionen] [Benutzer@Host1:Datei1] [Benutzer@Host2:Datei2]
scp /etc/services 10.0.0.9:/tmp#<==scp Name der übertragenen Datei IP-Adresse des Zielhosts: Das Verzeichnis, in das Sie übertragen möchten.
scp -p /etc/services 10.0.0.9:/tmp #<== Verwenden Sie die Option -p, um die Dateiattribute übertragen zu lassen.
scp -rp /tmp 10.0.0.9:/tmp #<==Sie müssen die Option -r verwenden, um das Verzeichnis zu kopieren
scp 10.0.0.9:/etc/services . #<== Kehren Sie einfach die Reihenfolge der übertragenen Befehle um und laden Sie die Datei /etc/services vom 10.0.0.9-Host in das aktuelle Verzeichnis herunter.
scp -rp 10.0.0.9:/tmp . #<==Ziehen Sie das tmp-Verzeichnis des 10.0.0.9-Hosts in das aktuelle Verzeichnis.
rsync: Dateisynchronisierungstool
1) Lokaler Modus: rsync [Optionen] [Quelldatei] [Zieldatei]
2) Über den Remote-Shell-Zugriffsmodus: Pull: rsync [Optionen] user@host:Quelldatei [Zieldatei] Push: rsync [Optionen] [Quelldatei] user@host:Zieldatei
3) Rsync-Daemon-Modus Ziehen: rsync [Optionen] user@host::Quelldatei [Zieldatei] rsync [Optionen] rsync://user@host:port/source file [Zieldatei] Drücken: rsync [Optionen] [Quelldatei] user@host::destination-Datei rsync [Optionen] [Quelldatei] rsync://user@host:port/destination-Datei
rsync -av /data1/ /data2 #<==Wenn am Ende des Quellverzeichnisses ein Schrägstrich steht, wird der Inhalt des Verzeichnisses anstelle des Verzeichnisses selbst kopiert.
rsync -av /data1 /data2 #<==Wenn das Quellverzeichnis keinen Schrägstrich hat, werden das Verzeichnis selbst und der Inhalt unter dem Verzeichnis kopiert.
rsync -av /etc/hosts /tmp #<==Die Quelldatei /etc/hosts und das Zielverzeichnis /tmp liegen beide auf demselben Host.
rsync -av --delete /null/ /tmp/ #<== Option --delete sorgt dafür, dass der Inhalt des tmp-Verzeichnisses mit dem leeren Verzeichnis übereinstimmt, d. h., was in null ist, wird gelöscht in tmp. Wenn es Inhalte gibt, die nicht in null, aber in tmp sind, müssen sie gelöscht werden. Da das Nullverzeichnis leer ist, löscht dieser Befehl alle Inhalte im Verzeichnis /tmp.
rsync -av 10.0.0.9:/tmp/ /tmp #<== Pull.
rsync -av /tmp/ 10.0.0.9:/tmp/ #<==Push.
rsync -av -e 'ssh -p 22' /tmp 10.0.0.9:/tmp/ #<== Im vorherigen Fall werden die mit rsync synchronisierten Daten im Klartext übertragen. In Szenarien, in denen Datensicherheit erforderlich ist, -e kann verwendet werden Die Option verwendet den SSH-Tunnel zum Verschlüsseln und Übertragen von Daten. -p ist die Option des SSH-Befehls und gibt die Portnummer für die SSH-Übertragung als 22 an. Das Ergebnis dieses Befehls ist das Pushen der Daten im lokalen /tmp Verzeichnis nach 10.0.0.9 über den SSH-verschlüsselten Tunnel. Führen Sie auf die gleiche Weise „rsync -av -e 'ssh -p 22' 10.0.0.9:/tmp/ /tmp“ aus, um Daten aus dem /tmp-Verzeichnis des 10.0.0.9-Hosts über das in das lokale /tmp-Verzeichnis zu ziehen SSH-verschlüsselter Tunnel.
Kapitel 5 Linux-Informationsanzeige und Dateisuchbefehle
uname: Systeminformationen anzeigen
uname [Option]
uname -a #<==Alle relevanten Informationen zum System anzeigen.
uname -m#<==64-Bit-Hardwarearchitektur.
uname -n#<==Der Hostname ist oldboy.
uname -r#<==Kernel-Release-Versionsnummer.
uname -s #<==Kernelname.
uname -v#<==Kernel-Versionsnummer.
uname -p#<==Der Prozessortyp ist 64-Bit-CPU.
uname -o#<==Name des Betriebssystems.
uname -i#<==Hardwareplattform.
Hostname: Zeigt den Hostnamen des Systems an oder legt ihn fest
Hostname [Optionen]
Hostname #<==Wenn keine Parameter angegeben werden, wird der Hostname angezeigt.
Mit dem Befehl hostname A #<==hostname kann der Hostname vorübergehend geändert werden, indem ein Hostname hinzugefügt wird.
vi /etc/sysconfig/network #<==Nur durch Ändern der Konfigurationsdatei kann der geänderte Hostname nach dem Neustart des Systems gültig bleiben.
Es ist zu beachten, dass im CentOS7-System die Hostnamen-Konfigurationsdatei in /etc/hostname geändert wird. Sie müssen /etc/hostname ändern.
hostname -s #<==Hostnamen im Kurzformat anzeigen.
Hostname -a #<==Zeigt den Alias des Hosts an.
Hostname -i #<==Wenn das Netzwerk nicht sehr gut ist, sind die Ergebnisse sehr langsam.
Hostname -I #<== Es wird empfohlen, -I zu verwenden, um die IP-Adresse des Systems zu erhalten. Es werden so viele IP-Adressen angezeigt, wie viele Netzwerkkarten (mit IP-Adressen) vorhanden sind.
dmesg: Diagnose einer Systemstartanomalie
dmesg [Optionen]
dmesg|less #<==Zeigen Sie den Pufferinhalt beim Paging über den Befehl less an, der zum Anzeigen von Informationen wie Hardwarefehlern verwendet wird.
stat: Zeigt den Datei- oder Dateisystemstatus an
stat [Optionen] [Datei oder Verzeichnis]
du: Statistiken zur Speicherplatznutzung
du [Optionen] [Datei oder Verzeichnis]
du -a #<==Zeigt die Größe aller Dateien im aktuellen Verzeichnis an (einschließlich versteckter Dateien und aller Dateien in Unterverzeichnissen).
du -s #<==Zeigt die Gesamtgröße des aktuellen Verzeichnisses an.
du -h #<==-h Parameter werden in leicht lesbare und verständliche Ergebnisse wie K, M und G umgewandelt.
du -sh #<==-sh ist eine häufig verwendete Befehlskombination und eine empfohlene Methode.
du -sh /usr/local/ #<==Zeigt die Gesamtgröße des angegebenen Verzeichnisses an.
du -h --max-length=1 /usr/local/ #<==Zeigt nur die Größe des Verzeichnisses der ersten Ebene an.
du -h --max- Depth=2 /usr/local/ #<==Zeigt nur die Größe der Verzeichnisse der ersten und zweiten Ebene an.
du -h --max- Depth=2 /usr/local/ --exclude=/usr/local/share #<==Zeigt nicht die Größe des Verzeichnisses /usr/local/share an.
Datum: Systemzeit anzeigen und einstellen
Datum [Optionen] [Datumsformat]
Datum %y #<==Jahr anzeigen (Kurzformat).
Datum %Y #<==Jahr anzeigen (Langformat).
Datum %m #<==Monat anzeigen.
Datum %d #<==Zeigt den Tag an.
Datum %H #<==Zeigt die Stunde an.
Datum %M #<==Minuten anzeigen.
Datum %S #<==Sekunden anzeigen.
Datum %F #<==Datum im Sonderformat anzeigen (Jahr-Monat-Tag).
Datum %T #<==Zeit im Sonderformat anzeigen (Stunde:Minute:Sekunde).
date %F -d "-1day" #<==Gestern anzeigen (prägnante Schreibweise).
Datum %F -d "gestern" #<==Gestern anzeigen (englische Schrift).
date %F -d "-2day" #<==Zeigt den Tag vor gestern an.
date %F -d "1day" #<==Morgen anzeigen.
date %F -d "tomorrow" #<==Morgen anzeigen (englische Schrift).
date %F -d "2day" #<==2 Tage später anzeigen.
date %F -d "1month" #<==Wird 1 Monat später angezeigt.
date %F -d "1year" #<==Wird 1 Jahr später angezeigt.
date -s 20170706 #<== ist auf 20170706 gesetzt und die spezifische Zeit ist leer, nämlich 00:00:00.
date -s 00:00:03 #<==Stellen Sie die spezifische Uhrzeit ein und das Datum wird nicht geändert.
date -s „00:00:03 20170706“ #<==Damit kann die gesamte Zeit eingestellt werden.
Echo: Zeigt eine Textzeile an
echo [Optionen] [Text]
echo Hallo Welt! #<==echo empfängt direkt den Text, den Sie ausgeben möchten.
echo „hello world“ >>hello.txt #<== Verwenden Sie das Anhänge-Umleitungssymbol „>>“, um Text in die Datei zu schreiben.
echo -n "oldboy";echo "oldboy" #<==Verwenden Sie die Option -n, um die Ausgabe in einer Zeile ohne Zeilenumbrüche auszugeben.
watch: Befehlsausführung überwachen
watch [Optionen] [Befehl]
watch -n 1 -d netstat -ant #<==netstat wird später ausführlich erläutert, -n gibt die Ausführung von Befehlen jede Sekunde an und -d hebt hervor.
watch cat oldboy.log<#==Überwacht Änderungen in der Datei oldboy.log im aktuellen Verzeichnis.
Der Parameter watch -t cat oldboy.log -t zeigt den Titel nicht an
Welcher: zeigt den vollständigen Pfad des Befehls an
which [Option] [Befehlsname]
which date #<==Zeigen Sie den vollständigen Pfad des Datumsbefehls an.
which which #<==Wenn für den angegebenen Befehl ein Alias festgelegt ist, wird bei Verwendung der Funktion which auch der Alias angezeigt.
which cd #<== Der integrierte Bash-Befehl kann which nicht verwenden.
which -a mysql #<==Alle Pfade, die MySQL-Befehle enthalten, werden angezeigt.
Dabei: Zeigt den vollständigen Pfad des Befehls und der zugehörigen Dateien an
whereis [Optionen] [Dateiname]
whereissvn
whereis -b svn #<==Nur ausführbare Dateien finden.
whereis -m svn #<==Nur die Man-Hilfedatei durchsuchen.
whereis -s svn #<==Nur Quellcodedateien finden.
Suchen: Dateipfade schnell finden
Suchen Sie [Optionen] [Dateiname]
Auf „locate pwd #<==“ folgt direkt der Name der Datei, die Sie suchen möchten. Solange sie die Zeichenfolge „pwd“ enthält, kann sie gefunden werden.
locate -c pwd #<==Zeigt nur die Anzahl der übereinstimmenden Zeilen an.
Suchen Sie /etc/sh #<==Ausgabe, solange ein Teil davon übereinstimmt.
find /etc/sh* #<== Sie können auch Platzhalter verwenden.
find -c /etc/*sh*
aktualisiertb: mlocate-Datenbank aktualisieren
aktualisiertb [Optionen]
updateb -vU /root/ #<==-v zeigt den Update-Vorgang an, -U gibt den Update-Pfad an.
Kapitel 4 Die drei Musketiere der Textverarbeitung
grep: Textfiltertool
Der grep-Befehl ist einer der wichtigsten Befehle im Linux-System. Seine Funktion besteht darin, übereinstimmende Zeilen und Daten aus Textdateien oder Pipe-Datenströmen zu filtern.
grep -v "oldboy" test1.txt #<== Zeilen filtern, die die Oldboy-Zeichenfolge nicht enthalten. Achten Sie auf die gefilterte Zeichenfolge und verwenden Sie so oft wie möglich doppelte Anführungszeichen.
grep -n "oldboy" test2.txt #<== Gibt die Zeilen aus, die die Oldboy-Zeichenfolge enthalten, und zeigt die Zeilennummer an.
grep -n „test2.txt #<== zeigt die Zeilennummern aller Zeilen an (ähnlich wie cat -n test2.txt bedeutet hier Übereinstimmung mit jedem einzelnen Zeichen, also Übereinstimmung mit dem gesamten Inhalt). , Zeilennummern aller Zeilen anzeigen.
grep -i "alex" test2.txt #<==Verwenden Sie den Parameter -i, um Alex ohne Berücksichtigung der Groß- und Kleinschreibung zu filtern.
grep -Ei "oldboy|alex" test2.txt #<== Dabei wird die Groß-/Kleinschreibung nicht beachtet und Zeichenfolgen herausgefiltert, die oldboy und alex enthalten.
grep -Ei --color=auto "oldboy|alex" test2.txt #<==Fügen Sie den Parameter --color hinzu. #<== Übereinstimmende Zeichenfolgen werden in roter Farbe angezeigt.
grep -c "oldboy" test2.txt zählt die Anzahl der übereinstimmenden Zeichenfolgen
sed: Charakter-Stream-Editor
sed [Optionen] [in sed integrierte Befehlszeichen] [Eingabedatei]
sed '2a 106,dandan,CSO' personen.txt #<==Der in sed integrierte Befehl und die Append-Funktion werden hier verwendet.
sed '2i 106,dandan,CSO' personen.txt #<==Die in sed integrierte Befehls-i-Einfügefunktion wird hier verwendet.
sed '2a 106,dandan,CSO 107,bingbing,CCO' person.txt hängt mehrere Textzeilen nach der angegebenen Zeile in der Datei an.
sed '2d' person.txt #<==Der integrierte sed-Befehl d wird hier verwendet, um die Löschfunktion zu implementieren und das Löschen des Textes in Zeile 2 anzugeben
sed '2,5d' person.txt #<== "2,5" ist eine Kombination aus numerischen Adressen, getrennt durch Kommas. Seine Funktion besteht darin, die zweite bis fünfte Textzeile der Datei zu löschen (mehrere Zeilen zu löschen). einschließlich der Zeilen 2 und 5, sodass nur Zeile 1 übrig bleibt.
sed 's#zhangyao#dandan#g' person.txt #<== Der integrierte sed-Befehl s wird hier verwendet, um die Ersetzungsfunktion zu implementieren, und das globale Ersetzungsflag g wird verwendet, um alle mit zhangyao übereinstimmenden Zeichenfolgen in der Datei zu ersetzen . Sie müssen auf das grammatikalische Format achten. Platzieren Sie den zu ersetzenden Text „zhangyao“ zwischen dem ersten und zweiten „#“ und den ersetzten Text „dandan“ zwischen dem zweiten und dritten „#“. Das Ergebnis ist, dass „zhangyao“ in der zweiten Zeile durch „dandan“ ersetzt wird.
sed '2p' person.txt #<== Der integrierte sed-Befehl p wird hier verwendet, um die Abfragefunktion zu implementieren, und der Inhalt von Zeile 2 wird in Kombination mit der numerischen Adresse angegeben. Wir werden jedoch feststellen, dass das Ergebnis ist nicht nur die Ausgabe von Zeile 2, sondern auch der Rest der Datei. Der Inhalt wird ebenfalls angezeigt, da der Befehl sed eine Standardausgabefunktion hat.
sed -n '2p' person.txt #<== Um das Problem der Anzeige redundanter Inhalte durch den obigen Befehl zu lösen, verwenden Sie die Option -n, um die Standardausgabe abzubrechen und nur den Text der übereinstimmenden Zeile auszugeben, also nur Sie Denken Sie daran, den Befehl p mit der erforderlichen Option - n zu verwenden.
sed -n '2,3p' person.txt #<==Natürlich können Sie den Adressbereich „2,3“ verwenden, um den Inhalt der Zeilen 2 bis 3 anzuzeigen.
Erste Schritte mit den AWK-Grundlagen
awk [Parameter] 'Bedingung {Aktion}' Datei...
awk 'NR==5' oldboy.txt #<==Im Vergleich zum obigen Inhalt handelt es sich tatsächlich um Zeile 5.
awk 'NR==2,NR==6' oldboy.txt
awk '{print NR,$0}' oldboy.txt fügt vor jeder Zeile der Datei eine Zeilennummer hinzu.
awk 'NR==2,NR==6 {print NR,$0}' oldboy.txt #<==Zeigt die Zeilen 2 bis 6 der Datei oldboy.txt an und gibt die Zeilennummer aus.
awk -F ":" '{print $1,$3,$NF}' oldboy.txt zeigt die erste, dritte und letzte Spalte der Datei oldboy.txt an.
awk '{gsub("/sbin/nologin","/bin/bash",$0);print $0}' oldboy.txt Ersetzen Sie /sbin/nologin in der Datei durch /bin/bash (awk-Funktionsübung).