Die Ausrüstung, die Benutzer verwenden müssen, um mit dem Host zu interagieren;
Physisches Terminal: direkt mit dem lokalen Monitor und Tastaturgerät verbunden; /dev/console
Virtuelles Terminal: verbunden mit dem Physische Terminals, die in der Software über dem Terminal virtualisiert sind, starten standardmäßig 6 virtuelle Terminals
Strg+Alt+F#: [1,6]
Grafikterminal: Ein virtuell in Software implementiertes Terminal, das an ein physisches Terminal angeschlossen ist, aber zusätzlich eine Desktop-Umgebung bereitstellt
Gerätedatei Pfad: /dev/tty#
Simuliertes Terminal:
Befehlszeilenschnittstelle, die unter der grafischen Oberfläche geöffnet wird, basierend auf dem SSH-Protokoll oder dem Telnet-Protokoll usw. Remote geöffnete Schnittstelle
Gerätedatei: /dev/pts/# [0,oo)
Aktuelles Endgerät anzeigen: tty
Interaktive Schnittstelle: Nach dem Starten des Terminals eine interaktive Anwendung an das Endgerät anhängen
GUI:
X-Protokoll, Fenstermanager, Desktop
Desktop:
GNOME (C, gtk)
KDE (C++, qt)
XFCE ( Light Scale Desktop)
CLI:
Shell-Programm:
sh (bourn)
csh
tcsh
ksh (Korn)
bash (Bourn Again Shell), GPL
zsh
Zeigt die aktuell verwendete Shell an:
# echo ${SHELL}
Alle derzeit vom System verwendeten Shells anzeigen:
# cat /etc/shells
Eingabeaufforderung: prompt
[root@localhost ~ ]#
[root@localhost ~]: PS1
prompt:
admin : #
Normaler Benutzer: $
Befehl:
Enter Geben Sie den Befehl ein und drücken Sie die Eingabetaste:
fordert das Shell-Programm auf, das ausführbare Programm oder den Code zu finden, der dem eingegebenen Befehl entspricht, und es nach der Analyse an den Kernel zu senden, um Ressourcen für die Ausführung zuzuweisen es verhält sich wie ein oder mehrere Prozesse.
Es gibt zwei Arten von Befehlen, die ausgeführt werden können die Shell:
Eingebaute Befehle: von der Shell bereitgestellt und in einer bestimmten Befehlsform bereitgestellt
Externe Befehle: unter einer bestimmten Dateisystempfad des aktuellen Systems Es gibt eine entsprechende ausführbare Programmdatei
wo ist
unterscheiden interne oder externe Befehle:
# type COMMAND
Befehl ausführen:
Befehlsformat:
BEFEHL [OPTIONEN...] [ARGUMENTE...]
Optionen: Wird zum Aktivieren oder Deaktivieren verwendet eine oder mehrere Funktionen des Befehls ;
Kurze Option: -c, zum Beispiel: -l, -h
Mehrere kurze Optionen können kann mit dem Befehl verwendet werden, zum Beispiel -l - h, kann als -lh
lange Option geschrieben werden: --word, zum Beispiel: --long, --human-; lesbare
Parameter: Das Aktionsobjekt des Befehls
stellt dem Befehl Daten zur Verfügung
Hinweis:
1. Mehrere Optionen, Parameter und Befehle sollten durch Leerzeichen getrennt werden
2. Befehlsausführung abbrechen: Strg+c
Dateisystem:
C:Programmeoffice11wordword.exe
/etc/sysconfig/network-scripts/ifcfg-eth0
Dateien haben zwei Arten von Daten:
Metadaten: Metadaten
Daten: Daten
1. Bei Dateinamen muss die Groß-/Kleinschreibung beachtet werden.
2. Alle anderen Zeichen als
4 sind alle versteckten Dateien >
Pfad:
Absoluter Pfad: der Pfad ausgehend vom Stammverzeichnis;
Relativer Pfad: der Pfad ausgehend vom aktuellen Verzeichnis Standort;
Darstellung des aktuellen Standorts:
(1) ./: ./sysconfig/network-scripts
(2) Lassen Sie die obigen Symbole weg: sysconfig/network-scripts
..: Zeigt das übergeordnete Verzeichnis des aktuellen Verzeichnisses an
Aktuelles Verzeichnis: aktuelles Verzeichnis, auch Arbeitsverzeichnis genannt
Externe Befehle: Es gibt ein ausführbares Programm, das sich in einem bestimmten Verzeichnis des Dateisystems befindet
welches, wo ist
Der Pfad, in dem das Shell-Programm nach ausführbaren Programmdateien sucht, ist in der Umgebungsvariablen PATH definiert;
# echo $PATH
Hinweis: Von links nach rechts
Format: BEFEHL [OPTIONEN...] [ARGUMENTE...]
Interner Befehl:
# help COMMAND
Externer Befehl:
(1) # COMMAND --help
# COMMAND -h
(2) Handbuch (manuell)
# man COMMAND
(3) Informationsseite
# info BEFEHL
(4) Hilfedokument des Programms selbst
README
INSTALLIEREN
ChangeLog
(5) Offizielle Programmdokumentation
Offizielle Website: Dokumentation
( 6) Offizielle Dokumentation der Verteilung
(7) Google
Intern Befehlshilfe:
# help COMMAND
Hash-Befehl:
Externer Befehl, der von der Shell durchsucht wird. Die Pfadergebnisse werden im kv-Speicher (Schlüsselwert) zwischengespeichert >
Befehlsverlauf verwalten;
Beim Anmelden an der Shell werden die in der Befehlsverlaufsdatei aufgezeichneten Befehle gelesen: ~/.bash_history
Der neu ausgeführte Befehl nach der Protokollierung in der Shell werden nur im Cache aufgezeichnet; diese Befehle werden an die Befehlsverlaufsdatei „angehängt“, wenn der Benutzer den Verlauf verlässt;
-a: Die Verlaufsliste der neu ausgeführten Befehle in dieser Sitzung an die Verlaufsdatei anhängen.
-d: Den angegebenen Befehl löschen im Verlauf;
-c: Befehlsverlauf löschen
Schnellbedienung:
!#: Aufrufverlauf Der #. Befehl
!string: Rufen Sie den neuesten Befehl auf, der mit string im Verlauf beginnt; 🎜>!!: der vorherige Befehl
Externer Befehlshilfezugriff:
(2) man BEFEHL
Manpages: /usr/share/man
man1 ... man8
man1: Benutzerbefehl
man2: Systemaufruf
man3: C-Bibliotheksaufruf
man4: Gerätedatei und Spezialdatei
man5: Konfigurationsdateiformat
man6: Spiel
man7: Verschiedenes
man8: Verwaltungsbefehle
Hinweis: Einige Tasten verfügen über Hilfehandbücher in mehr als einem Kapitel ;
Um das Handbuch im angegebenen Kapitel anzuzeigen: man # COMMAND
Man-Befehlskonfigurationsdatei: /etc /man.config
MANPATH /PATH/TO/SOMEWHERE: Geben Sie den neuen Speicherort für die manuelle Dateisuche an
# man -M /PATH/TO/SOMWHERE COMMAND: Durchsuchen Sie die Handbuchseite nach dem COMMAND-Befehl an der angegebenen Stelle und zeigen Sie ihn
Absatzbeschreibung in der Hilfe an Handbuch:
NAME
SYNOPSIS
BESCHREIBUNG
OPTIONEN
BEISPIELE
AUTOR
FEHLER MELDEN
SIEHE AUCH
SYNOPSIS:
[]: optionaler Inhalt
<> ;: Erforderlicher Inhalt
a|b: Wählen Sie einen der beiden
... : Der gleiche Inhalt kann mehrmals erscheinen
So bedienen Sie den man-Befehl:
Leertaste, ^V, ^f, ^F: Scrollen Sie zum Ende der Datei; b, ^B: Drehen Sie den Bildschirm zum Anfang der Datei;
d, ^D: Den halben Bildschirm an das Ende der Datei drehen;
u, ^U: Den halben Bildschirm an den Anfang der Datei drehen;
RETURN, ^N, e, ^E oder j oder ^J: zum Ende der Datei drehen. Eine Zeile umdrehen
y oder ^Y oder ^P oder k oder ^K: Eine Zeile zum Anfang der Datei umdrehen
q: Beenden;
#: Zur Zeile # springen
1G: Zurück zum Anfang der Datei
G: Gehe zu das Ende der Datei
Textsuche:
/KEYWORD:
Verwenden Sie die durch KEYWORD angegebene Zeichenfolge, um von der aktuellen Position bis zum Ende der Datei zu suchen. Bei den Zeichen wird die Groß-/Kleinschreibung nicht beachtet.
n: Nächstes A
N: Vorherige
?KEYWORD:
Eine durch KEYWORD angegebene Zeichenfolge. Als Schlüsselwort suchen von der aktuellen Position bis zum Anfang der Datei; bei den Zeichen wird die Groß-/Kleinschreibung nicht beachtet; n: Gleiche Richtung wie beim Suchbefehl, weiter
N: Die entgegengesetzte Richtung zum Suchbefehl, die vorherige
(3) info
info COMMAND
(4) Hilfedokument des Programms selbst
/usr/share /doc/ COMMAND-VERSION
(5) Offizielle Programmdokumentation
(6 ) Release-Version Offizielle Dokumentation für
(7) Google
(8) slideshare
Grundbefehl:
Datum:
Datum [OPTION]... [+FORMAT]: Anzeige
FORMAT: Formatsymbol
%D
%F
%T
Datum [ MMDDhhmm[[ CC]YY][.ss]]: Einstellungen
🎜>hh: Stunden
🎜>CCYY: Vierstellig. Jahr
>
Systemuhr: Timing, das vom Linux-Kernel anhand der Betriebsfrequenz der CPU durchgeführt wird
Hardware Uhr:
hwclock: Hardware-Uhr anzeigen
- s, --hctosys
-w, --systohc
cal: Kalender
Verzeichnisbezogene Befehle:
Aktuelles Verzeichnis oder ArbeitsverzeichnisHome-Verzeichnis, Home-Verzeichnis: HOME
root: /root
Normaler Benutzer: /home/USERNAME
/home/tom
~: Home-Verzeichnis des Benutzers
cd:
cd oder cd ~: Zurück zum Home-Verzeichnis des aktuellen Benutzers
cd ~USERNAME: Wechseln zu Das Home-Verzeichnis des angegebenen Benutzers
cd -: Zwischen dem vorherigen Verzeichnis und dem aktuellen Verzeichnis hin und her wechseln
.
..
Zugehörige Umgebungsvariablen:
PWD : speichert den aktuellen Verzeichnispfad;
OLDPWD: den letzten Verzeichnispfad;
pwd: zeigt das aktuelle Verzeichnis an
ls: list
zeigt die Dateiliste unter dem angegebenen Pfad an; >
ls [OPTION]... [DIR]...
-a, --all: Alle Dateien anzeigen, einschließlich versteckter Dateien;
-l: Langformat
-rw-r--r-- 1 root root 44800 14. August 14:32 install.log
-rw-r--r--:
Die erste Ziffer links: Dateityp
-, d, l, b, c, p, s
Die nächsten 9 Ziffern von
: Zugriffserlaubnis, perm
Anzahl: die Häufigkeit, mit der die Datei fest verknüpft wurde
Linkes Stammverzeichnis: der Eigentümer der Datei
Rechtes Stammverzeichnis: Die Gruppe der Datei
44800: Die Größe der Datei
14. August 14:32: Die Zeitpunkt der letzten Änderung der Datei
install.log: Dateiname
-h, --human-readable: Einheitenumrechnung
-d: Zeigt verwandte Attribute des Verzeichnisses selbst an; wird normalerweise zusammen mit -l verwendet; --r, --reverse: Invertiert anzeigen order
-R, --recursive: rekursiv
stat /PATH/TO/SOMEFILE: Ruft die angegebenen Dateimetadaten von
Dateianzeigebefehl ab: cat, tac
cat [OPTION]... [DATEI] ...
-E: Zeilenabschlusszeichen anzeigen$
-n: Nummer jede angezeigte Zeile
Befehl zum Anzeigen des Dateiinhaltstyps: Datei
Datei /PATH/TO/SOMEWHERE
Echo-Befehl: echo
-n: automatisches Hinzufügen von Zeilenumbrüchen deaktivieren;
-e: Escape-Zeichen verwenden;
n: Zeilenumbruch
t: Tabulatorzeichen
echo „$VAR_NAME“: Variablen werden ersetzt, doppelte Anführungszeichen stellen schwache Referenzen dar
echo „$VAR_NAME“: Variablen werden nicht ersetzt , starke Referenzen
welche: Zeigt den Programmdateipfad an, der dem Befehl entspricht
welcher [OPTION] BEFEHL
--skip-alias: Anzeige von Aliasen unterdrücken
whatis:
Verwenden Sie den Befehl mkwhatis, um das aktuelle System zu speichern. Alle Hilfehandbücher und entsprechenden Schlüsselwörter werden als Datenbank erstellt.
/boot: Speicherverzeichnis der Bootdatei, Kerneldateien (vmlinuz), Bootloader (Bootloader, Grub) werden darin gespeichert dieses Verzeichnis;
/bin: Grundlegende Befehle für alle Benutzer können nicht mit unabhängigen Partitionen verknüpft werden, die beim Start des Betriebssystems verwendet werden;
/sbin: Grundlegende Befehle für die Verwaltung; können nicht mit unabhängigen Partitionen, Programmen verknüpft werden, die beim Start des Betriebssystems verwendet werden;
/lib: grundlegende gemeinsam genutzte Bibliotheksdateien und Kernel Moduldateien (/lib/modules);
/lib64: Zusätzlicher gemeinsam genutzter Bibliotheksdateispeicherort für x86_64-Systeme
+m: Relative Zeitdarstellung, wie lange nach der Befehlsübermittlung, zum Beispiel +3;
hh:mm: absolute Zeitdarstellung, geben Sie die spezifische Zeit an
Anzeigebefehl für Benutzeranmeldeinformationen:
whoami: Zeigt die aktuell angemeldeten gültigen Benutzer an
who: Alle aktuellen Anmeldesitzungen im System; 🎜>w: Alle aktuellen Anmeldesitzungen und vom System ausgeführten Vorgänge;
Grundfunktionen von Bash (1):
(1) Befehlsverlauf
Verlauf
Umgebungsvariablen:
HISTSIZE: Die Anzahl der Befehlsverlaufsdatensätze;
HISTFILE: ~/.bash_history;
HISTFILESIZE: Die Anzahl der Befehle Verlaufsdatei-Datensätze Nummer; Verlaufsnummer: Zeigt die neuesten # Befehle im Verlauf an.
-a: Den Befehlsverlauf des aktuellen Sitzungspuffers manuell anhängen
Aufrufbefehle im Verlauf:
!#: Wiederholen Sie den #ten Befehl;
! !:
!string
Rufen Sie den letzten Parameter des vorherigen Befehls auf:
!$:
ESC, .
Alt+.
Steuern Sie, wie der Befehlsverlauf aufgezeichnet wird:
Umgebungsvariable: HISTCONTROL
ignoredups: Ignorieren Sie doppelte Befehle; aufeinanderfolgendes und identisches Quadrat bedeutet „wiederholen“; 🎜>
So ändern Sie den Wert der Umgebungsvariablen: Exportvariablenname="Wert"
Variablenzuweisung: Speichern Sie die Daten nach dem Zuweisungssymbol Der Variablenname zeigt auf den Speicherplatz
(2) Befehlsabschluss
Bash-Ausführung Befehl:
Interne Befehle:
Externe Befehle: Bash durchsucht jeden Pfad von links nach rechts nach dem angegebenen Befehlsnamen basierend auf dem definierten Pfad Durch die PATH-Umgebungsvariable ist es der Befehl, der zum ersten Mal ausgeführt werden soll:
Die vom Benutzer angegebene Zeichenfolge hat nur einen eindeutigen entsprechenden Befehl.
Der entsprechende Befehl, der mit der vom Benutzer angegebenen Zeichenfolge beginnt, ist nicht eindeutig. Dann gibt Tab erneut eine Liste aus
(3) Pfadvervollständigung
behandelt die vom Benutzer angegebene Zeichenfolge als Anfang des Pfads und sucht nach Dateien beginnend mit der angegebenen Zeichenfolge im angegebenen übergeordneten Verzeichnis Name;
Wenn eindeutig: direkt ausfüllen
Andernfalls: Tab erneut, um eine Liste zu erhalten ;
(4) Befehlszeilenerweiterung
~: Zum Home-Verzeichnis des Benutzers erweitern
~ BENUTZERNAME: Erweitern Sie das Home-Verzeichnis des angegebenen Benutzers
{}: Kann eine durch Kommas getrennte Liste hosten und diese in mehrere Pfade erweitern
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi , /tmp/jerry/hi
(5) Status des Befehlsausführungsergebnisses
Erfolgreich
Fehlgeschlagen
bash verwendet die spezielle Variable $?, um das Ausführungsstatusergebnis des letzten Befehls zu speichern:
0: Erfolg
1-255: Fehler
Es gibt zwei Arten von Ergebnissen für die Programmausführung:
Der Rückgabewert des Programms;
Das Ausführungsstatusergebnis des Programms
Verzeichnisverwaltungsbefehle:
cd, pwd, ls
mkdir, rmdir, tree
mkdir [Optionen ] /path/to/somewhere
-p: existiert ohne Fehlermeldung und kann die erforderlichen Verzeichnisse automatisch erstellen
-v : Anzeigen detaillierte Informationen
-m MODUS: Geben Sie Berechtigungen direkt beim Erstellen eines Verzeichnisses an
Baum:
-d: Nur das Verzeichnis anzeigen
-L Ebene: Geben Sie die Anzahl der anzuzeigenden Ebenen an
-P-Muster: Nur Pfade anzeigen, die mit dem angegebenen Muster übereinstimmen;
rmdir: leere Verzeichnisse löschen
rmdir [ OPTION ]... VERZEICHNIS...
-v: Anzeigevorgang
Textdatei-Anzeigebefehl:
Katze, Tac
mehr, weniger, Schwanz, Kopf
mehr
mehr [OPTIONEN...] DATEI...
-d: Seitenumblättern und Aufforderungen zum Beenden anzeigen
weniger
weniger [OPTIONEN...] DATEI...
head
head [OPTION]... [DATEI]...
-c #: Geben Sie an, dass die ersten # Bytes abgerufen werden sollen
-n #: Geben Sie die #-Zeile an, bevor Sie
-#:
< erhalten 🎜> tail
tail [OPTION]... [DATEI]...
-c #: Geben Sie # Wörter an nach dem Erwerb Abschnitt
-n #: Geben Sie die #-Zeile an, nachdem Sie
-#:
< erhalten haben 🎜>- f: Den neu angehängten Inhalt der Datei verfolgen und anzeigen
Datei-Zeitstempel-Verwaltungstool:
Touch
Datei: Metadaten, Daten
Dateistatus anzeigen: Statistik
Drei Zeitstempel:
Zugriffszeit: Zugriffszeit, abgekürzt als atime, Dateiinhalt lesen
Wenn DEST eine Datei ist: Überschreiben Sie den Inhalt in SRC durch
Zu diesem Zeitpunkt wird empfohlen, die Option -i für den cp-Befehl zu verwenden
Wenn DEST ein Verzeichnis ist: Erstellen Sie eine neue Datei mit der Originaldatei unter DEST-Datei mit dem gleichen Namen und füllen Sie den Inhalt in SRC in die neue Datei
cp SRC... DEST
SRC...: Mehrere Dateien
DEST muss existieren und ein Verzeichnis sein, sonst tritt ein Fehler auf
cp SRC DEST
SRC ist das Verzeichnis:
Option zu diesem Zeitpunkt verwenden: -r
Wenn DEST nicht ist Existiert: Erstellen Sie das angegebene Verzeichnis und kopieren Sie alle Dateien im SRC-Verzeichnis nach DEST; Wenn DEST vorhanden ist:
Wenn DEST eine Datei ist : Einen Fehler melden
-r, -R: Kopieren Sie das Verzeichnis und alle darin enthaltenen Inhalte rekursiv.
Zeigt alle verfügbaren Befehlsaliase des aktuellen Shell-Prozesses an
(2) alias NAME='VALUE'
Definieren Sie den Alias NAME, der der Ausführung des Befehls VALUE entspricht; 🎜>
Hinweis: Der in der Befehlszeile definierte Alias ist nur für den aktuellen Shell-Prozess gültig. Wenn er dauerhaft sein soll, muss er in der Konfigurationsdatei definiert werden 🎜>
Nur für aktuellen Benutzer: ~/.bashrc
Gültig für alle Benutzer: /etc/bashrc
Hinweis: Die durch Bearbeiten der Konfiguration gegebene neue Konfiguration wird nicht sofort wirksam
Der Bash-Prozess liest die Konfigurationsdatei:
source /path/to/config_file
/path/to/config_file
Alias rückgängig machen: unalias
unalias [-a] Name [Name ...]
Hinweis: Wenn der Alias mit dem Namen des ursprünglichen Befehls übereinstimmt, können Sie „COMMAND“ verwenden 🎜>
2. glob (globbing)
bash Wird verwendet, um den Dateinamen „Platzhalter“ zu implementieren
Platzhalterzeichen: *, ?, []
(1) *
Beliebiges Zeichen beliebiger Länge
a*b:
aab, ab, a123b,
abc
(2) ?
Beliebiges einzelnes Zeichen
a?b:
aab
ab, a12b, abc
(3) []
Entspricht jedem einzelnen Zeichen im angegebenen Bereich
[0-9]
[a-z]: Zeichen sind Groß- und Kleinschreibung wird nicht beachtet
(4 ) [^]
trifft jedes einzelne Zeichen außerhalb des angegebenen Bereichs zu
[^0-9]
Sonderzeichensatz:
[:digit:]: beliebige Zahl, entsprechend 0-9
[:lower:]: beliebige Kleinbuchstaben
[:upper :]: beliebige Großbuchstaben
[:alpha:]: beliebige Groß- und Kleinbuchstaben
[:alnum:]: beliebige Zahlen bzw Buchstaben
[:space:]:
[:punct:]: Satzzeichen
3. Bash-Tastenkombinationen
Strg+l: Bildschirm löschen, entspricht dem Löschbefehl;
Strg+a: zum Anfang des Befehls springen
Strg+e: zum Ende des Befehls springen; >
Strg+c: Ausführung des Befehls abbrechen;
Strg+u: Löschen alles vom Anfang der Befehlszeile bis Guangcun;
Strg+k: Löschen, wo sich der Cursor befindet Alles vom Ende der Befehlszeile; Anweisung + Daten
Daten lesen: Eingabe
Ausgabedaten: Ausgabe
Geöffnete Dateien haben einen fd: Dateideskriptor (Dateideskriptor)
Standardeingabe: Tastatur, 0
Standardausgabe: Monitor, 1
Standardfehlerausgabe: Monitor, 2
E/A-Umleitung: Standardposition ändern
Ausgabeumleitung: COMMAND > NEW_POS
>: Umleitung überschreiben, der ursprüngliche Inhalt in der Zieldatei wird gelöscht.
>>: Gewichtsausrichtung anhängen, neuer Inhalt wird gelöscht am Ende der Zieldatei angehängt werden
# set -C: Überschreiben des Inhalts in die vorhandene Datei verhindern; >
Überschreibung erzwingen:>|
# set +C:
2> Ausgabedatenstrom für Umleitungsfehler:
Standard Ausgabe und Fehlerausgabe werden jeweils an unterschiedliche Orte geleitet:
COMMAND > /path/to/error.out
Standardausgabe und Fehlerausgabe im selben Datenstrom zur Umleitung zusammenführen:
Gruppenname: Gruppenpasswort: GID: Benutzerliste mit der aktuellen Gruppe als zusätzliche Gruppe (Trennzeichen ist Komma)
/etc/shadow
Benutzername: Verschlüsseltes Passwort: Datum der letzten Passwortänderung: Passwort Minimale Nutzungsdauer: Maximale Passwort-Nutzungsdauer : Zeitraum der Passwortwarnung: Zeitraum der Passwortsperre: Ablaufdatum des Kontos: Reservierte Felder
Lawineneffekt: Kleine Änderungen in den Anfangsbedingungen führen zu großen Änderungen in den Ergebnissen ;
Ausgabe mit fester Länge:
Richtlinie zur Passwortkomplexität:
1. Großbuchstaben, Kleinbuchstaben und Sonderzeichen
2. Verwenden Sie ein zufälliges Passwort
Ändern Sie es regelmäßig; verwenden Sie nicht das Passwort, das Sie kürzlich verwendet haben.
Benutzer- und gruppenbezogene Verwaltungsbefehle:
Benutzererstellung: useradd
useradd [Optionen] LOGIN
-u UID: [ UID_MIN, UID_MAX], definiert in /etc/login.defs
-g GID: Gibt die Basisgruppe an, zu der der Benutzer gehört, was ein Gruppenname oder eine GID sein kann
-c „COMMENT“: Kommentarinformationen des Benutzers;
-d /PATH/TO/HOME_DIR: Verwenden Sie den angegebenen Pfad als Home-Verzeichnis ;
-s SHELL: Geben Sie das Standard-Shell-Programm des Benutzers an, die verfügbare Liste befindet sich in der Datei /etc/shells
-G GROUP1[,GROUP2,... [,GROUPN]]]: Geben Sie zusätzliche Gruppen für den Benutzer an; die Gruppe muss im Voraus vorhanden sein
-r: Systembenutzer erstellen
CentOS 6: ID<500
CentOS 7: ID<1000
Standardwerteinstellung: /etc/default/
useradd -D
-s SHELL
Gruppenerstellung: groupadd
groupadd [OPTION]... Gruppenname
-g GID: Geben Sie die GID-Nummer an ;[GID_MIN, GID_MAX]
-r: Systemgruppe erstellen;
CentOS 6: ID< 500
CentOS 7: ID<1000
Benutzerbezogene ID-Informationen anzeigen: id
id [OPTION]... [USER]
-u: UID
-g: GID
-G: Gruppen
-n: Name
Schalter Benutzer oder führen Sie Befehle als andere Benutzer aus :su
su [options...] [-] [user [args...]]
So wechseln Sie Benutzer:
su Benutzername: Nicht-Login-Wechsel, d. h. die Konfigurationsdatei des Zielbenutzers wird nicht gelesen
su - Benutzername: Login-Umschaltung, liest die Konfigurationsdatei des Zielbenutzers
Hinweis: Es ist kein Passwort erforderlich für Root-SU an andere Benutzer; Nicht-Root-Benutzer Beim Wechsel ist ein Passwort erforderlich.
Führen Sie den Befehl als eine andere Identität aus:
su [-] Benutzername -c 'BEFEHL'
Optionen:
-l: „su -l UserName“ entspricht „su -UserName“
Benutzerattributänderung: usermod
usermod [OPTION] login
-u UID: Neue UID
-g GID: Neue Basisgruppe
-G GROUP1[,GROUP2, ...[,GROUPN]]]: neue angehängte Gruppe, die ursprünglich angehängte Gruppe wird überschrieben; wenn Sie die ursprüngliche beibehalten, müssen Sie die verwenden -a-Option gleichzeitig, was bedeutet: anhängen;
-s SHELL: neue Standard-SHELL
-c 'COMMENT': neue Kommentarinformationen;
-d HOME: Dateien im ursprünglichen Home-Verzeichnis werden nicht gleichzeitig in das neue Home-Verzeichnis verschoben. Verwenden Sie gleichzeitig die Option -m;
Dateiberechtigungen werden hauptsächlich für drei Arten von definiert Objekte:
Eigentümer: Eigentümer, u
Gruppe: Gruppe, g
andere: andere, o
Jede Datei ist für jede Kategorie. Besucher haben drei Berechtigungen definiert:
r: Lesbar
w: Beschreibbar
x: eXcutable
Datei:
r: Der Inhalt kann mithilfe von Dateianzeigetools abgerufen werden.
w: Der Inhalt kann geändert werden >
x: Diese Datei kann zum Starten als Prozess
Verzeichnis:
r: Sie können ls verwenden, um die Dateiliste in diesem Verzeichnis anzuzeigen
w: Dateien können in diesem Verzeichnis erstellt oder gelöscht werden
x: Sie können ls -l verwenden, um die Dateiliste in diesem Verzeichnis anzuzeigen, und Sie können cd verwenden, um dieses Verzeichnis aufzurufen; 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
Zum Beispiel:
640: rw-r-----
rwxr-xr-x: 755
Dateiberechtigungen ändern: chmod
chmod [OPTION]... OKTAL-MODUS-DATEI...
-R: Berechtigungen rekursiv ändern
chmod [OPTION]... MODE[,MODE]... DATEI...
MODUS:
Alle Berechtigungen eines Benutzertyps ändern:
u=
g=
o=
ug=
a=
u=,g=
Ändern Sie eine oder mehrere Berechtigungen eines Benutzertyps
u+
u-
chmod [OPTION]. . --reference=RFILE FILE...
Beziehen Sie sich auf die Berechtigungen der RFILE-Datei und ändern Sie die DATEI in die gleichen wie RFILE;
Besitzer und Gruppe der Datei ändern:
Nur für Root verfügbar;
Ändern Sie den Dateibesitzer: chown
chown [OPTION]... [OWNER][:[GROUP]] FILE...
Verwendung:
EIGENTÜMER
EIGENTÜMER:GRUPPE
:GROUP
Hinweis: Der Doppelpunkt im Befehl kann ersetzt werden
-R: Rekursiv
chown [OPTION]... --reference=RFILE FILE...
Ändern Sie die Gruppe der Datei: chgrp
chgrp [OPTION]...GROUP FILE...
chgrp [ OPTION]... --reference=RFILE FILE...
-R
Code beim Erstellen maskieren eine Datei oder ein Verzeichnis:umask DATEI: 666-umask
Hinweis: Wenn im Ergebnis der Berechtigungsreduzierung für a eine x-Berechtigung vorhanden ist Bestimmter Benutzertyp, dann +1 für seine Berechtigungen
1 Ausführungsberechtigung: Geben Sie die Dateiausführung über einen bestimmten Dateipfad an.
2. Führen Sie den Interpreter direkt aus und führen Sie das Skript als Parameter des Interpreterprogramms aus >
Variablen:
benannter Speicherplatz
Datenspeichermethode: ASCII
Zeichen: 110: 24
Wert: 110 --> 8
Ganzzahl
Gleitkommatyp
Variable: Variablentyp
Funktion:
1. Datenspeicherformat
3 , dargestellter Datenbereich;
Typ:
Zeichen
Wert:
Ganzzahltyp
Gleitkommatyp
Programmierung Sprache:
Starker Typ:
Schwacher Typ: Bash
Geben Sie alle erforderlichen Felder ein gespeicherte Daten werden alle als Zeichen behandelt
unterstützt keine Gleitkommazahlen;
Logische Operationen:
wahr, falsch
1, 0
mit:
1 && 1 = 1
1 && 0 = 0
0 && 1 = 0
0 && 0 = 0
oder:
1 || 🎜>
0 ||. 0 = 0
Nicht:
1 = 0
0 = 1
Kurzschlussbetrieb:
und:
Der erste ist 0, das Ergebnis muss 0 sein;
Der erste ist 1, der zweite muss an der Operation teilnehmen;
oder:
Das erste ist 1, das Ergebnis muss 1 sein; >
Der erste ist 0 und der zweite muss an der Operation teilnehmen
grep:
Drei Musketiere der Textverarbeitung unter Linux
grep: Textfilter-(Muster-)Tool
grep, egrep, fgrep
sed: Stream-Editor, Textbearbeitungstool;
awk: Implementierung von gawk unter Linux, Textberichtsgenerator; >
grep: Globale Suche nach regulärem Ausdruck und Ausdrucken der Zeile.
Funktion: Textsuchwerkzeug, überprüft den Zieltext Zeile für Zeile gemäß den Benutzerangaben „Muster“; druckt die Übereinstimmung mit der Zeile;
Modus: Filterbedingungen, geschrieben durch reguläre Ausdruckszeichen und Textzeichen; Besteht aus einem speziellen Typ von Zeichen und Textzeichen, von denen einige nicht die wörtliche Bedeutung der Zeichen darstellen, sondern Steuer- oder Platzhalterfunktionen darstellen.
ist in zwei Kategorien unterteilt :
Grundlegender regulärer Ausdruck: BRE
Erweiterter regulärer Ausdruck: ERE
grep -E , egrep
Regular Expression Engine
grep [OPTIONEN] MUSTER [DATEI.. .]
Optionen:
--color=auto: Färben Sie den übereinstimmenden Text ein; >
-v: Zeilen anzeigen, denen kein Muster zugeordnet werden kann
-i: Groß-/Kleinschreibung ignorieren; -o: Nur übereinstimmende Zeichenfolgen anzeigen;
-q: Silent-Modus, es werden keine Informationen ausgegeben; # Zeilen
-B #: vor, vor # Zeilen
-C #: Kontext, vor und nach # Zeilen
-E: Verwenden Sie ERE;
Grundlegende Metazeichen für reguläre Ausdrücke:
Zeichenübereinstimmung:
.: Entspricht jedem einzelnen Zeichen;
[]: Entspricht jedem einzelnen Zeichen innerhalb des angegebenen Bereichs
Anzahl der Übereinstimmungen : Wird nach dem anzugebenden Zeichen verwendet und gibt an, wie oft das vorherige Zeichen erscheinen soll.
*: Entspricht dem vorherigen Zeichen beliebig oft 🎜>
Zum Beispiel: grep "x*y"
abxy
xay
xxxxxxy
Gieriger Modus
.*: Beliebiges Zeichen beliebiger Länge;
?: Übereinstimmung mit dem Zeichen davor 0 oder 1 Mal; das heißt, das vorherige Zeichen ist optional.
+: Übereinstimmung mit dem Zeichen davor Mindestens 1 Mal
{m}: entspricht m-mal dem vorherigen Zeichen;
{m,n}: entspricht mindestens m-mal und höchstens n-mal dem vorherigen Zeichen mal;
{0,n}: Entspricht höchstens n-mal dem vorherigen Zeichen;
{m,}: Entspricht dem vorherigen Zeichen mindestens m-mal ;
Positionsverankerung:
^: Zeilenanfangsanker, der für die äußerste linke Seite verwendet wird des Musters;
$: End-of-Line-Anker, der für die äußerste rechte Seite des Musters verwendet wird; wird für den Musterabgleich der gesamten Zeile verwendet;
^$: Leerzeile
^[[:space:]]*$
< oder b: Wortanfangsverankerung für die linke Seite des Wortmusters
> oder b: Wortende-Verankerung; wird für Wörter verwendet. Die rechte Seite des Musters;
: entspricht dem gesamten Wort; 🎜>
Gruppe:
(): Bündeln Sie ein oder mehrere Zeichen und verarbeiten Sie sie als Ganzes;
(xy)*ab
Hinweis: Der mit dem Muster in den Gruppierungsklammern übereinstimmende Inhalt wird von der Engine für reguläre Ausdrücke in internen Variablen aufgezeichnet Diese Variablen sind: 1, 2, 3, ...
1: Von links beginnend das Zeichen, das dem Muster zwischen der ersten linken Klammer und der passenden rechten Klammer entspricht
(ab+(xy)*):
1: ab+(xy)*
2: xy
Rückverweis: bezieht sich auf das Zeichen, das dem Muster in den vorangehenden Gruppierungsklammern entspricht (nicht das Muster selbst)
Wenn der Benutzer root vorhanden ist, wird sein Standard-Shell-Programm angezeigt
Suchen Sie das Ergebnis des Befehls „netstat -tan“ mit „LISTEN“ gefolgt von 0, 1 oder mehr Zeilen, die mit Leerzeichen enden;
# netstat -tan | >Fügen Sie die Benutzer bash, testbash, basher und nologin hinzu (ihre Shell ist /sbin/nologin); suchen Sie dann die Zeile in der Datei /etc/passwd, in der der Benutzername mit dem Shell-Namen übereinstimmt 🎜>
grep "^([[:alnum:]]+>).*1$" /etc/passwd
Schreiben Sie ein Skript und implementieren Sie es wie folgt: Funktion
Wenn Benutzer1 vorhanden ist, zeigen Sie seine Existenz an, andernfalls fügen Sie ihn hinzu
Zeigen Sie das an ID-Nummer und andere Informationen des hinzugefügten Benutzers;
Starker Typ: Der Typ muss beim Definieren einer Variablen angegeben werden, und der für die Teilnahme an Operationen erforderliche Typ muss die Typanforderungen erfüllen. Der Aufruf einer nicht deklarierten Variablen führt zu einem Fehler >
Schwacher Typ: Es ist nicht erforderlich, den Typ anzugeben. Der Standardwert ist, dass die implizite Typkonvertierung automatisch durchgeführt wird, wenn Variablen direkt ohne Definition aufgerufen werden Advance;
bash
Typen von Variablen in Bash:
Gemäß Standards wie dem effektiven Bereich von Variablen:
Lokale Variablen: Der effektive Bereich ist der aktuelle Shell-Prozess; er ist für andere Shell-Prozesse außer der aktuellen Shell ungültig, einschließlich die Sub-Shell-Prozesse der aktuellen Shell;
Umgebungsvariablen: Der effektive Bereich ist der aktuelle Shell-Prozess und sein untergeordneter Prozess; Lokale Variablen: Der effektive Bereich ist ein bestimmtes Codefragment (normalerweise eine Funktion) im aktuellen Shell-Prozess
Positionsvariablen: $1, $2, ... werden verwendet, um das Skript auszuführen Rufen Sie die über die Befehlszeile im Skriptcode übergebenen Parameter auf;
Spezielle Variablen: $?, $0, $* , $@, $#
Lokale Variable:
Variablenzuweisung: name='value'
Sie können Anführungszeichen verwenden :
Wert:
(1) Es kann eine direkte Zeichenfolge sein; name= "username"
Übergeben Sie zwei Dateipfade als Parameter an das Skript und berechnen Sie die Summe aller Leerzeilen in den beiden Dateien
# !/bin /bash
spaceline1=$(grep "^[[:space:]]*$" $1 |
wc - l)spaceline2=$(grep "^[[:space:]]*$" $2 |
wc -l)
echo „Die Summe der Leerzeichenzeile: $[$spaceline1+$spaceline2]“
stats/etc, / Wie viele zuerst -Unterverzeichnisse und Dateien befinden sich in den Verzeichnissen var, /usr;
Bedingter Test:
Um festzustellen, ob eine bestimmte Anforderung erfüllt ist, muss sie durch den Testmechanismus implementiert werden
Hinweis: Spezielle Testausdrücke müssen unterstützt werden durch Testbefehle, um den Testvorgang abzuschließen >
[ EXPRESSION ]
[[ EXPRESSION ]]
Hinweis: Es muss vorhanden sein Leerzeichen vor und nach EXPRESSION;
Bash-Testtyp:
Numerischer Test:
-gt: ob es größer ist als;
-ge: ob es größer oder gleich ist; >-eq: ob es gleich ist;
-ne: ob es nicht gleich ist; kleiner als;
-le: ob es kleiner oder gleich ist;
String-Test:
==: ob es gleich ist;
>: ob es größer ist
<: ob es kleiner ist als; !=: ob es nicht gleich ist;
=~: Ob die Zeichenfolge auf der linken Seite mit dem MUSTER auf der rechten Seite übereinstimmen kann; 🎜>Hinweis: Dieser Ausdruck wird im Allgemeinen in [[]] verwendet.
-z "STRING": Testen Sie, ob die Zeichenfolge leer ist. Wenn sie leer ist, ist sie wahr, wenn es ist nicht leer, es ist falsch;
-n "STRING": Testen Sie, ob die Zeichenfolge nicht leer ist, wenn sie leer ist. es ist falsch;
Hinweis: In String-Vergleichen verwendete Operanden sollten alle in Anführungszeichen gesetzt werden >Dateitest
Bash benutzerdefinierter Exit-Statuscode
exit [n]: benutzerdefinierter Exit-Statuscode ;
Hinweis: Sobald das Skript auf den Exit-Befehl stößt, hängt es von der Nummer nach dem Exit-Befehl ab;
Hinweis: Wenn für das Skript kein Exit-Statuscode angegeben ist, hängt der Exit-Statuscode des gesamten Skripts vom Statuscode des letzten im Skript ausgeführten Befehls ab;
akzeptiert einen Dateipfad als Parameter;
Wenn die Anzahl der Parameter kleiner als 1 ist, fordern Sie den Benutzer auf: „at Es sollte mindestens ein Parameter angegeben werden“ und sofort beendet werden;
Wenn die Anzahl der Parameter nicht weniger als 1 beträgt, wird die Anzahl der Leerzeilen in der Datei angezeigt, auf die der erste Parameter zeigt.
+#: Platzieren Sie nach dem Öffnen der Datei den Cursor direkt am Anfang der Zeile #; +/ MUSTER: Platzieren Sie nach dem Öffnen der Datei den Cursor direkt am Anfang der ersten Zeile, die mit MUSTER übereinstimmt; >
Bearbeitungsmodus --> Eingabemodus
i: Einfügen, Eingabe an der Cursorposition; : anhängen, nach der Cursorposition eingeben;
o: eine neue Zeile unter der aktuellen Cursorposition öffnen
I: in Enter at der Anfang der Zeile, in der sich der aktuelle Cursor befindet;
A: Geben Sie am Ende der Zeile ein, in der sich der aktuelle Cursor befindet; O: Geben Sie am Ende der Zeile ein, wo sich der aktuelle Cursor befindet. Öffnen Sie eine neue Zeile über der aktuellen Zeile
c
C
Eingabemodus--> Bearbeitungsmodus
ESC
Bearbeitungsmodus--> Letzte-Zeile-Modus
:
Letzte-Zeile-Modus- -> Bearbeitungsmodus
ESC
Datei schließen:
:q Beenden
:q! Beenden erzwingen und die Änderungen verwerfen
:wq Speichern und beenden
:x Speichern und beenden
:w /PATH/TO/SOMEWHERE
ZZ: Speichern und beenden;
Cursorsprung:
Springen zwischen den Zeichen:
h, j, k, l
h: links
l : rechts
j: Unten
k: Oben
#BEFEHL: Zur durch # angegebenen Anzahl von Zeichen springen ;
Zwischen Wörtern springen:
w: The Anfang des nächsten Wortes
e: Das Ende des aktuellen oder nächsten Wortes
b: Der Anfang des aktuellen oder vorherigen Wortes
#COMMAND: Die Anzahl der Wörter, die gleichzeitig übersprungen werden sollen, wird durch #
Springen am Anfang und Ende der Zeile:
^: Springe zum ersten nicht leeren Zeichen am Anfang der Zeile; 🎜>0: Zum Anfang der Zeile springen;
$: Zum Ende der Zeile springen; 🎜>Zwischen Zeilen wechseln:
#G: Springe zu #Zeile an
G: die letzte Zeile;
1G, gg: die erste Zeile
Bewegung zwischen Sätzen:
)
(
Zwischen Absätzen wechseln:
}
{
vim-Bearbeitungsbefehl:
Zeichenbearbeitung:
x: Löschen Sie das Zeichen am Cursor. ;
#x: Löschen Sie die #-Zeichen beginnend am Cursor ;
xp: Vertauschen Sie die Cursorposition und die Position der folgenden Zeichen; >
Ersetzungsbefehl (r, ersetzen)
r: Ersetzen Sie das Zeichen an der Cursorposition
Löschbefehl:
d: Löschbefehl, der mit Cursor-Sprungzeichen kombiniert werden kann, um eine Bereichslöschung zu erreichen;
d$:
d^:
d0:
dw
de
db
#COMMAND
dd: Löschen Sie die Zeile, in der sich der Cursor befindet ;
#dd: mehrzeiliges Löschen;
Einfügebefehl (p, put, paste):
p: Wenn der Puffer eine ganze Zeile speichert, fügen Sie sie unterhalb der Zeile ein, an der sich der aktuelle Cursor befindet; andernfalls fügen Sie sie hinter der aktuellen Cursorposition ein; >
P: Wenn der Puffer eine ganze Zeile speichert, wird sie über der Zeile eingefügt, in der sich der aktuelle Cursor befindet; andernfalls wird sie vor dem aktuellen Cursor eingefügt; 🎜>
Kopieren-Befehl (y, ruck):
y: Kopieren, das Arbeitsverhalten ist ähnlich dem d-Befehl; >
y$
y0
y^
ye
yw
yb
#COMMAND
yy: Zeilen kopieren
#yy: Mehrere Zeilen kopieren; >
Befehl ändern (c, ändern)
c: Ändern
Bearbeitungsmodus- -> Eingabemodus
c$
c^
c0
cb
ce
cw
#COMMAND
cc: Löschen und neuen Inhalt eingeben
#cc :
Andere Bearbeitungsvorgänge
Visualisierungsmodus:
v: Auswahl nach Zeichen
V: Zeile für Zeile
Hinweis: Wird oft mit kombiniert Bearbeitungsbefehle;
d, c, y
Vorherige Bearbeitung rückgängig machen:
u(rückgängig machen): Den vorherigen Bearbeitungsvorgang rückgängig machen
#u: Die angegebene Anzahl von Vorgängen rückgängig machen; Vorheriges Rückgängigmachen rückgängig machen:
Strg+r
Vorherigen Bearbeitungsvorgang wiederholen:
.
Screen-Flip-Bedienung:
Strg+f : Zum Ende der Datei scrollen
Strg+b: Einen Bildschirm zum Anfang der Datei scrollen;
Strg+d: Einen halben Bildschirm bis zum Ende der Datei scrollen;
Strg+u: Den halben Bildschirm an den Anfang der Datei drehen; >
Letzter Zeilenmodus in vim:
Eingebaute Befehlszeilenschnittstelle
(1) Adresstrennung
:start_pos ,end_pos
#: Spezifische Zeilennummer, zum Beispiel bedeutet 2 Zeile 2;
#,#: # bedeutet Linie von links beginnend, nach rechts # stellt das Ende der Linie dar; ,+#: Beginnend mit der Zeile, die links durch # dargestellt wird, plus der Anzahl der Zeilen, die rechts durch # dargestellt werden.: aktuelle Zeile
$: letzte Zeile
.,$-1
%: Volltext, entspricht 1,$
/pat1/,/pat2/:
Beginnen Sie mit der ersten Zeile, die mit dem Muster pat1 übereinstimmt, bis zum Ende der ersten Zeile, die mit dem Muster pat2 übereinstimmt;
#,/pat/
/pat/,$
Verwendung:
gefolgt von einem Bearbeitungsbefehl
d
y
w /PATH/TO/SOMMEWHERE: speichert die Zeilen im Bereich zur angegebenen Datei;
r /PATH/FROM/SOMEFILE: Fügt den gesamten Inhalt der angegebenen Datei am angegebenen Speicherort ein; >
(2) Suche
/MUSTER: Suche von der aktuellen Cursorposition bis zum Ende der Datei; > ?MUSTER: Suche von der aktuellen Cursorposition bis zum Anfang der Datei;
n: Gleiche Richtung wie der Befehl
N : Entgegengesetzte Richtung zum Befehl ;
(3) Suchen und Ersetzen
s: Schließen Sie das Suchen und Ersetzen ab Operation im Modus „Letzte Zeile“
s/was zu finden/was zu ersetzen ist/Modifikatoren
was zu finden ist: verfügbares Muster
Ersetzter Inhalt: Muster können nicht verwendet werden, aber Rückwärtsreferenzsymbole wie 1, 2, ... können auch verwendet werden, um auf den gesamten Inhalt zu verweisen vorherige Suche;
Modifikatoren:
i: Groß-/Kleinschreibung ignorieren
g: Globale Ersetzung; Standardmäßig wird nur das erste Vorkommen jeder Zeile ersetzt;
Suchen Sie das Trennzeichen in der Ersetzung/kann durch andere Zeichen ersetzt werden, z. B.
s@@@
s###
1 /etc/grub2.cfg Gehen Sie in das Verzeichnis /tmp/ und löschen Sie mit dem Befehl „Suchen und Ersetzen“ die Leerzeichen am Anfang der Zeile in der Datei /tmp/grub2.cfg %s/^[[:space:]]+ //g
2 /functions-Datei in das /tmp-Verzeichnis und verwenden Sie den Befehl „Suchen und Ersetzen“ für /tmp/. Fügen Sie am Anfang jeder Funktionszeile, die mit einem Leerzeichen beginnt, ein #-Zeichen hinzu >:%s/^[[:space:]]/#&/
Mehrere Dateimodus:
vim FILE1 FILE2 FILE3 ...
: next next
:prev previous
:first first
:last Last
:wall save all
:qall exit all
Fenstertrennungsmodus:
vim -o|-O FILE1 FILE2 .. .
-o: Horizontale Teilung
-O: Vertikale Teilung
Zwischen Fenstern wechseln: Strg+w, Pfeil
Aufteilung einzelner Dateifenster:
Strg+w ,s: geteilt, horizontale Teilung
Strg+w,v: vertikal, vertikale Teilung
Benutzerdefinierte vim-Arbeitsweise Features:
Konfigurationsdatei: Dauerhaft gültig
Global: /etc/vimrc
Persönlich : ~/.vimrc
Letzte Zeile: Der aktuelle VIM-Prozess ist gültig
(1) Zeilennummer
Anzeige: Set-Nummer, abgekürzt als Set Nu
Anzeige abbrechen: Set NoNumber, abgekürzt als Set Nonu
(2) Bracket Matching
Match: set showmatch, abgekürzt als set sm
Abbrechen: set nosm
(3) Automatisches Einrücken
Aktivieren: ai festlegen
Deaktivieren: noai festlegen
(4) Suche hervorheben
Aktivieren: hlsearch festlegen
Deaktivieren: nohlsearch festlegen
(5) Syntaxhervorhebung
Aktivieren: Syntax ein
Deaktivieren: Syntax aus
(6) Groß-/Kleinschreibung von Zeichen ignorieren
Aktivieren: set ic
Nicht ignorieren: set noic
Hilfe erhalten:
:help
:help subject
Bash-Zustandstest:
Testmethode:
Test AUSDRUCK
[ AUSDRUCK ]
[[ AUSDRUCK ]]
Kategorien von Testausdrücken:
Numerischer Vergleich
String-Test
Dateitest:
Existenztest
-a DATEI
- e DATEI: Datei Existenztest, wenn er existiert, ist er wahr, andernfalls ist er falsch;
Existenz- und Kategorietest
-b DATEI: ob existiert und ist eine Blockgerätedatei;
-c DATEI: Existiert und ist eine Zeichengerätedatei
-d DATEI: Existiert es existiert und ist eine Verzeichnisdatei;
-f DATEI: existiert und ist eine normale Datei
-h DATEI; : existiert und ist eine symbolische Linkdatei; ob es existiert und eine Socket-Word-Datei ist;
Dateiberechtigungstest:
-r DATEI: Ob es existiert und lesbar ist
-w DATEI: Ob es existiert und beschreibbar ist
-x DATEI: Ob es existiert und ausführbar ist
Datei-Sonderberechtigungstest:
-g FILE: ob es existiert und SGID-Berechtigung hat;
-u FILE: ob es existiert und hat Suid-Berechtigung;
-k FILE: Ob es existiert und Sticky-Berechtigung hat;
Dateigrößentest:
-s DATEI: Ob sie gespeichert und nicht leer ist;
Ob die Datei geöffnet ist:
-t fd: fd gibt an, ob der Dateideskriptor geöffnet ist und sich auf ein Terminal bezieht. Verwandte
-N FILE: ob die Datei wurde seit dem letzten Lesen geändert;
-O FILE: Ob der aktuelle effektive Benutzer der Dateieigentümer ist
-G FILE : Ob der aktuelle effektive Benutzer der Dateieigentümer ist; FILE1 und FILE2 verweisen auf denselben Inode auf demselben Gerät
FILE1 -nt FILE2: ob FILE1 neuer als FILE2 ist;
DATEI1 -ot DATEI2: ob DATEI1 älter als DATEI2 ist;
Stützt sich auf vorgefertigte Indizes; die Indexerstellung erfolgt automatisch, wenn das System relativ inaktiv ist (regelmäßige manuelle Aktualisierung der Datenbank); >Index Der Erstellungsprozess muss das gesamte Root-Dateisystem durchlaufen, was viele Ressourcen verbraucht
Arbeitsfunktionen:
Schnelle Suchgeschwindigkeit;
Fuzzy-Suche; >
SCHLÜSSELWORT suchen
finden:
Ein Echtzeit-Suchwerkzeug Dadurch wird die Dateisuche abgeschlossen, indem das Dateisystem unter dem angegebenen Pfad durchsucht wird Geschwindigkeit;
Suchpfad: Geben Sie den spezifischen Zielpfad an. Der Standardwert ist das aktuelle Verzeichnis.
Suchbedingungen: Die angegebenen Suchkriterien können auf Dateiname, Größe, Typ, Berechtigungen usw. basieren ist, alle Dateien unter dem angegebenen Pfad zu finden;
Verarbeitungsaktion: Was ist bei Dateien zu tun, die standardmäßig auf dem Bildschirm ausgegeben werden? >
Suchbedingungen:
Laut Dateinamensuche:
-name „Dateiname“: unterstützt die Verwendung von glob
*, ?, [], [^]
-iname „Dateiname“: Groß- und Kleinschreibung wird nicht beachtet
-regex „PATTERN“: Übereinstimmung mit der gesamten PATTERN-Dateipfadzeichenfolge, nicht nur mit dem Dateinamen; >
Suche basierend auf Besitzer und Gruppe:
-user USERNAME: Dateien suchen, die dem angegebenen Benutzer gehören;
group GRPNAME: Dateien suchen, die der angegebenen Gruppe gehören;
-uid UserID: Suchen Sie die Datei, deren Eigentümer die angegebene UID-Nummer ist.
-gid GroupID: Suchen Sie die Datei, deren Eigentümer die angegebene UID-Nummer ist angegebene UID-Nummer Dateien mit GID-Nummern;
-nouser: Dateien ohne Besitzer finden;
-nogroup: Suchen Es gibt keine Dateien, die zur Gruppe gehören;
Suche basierend auf Dateityp:
-Typ TYP:
f: Gewöhnliche Datei
d: Verzeichnisdatei
l: Symbolische Linkdatei
s: Socket-Datei
b: Blockgerätedatei
c: Zeichengerätedatei
p: Pipe-Datei
Kombinierte Bedingung:
mit: - a
oder: -o
Non: -not, !
!A -a !B = !(A -o B)
!A -o !B = !(A -a B)
Suchen Sie die Dateien im /tmp-Verzeichnis, deren Besitzer nicht root ist und deren Dateiname nicht fstab ist
finde /tmp ( -not -user root -a -not -name 'fstab' ) -ls
/MODUS: Solange eine der Berechtigungen eines beliebigen Objekttyps (u, g, o) abgeglichen werden kann; 🎜>-MODUS: Für jeden Objekttyp müssen auch Berechtigungsstandards angegeben sein
Verarbeitungsaktion:
-print: die Standardverarbeitungsaktion, die auf dem Bildschirm angezeigt wird;
-ls: ähnlich der Ausführung des Befehls „ls -l“ für die gefundene Datei;
-delete: die gefundene Datei löschen;
-fls /path/to/somefile: die Länge aller gefundenen Dateien. Speichern Sie die Informationen zur angegebenen Datei formatieren;
-ok COMMAND {}; Führen Sie den durch COMMAND angegebenen Befehl für jede gefundene Datei aus; der Befehl für jede Datei, der Benutzer wird interaktiv um Bestätigung gebeten;
-exec COMMAND {} Führt den durch COMMAND angegebenen Befehl für jede gefundene Datei aus;
{}: wird verwendet, um auf den Namen der gefundenen Datei selbst zu verweisen
Hinweis: find übergibt die gefundene Datei, wenn der später angegebene Befehl erreicht wird. Alle Dateien, die die Bedingungen erfüllen, werden sofort gefunden und an den nachfolgenden Befehl übergeben
Einige Befehle können nicht zu viele Parameter akzeptieren, und die Befehlsausführung schlägt möglicherweise fehl. Eine andere Möglichkeit, dieses Problem zu vermeiden:
find xargs COMMAND
1. Suchen Sie alle Dateien oder Verzeichnisse im /var-Verzeichnis, deren Eigentümer root und deren Gruppe mail ist; find /var -user root -group mail
2. Finden Sie alle Dateien oder Verzeichnisse im /usr-Verzeichnis, die nicht zu root, bin oder hadoop gehören;
# find /usr -not -user root -a -not -user bin -a -not -user hadoop
3. Suchen Sie die Inhaltsänderungen im Verzeichnis /etc in der neuesten Version Woche Allerdings ist der Besitzer weder Root noch eine Datei oder ein Verzeichnis von Hadoop
# find /etc -mtime -7 -a -not -user; root -a -not -user hadoop
4. Suchen Sie nach Dateien oder Verzeichnissen, die auf dem aktuellen System keinen Besitzer oder keine Gruppe haben und auf die in der letzten Woche zugegriffen wurde / -nouser -a -nogroup -a -atime -7
5 Finde alle Dateien im Verzeichnis /etc, die größer als 1 MB sind und einen normalen Wert haben Dateityp;
# find /etc -size +1M -type f
6. Suchen Sie alle Benutzer im Verzeichnis /etc. Dateien, die keine Schreibberechtigung haben;
# find /etc -not -perm /222
7. Suchen Es gibt mindestens einen Dateityp im Verzeichnis /etc, für den der Benutzer keine Ausführungsberechtigungen hat.
# find /etc - not -perm -111
8. Suchen Sie nach Dateien im Verzeichnis /etc/init.d, für die alle Benutzer Ausführungsberechtigungen und andere Benutzer Schreibberechtigungen haben 🎜>
# find /etc/init .d -perm -113
Spezielle Berechtigungen für Linux-Dateisysteme
SUID, SGID, Sticky
1 Berechtigungen
r, w, x
Benutzer, Gruppe, andere
2 Sicherheitskontext
Prämisse: Der Prozess hat einen Besitzer und eine Gruppe; Dateien haben Besitzer und Gruppen;
(1) Ob jede ausführbare Programmdatei als Prozess gestartet werden kann : hängt davon ab, ob der Initiator Ausführungsberechtigungen für die Programmdatei hat;
(2) Nachdem er als Prozess gestartet wurde, ist der Eigentümer des Prozesses der Initiator Prozess ist die Gruppe, zu der der Initiator gehört.
( 3) Die Berechtigungen eines Prozesses beim Zugriff auf eine Datei hängen vom Initiator des Prozesses ab:
(a) Wenn der Initiator des Prozesses mit dem Eigentümer der Datei identisch ist: dann gelten die Dateieigentümerberechtigungen;
(b) Der Initiator des Prozesses gehört zur Gruppe der Datei; dann gehört die Anwendungsdatei zur Gruppenberechtigung
(c) „Andere“ Berechtigungen für die Datei anwenden;
3 SUID
(1) Kann jede ausführbare Programmdatei als Prozess gestartet werden? Hängt davon ab, ob der Initiator über die Ausführungsberechtigung für das Programm verfügt Datei;
(2) Nachdem er als Prozess gestartet wurde, ist der Eigentümer des Prozesses der Eigentümer der ursprünglichen Programmdatei; >
Berechtigungseinstellungen:
chmod u+s FILE...
chmod u-s FILE...
4 SGID
Wenn ein Benutzer eine Datei erstellt, ist seine Gruppe standardmäßig die Basisgruppe, zu der dieser Benutzer gehört gehört;
Sobald ein Verzeichnis mit einer SGID festgelegt ist, gehört die Gruppe, zu der in diesem Verzeichnis von Benutzern mit Schreibberechtigungen erstellte Dateien zu dieser Verzeichnisgruppe
Berechtigungseinstellungen:
chmod g+s DIR...
chmod g-s DIR. ..
5 Sticky
Wenn für ein Verzeichnis, auf das mehrere Personen schreiben können, „Sticky“ eingestellt ist, kann jeder Benutzer nur seine eigenen Dateien löschen.
Berechtigung Einstellungen:
chmod o+t DIR...
chmod o-t DIR...
SUID SGID STICKY
000 0
001 1
010 2
011 3
100 4
101 5
110 6
111 7
chmod 4777 /tmp/ a.txt
Mehrere Berechtigungsbitzuordnungen:
SUID: Benutzer, der das Ausführungsberechtigungsbit des Eigentümers belegt ;
s: Der Besitzer hat x Berechtigungen
S: Der Besitzer hat keine x Berechtigungen
SGID: Gruppe , belegt das Ausführungsberechtigungsbit der Gruppe;
s: Gruppe hat x Berechtigungen
S: Gruppe hat keine x Berechtigungen
Sticky: andere, belegt das Ausführungsberechtigungsbit von ohter
t: andere hat x Berechtigungen
T: andere hat keine x-Berechtigungen
Bash-Skripting:
Prozedurale Programmierung Sprache:
Sequentielle Ausführung
Ausführung auswählen
Schleifenausführung
Ausführung auswählen:
wenn Urteilsbedingung
dann
Branchencode mit wahrer Bedingung
fi
wenn Urteilsbedingung; dann
Branchencode mit wahrer Bedingung
else
Branchencode mit falscher Bedingung
fi
Das obige ist der detaillierte Inhalt vonGrundlagen des Linux-Systems (1). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn