1. ls-Befehl
Es ist die Abkürzung für list. Mit dem ls-Befehl können Sie nicht nur die in einem Linux-Ordner enthaltenen Dateien anzeigen, sondern auch Dateiberechtigungen (einschließlich Verzeichnis-, Ordner- und Dateiberechtigungen), Verzeichnisinformationen und so weiter einsehen.
Gängige Parameterkombinationen:
ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t 以文件修改时间排序 ls -S 以文件大小排序 ls -h 以易读大小显示 ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
Beispiele:
(1) In umgekehrter chronologischer Reihenfolge in menschenlesbarer Form sortieren und detaillierte Dateiinformationen anzeigen
ls -lhrt
(2) Detaillierte Dateiinformationen in umgekehrter Größenreihenfolge anzeigen
ls -lrS
(3) Den detaillierten Inhalt aller Verzeichnisse auflisten, die im aktuellen Verzeichnis mit "t" beginnen
ls -l t*
(4) Absolute Pfade von Dateien auflisten (ohne versteckte Dateien)
ls | sed "s:^:`pwd`/:"
(5) Absolute Pfade von Dateien auflisten (einschließlich versteckter Dateien)
find $pwd -maxdepth 1 | xargs ls -ld
2. cd-Befehl
Syntax des Befehls cd (changeDirectory):
cd [目录名]
Beschreibung: Wechselt das aktuelle Verzeichnis zu dirName.
Beispiele:
(1) In das erforderliche Verzeichnis wechseln
cd /
(2) In das "home"-Verzeichnis wechseln
cd ~
(3) In das vorherige Arbeitsverzeichnis wechseln
cd -
(4) Das Argument des vorherigen Befehls als cd-Parameter verwenden.
cd !$
3. pwd-Befehl
Der pwd-Befehl wird verwendet, um den Pfad des aktuellen Arbeitsverzeichnisses anzuzeigen.
Beispiele:
(1) Den aktuellen Pfad anzeigen
pwd
(2) Den tatsächlichen Pfad eines symbolischen Links anzeigen
pwd -P
4. mkdir-Befehl
Der mkdir-Befehl wird verwendet, um Ordner zu erstellen.Verfügbare Optionen:
- -m: Zugriffsberechtigungen für neu erstellte Verzeichnisse festlegen; Sie können sie auch mit dem Befehl chmod festlegen;
- -p: Kann ein Pfadname sein. Wenn zu diesem Zeitpunkt einige Verzeichnisse im Pfad noch nicht existieren, erstellt das System nach Hinzufügen dieser Option automatisch diese nicht vorhandenen Verzeichnisse, was bedeutet, dass mehrere Verzeichnisse auf einmal erstellt werden können.
Beispiele:
(1) Einen Ordner namens t im aktuellen Arbeitsverzeichnis erstellen
mkdir t
(2) Ein Verzeichnis mit dem Pfad test/t1/t unter dem Verzeichnis tmp erstellen; falls es nicht existiert, erstellen Sie es:
mkdir -p /tmp/test/t1/t
5. rm-Befehl
Eine oder mehrere Dateien oder Verzeichnisse in einem Verzeichnis löschen. Wenn die Option -r nicht verwendet wird, löscht rm keine Verzeichnisse. Wenn Sie rm zum Löschen von Dateien verwenden, können sie normalerweise noch in ihren ursprünglichen Zustand wiederhergestellt werden.
rm [选项] 文件…
Beispiele:
(1) Alle .log-Dateien löschen, wobei vor dem Löschen einzeln eine Bestätigung angefordert wird:
rm -i *.log
(2) Das Unterverzeichnis test und alle Dateien im Unterverzeichnis löschen, ohne einzeln zu bestätigen:
rm -rf test
(3) Dateien löschen, die mit -f beginnen
rm -- -f*
6. rmdir-Befehl
Einen oder mehrere Unterverzeichniseinträge aus einem Verzeichnis entfernen. Um ein Verzeichnis zu löschen, müssen Sie außerdem Schreibberechtigung für dessen übergeordnetes Verzeichnis haben.
Hinweis: Nicht leere Verzeichnisse können nicht gelöscht werden
Beispiele:
(1) Wenn das übergeordnete Unterverzeichnis nach dem Löschen zu einem leeren Verzeichnis wird, dann löschen Sie es ebenfalls:
rmdir -p parent/child/child11
7. mv-Befehl
Verschiebt Dateien oder ändert Dateinamen, abhängig vom Typ des zweiten Arguments (wenn es ein Verzeichnis ist, wird die Datei verschoben; wenn es eine Datei ist, wird die Datei umbenannt).
Wenn das zweite Argument ein Verzeichnis ist, kann das erste Argument mehrere durch Leerzeichen getrennte Dateien oder Verzeichnisse umfassen; dann verschieben Sie die mehreren vom ersten Argument angegebenen Dateien in das vom zweiten Argument angegebene Verzeichnis.
Beispiele:
(1) Benennen Sie die Datei test.log in test1.txt um
mv test.log test1.txt
(2) Verschieben Sie die Dateien log1.txt, log2.txt, log3.txt in das Verzeichnis test3 im Stammverzeichnis
mv llog1.txt log2.txt log3.txt /test3
(3) Benennen Sie file1 in file2 um; wenn file2 bereits existiert, fragen Sie, ob überschrieben werden soll
mv -i log1.txt log2.txt
(4) Verschieben Sie alle Dateien im aktuellen Ordner in das übergeordnete Verzeichnis
mv * ../
8. cp-Befehl
Quelldateien in eine Zieldatei kopieren oder mehrere Quelldateien in ein Zielverzeichnis kopieren.
Hinweis: Wenn Sie auf der Kommandozeile kopieren und die Zieldatei bereits existiert, werden Sie gefragt, ob überschrieben werden soll. In Shell-Skripten hingegen erfolgt keine Nachfrage, wenn der Parameter -i nicht angegeben wird; stattdessen wird direkt überschrieben!
-i 提示 -r 复制目录及目录内所有项目 -a 复制的文件与原文件时间一样
Beispiele:
(1) Kopieren Sie a.txt in das Verzeichnis test, behalten Sie die ursprüngliche Dateizeit bei, und wenn die ursprüngliche Datei existiert, fragen Sie, ob überschrieben werden soll.
cp -ai a.txt test
(2) Einen Link (Verknüpfung) für a.txt erstellen
cp -s a.txt link_a.txt
9. cat-Befehl
Der cat-Befehl hat hauptsächlich drei Hauptfunktionen:
1. Die gesamte Datei auf einmal anzeigen:
cat filename
2. Eine Datei über die Tastatur erstellen:
cat > filename
Er kann nur neue Dateien erstellen, keine vorhandenen Dateien bearbeiten.
3. Mehrere Dateien zu einer Datei zusammenführen:
cat file1 file2 > file
- -b Zeilennummern für nicht leere Zeilen ausgeben
- -n Alle Zeilennummern ausgeben
Beispiele:
(1) Zeilennummern zum Inhalt von log2012.log hinzufügen und sie in die Datei log2013.log schreiben
cat -n log2012.log log2013.log
(2) Zeilennummern zum Inhalt von log2012.log und log2013.log hinzufügen (leere Zeilen ohne Zeilennummern) und den Inhalt dann an log.log anhängen
cat -b log2012.log log2013.log log.log
(3) Ein Here-Dokument verwenden, um eine neue Datei zu erzeugen
cat >log.txt <<EOF >Hello >World >PWD=$(pwd) >EOF ls -l log.txt cat log.txt Hello World PWD=/opt/soft/test
(4) Umgekehrte Auflistung
tac log.txt PWD=/opt/soft/test World Hello
10. more-Befehl
Seine Funktion ähnelt cat, aber more zeigt Inhalte Seite für Seite an, sodass Benutzer bequem Seite für Seite lesen können. Die grundlegendste Anweisung ist, die Leertaste zu drücken, um die nächste Seite anzuzeigen, und die Taste b zu drücken, um eine Seite zurückzugehen.
Befehlsparameter:
+n 从笫 n 行开始显示 -n 定义屏幕大小为n行 +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 -c 从顶部清屏,然后显示 -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能 -l 忽略Ctrl+l(换页)字符 -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似 -s 把连续的多个空行显示为一行 -u 把文件内容中的下画线去掉
Häufige Bedienbefehle:
Enter 向下 n 行,需要定义。默认为 1 行 Ctrl+F 向下滚动一屏 空格键 向下滚动一屏 Ctrl+B 返回上一屏 = 输出当前行的行号 :f 输出文件名和当前行的行号 V 调用vi编辑器 !命令 调用Shell,并执行命令 q 退出more
Beispiele:
(1) Inhalt der Datei ab Zeile 3 anzeigen
more +3 text.txt
(2) Beim Auflisten detaillierter Informationen von Dateiverzeichnissen eine Pipe verwenden, um jeweils 5 Zeilen anzuzeigen
ls -l | more -5
Leertaste drücken, um die nächsten 5 Zeilen anzuzeigen.
11. less-Befehl
less ähnelt more, aber mit less können Sie Dateien frei durchsuchen, während more sich nur vorwärts bewegen kann und nicht rückwärts. Außerdem lädt less nicht die gesamte Datei, bevor sie angezeigt wird.
Häufige Befehlsparameter:
-i 忽略搜索时的大小写 -N 显示每行的行号 -o <文件名> 将less 输出的内容在指定文件中保存起来 -s 显示连续空行为一行 /字符串:向下搜索“字符串”的功能 ?字符串:向上搜索“字符串”的功能 n:重复前一个搜索(与 / oder ? 有关) N:反向重复前一个搜索(与 / oder ? 有关) -x <数字> 将“tab”键显示为规定的数字空格 b 向后翻一页 d 向后翻半页 h 显示帮助界面 Q 退出less 命令 u 向前滚动半页 y 向前滚动一行 空格键 滚动一行 回车键 滚动一页 [pagedown]: 向下翻动一页 [pageup]: 向上翻动一页
Beispiele:
(1) ps verwenden, um Prozessinformationen anzuzeigen und sie über less seitenweise auszugeben
ps -aux | less -N
(2) Mehrere Dateien anzeigen
less 1.log 2.log
Sie können n verwenden, um die nächste anzuzeigen, und p, um die vorherige anzuzeigen.
12. head-Befehl
head wird verwendet, um den Anfang einer Datei auf der Standardausgabe anzuzeigen. Standardmäßig gibt der head-Befehl die ersten 10 Zeilen der entsprechenden Datei aus.
Gängige Parameter:
-n<行数> 显示的行数(行数为复数表示从最后向前数)
Beispiele:
(1) Die ersten 20 Zeilen der Datei 1.log anzeigen
head 1.log -n 20
(2) Die ersten 20 Bytes der Datei 1.log anzeigen
head -c 20 log2014.log
(3) Die letzten 10 Zeilen von t.log anzeigen
head -n -10 t.log
13. tail-Befehl
Wird verwendet, um das Ende einer angegebenen Datei anzuzeigen. Wenn keine Datei angegeben ist, verarbeitet es Eingabeinformationen. Wird häufig zum Anzeigen von Protokolldateien verwendet.
Gängige Parameter:
-f 循环读取(常用于查看递增的日志文件) -n<行数> 显示行数(从后向前)
(1) Schleife zum Lesen des allmählich zunehmenden Inhalts einer Datei
ping 127.0.0.1 > ping.log &
Im Hintergrund ausführen: Sie können jobs -l verwenden, um es anzuzeigen, oder fg verwenden, um es in den Vordergrund zu holen und auszuführen.
tail -f ping.log
(Protokolle anzeigen)
14. which-Befehl
Um eine Datei in Linux zu finden, wenn Sie nicht wissen, wo sie sich befindet, können Sie einige der folgenden Befehle zum Suchen verwenden:
which 查看可执行文件的位置。 whereis 查看文件的位置。 locate 配合数据库查看文件位置。 find 实际搜寻硬盘查询文件名称。
which sucht den Speicherort eines Systembefehls in dem durch PATH angegebenen Pfad und gibt das erste Suchergebnis zurück. Mit dem Befehl which können Sie sehen, ob ein Systembefehl existiert und welcher Befehl an welchem Speicherort tatsächlich ausgeführt wird.
Gängige Parameter:
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
Beispiele:
(1) Prüfen Sie, ob der Befehl ls existiert und welcher ausgeführt wird
which ls
(2) Überprüfen Sie den Befehl which
which which
(3) Überprüfen Sie den Befehl cd
which cd(显示不存在,因为 cd 是内建命令,而 which 查找显示是 PATH 中的命令)
Überprüfen Sie die aktuelle PATH-Konfiguration:
echo $PATH
Oder verwenden Sie env, um alle Umgebungsvariablen und ihre entsprechenden Werte anzuzeigen
15. whereis-Befehl
Der Befehl whereis kann nur zum Suchen nach Programmnamen verwendet werden, und er durchsucht nur Binärdateien (Option -b), man-Dokumentationsdateien (Option -m) und Quellcodedateien (Option -s). Wenn die Option weggelassen wird, werden alle Informationen zurückgegeben. Sowohl whereis als auch locate suchen auf Grundlage der systeminternen Datenbank, daher sind sie sehr effizient, während find die Festplatte durchläuft, um Dateien zu finden.
Gängige Optionen:
-b 定位可执行文件。 -m 定位帮助文件。 -s 定位源代码文件。 -u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
Beispiele:
(1) Dateien finden, die zum Programm locate gehören
whereis locate
(2) Die Quellcodedateien von locate finden
whereis -s locate
(3) Hilfedatei für lcoate finden
whereis -m locate
16. locate-Befehl
locate findet Dateien schnell, indem es die systemeigene Dokumentdatenbank durchsucht. Die Datenbank wird vom Programm updatedb aktualisiert, das periodisch vom cron-Daemon aufgerufen wird. Standardmäßig durchsucht der Befehl locate die Datenbank schneller als die Suche über die gesamten Festplattendaten, aber der Nachteil ist, dass kürzlich erstellte oder gerade umbenannte Dateien möglicherweise nicht gefunden werden. Standardmäßig wird updatedb einmal täglich ausgeführt; Sie können crontab ändern, um die Einstellungen zu aktualisieren (etc/crontab).
Der Befehl locate ähnelt dem Befehl find; er kann reguläre Ausdrücke wie * und ? verwenden.
Gängige Optionen:
-l num(要显示的行数) -f 将特定的档案系统排除在外,如将proc排除在外 -r 使用正则运算式做为寻找条件
Beispiele:
(1) Alle Dateien finden, die mit pwd zusammenhängen (Dateinamen, die pwd enthalten)
locate pwd
(2) Das Verzeichnis etc nach allen Dateien durchsuchen, die mit sh beginnen
locate /etc/sh
(3) Dateien finden, die mit reason enden, im Verzeichnis /var
locate -r '^/var.*reason$'(其中.表示一个字符,*表示任务多个;.*表示任意多个字符)
17. find-Befehl
Wird verwendet, um Dateien im Dateibaum zu finden und entsprechende Verarbeitung durchzuführen.
Befehlsformat:
find pathname -options [-print -exec -ok ...]
Befehlsparameter:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
Befehlsoptionen:
-name 按照文件名查找文件 -perm 按文件权限查找文件 -user 按文件属主查找文件 -group 按照文件所属的组来查找文件。 -type 查找某一类型的文件,诸如: b - 块设备文件 d - 目录 c - 字符设备文件 l - 符号链接文件 p - 管道文件 f - 普通文件 -size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小 -amin n 查找系统中最后N分钟访问的文件 -atime n 查找系统中最后n*24小时访问的文件 -cmin n 查找系统中最后N分钟被改变文件状态的文件 -ctime n 查找系统中最后n*24小时被改变文件状态的文件 -mmin n 查找系统中最后N分钟被改变文件数据的文件 -mtime n 查找系统中最后n*24小时被改变文件数据的文件 (用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 ) -maxdepth n 最大查找目录深度 -prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 -newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
Beispiele:
(1) Dateien finden, die innerhalb von 48 Stunden geändert wurden
find -atime -2
(2) Dateien finden, die mit .log enden, im aktuellen Verzeichnis..Repräsentiert das aktuelle Verzeichnis.
find ./ -name '*.log'
(3) Dateien mit Berechtigung 777 unter dem Verzeichnis /opt finden
find /opt -perm 777
(4) Dateien größer als 1K finden
find -size +1000c
Dateien mit genau 1000 Zeichen finden
find -size 1000c
Auf die Option -exec folgt ein Befehl, und ihr Ende wird durch ; markiert. Daher ist das Semikolon nach diesem Befehl unerlässlich. In Anbetracht dessen, dass das Semikolon in verschiedenen Systemen unterschiedliche Bedeutungen haben kann, wird ein Backslash davor eingefügt. Die geschweiften Klammern {} stehen für die Dateinamen, die vom vorhergehenden find-Befehl gefunden wurden.
Beispiele:
(5) Dateien im aktuellen Verzeichnis finden, deren Änderungszeit mehr als 10 Tage zurückliegt, und sie löschen (ohne Warnung)
find . -type f -mtime +10 -exec rm -f {} \;
(6) Alle Dateien im aktuellen Verzeichnis finden, deren Namen mit .log enden und deren Änderungszeit mehr als 5 Tage zurückliegt, und sie löschen, aber mit einer Aufforderung vor dem Löschen. Drücken Sie y, um die Datei zu löschen, drücken Sie n, um sie zu überspringen.
find . -name '*.log' mtime +5 -ok -exec rm {} \;
(7) Dateien im aktuellen Verzeichnis finden, deren Dateinamen mit passwd beginnen und deren Inhalt die Zeichen "pkg" enthält
find . -f -name 'passwd*' -exec grep "pkg" {} \;
(8) Verwende die Option exec, um den Befehl cp auszuführen
find . -name '*.log' -exec cp {} test3 \;
-xargs: Der find-Befehl übergibt passende Dateien an den xargs-Befehl, und der xargs-Befehl nimmt jeweils nur einen Teil der Dateien statt alle auf einmal, anders als die Option -exec. Auf diese Weise kann er zuerst den ersten Stapel Dateien verarbeiten, dann den nächsten Stapel und so weiter.
Beispiele:
(9) Jede reguläre Datei im aktuellen Verzeichnis finden, dann xargs verwenden, um den Dateityp zu bestimmen
find . -type f -print | xargs file
(10) Alle regulären Dateien im aktuellen Verzeichnis finden, die mit js enden und die Zeichen 'editor' enthalten
find . -type f -name "*.js" -exec grep -lF 'ueditor' {} \;
find -type f -name '*.js' | xargs grep -lF 'editor'
(11) xargs verwenden, um den Befehl mv auszuführen
find . -name "*.log" | xargs -i mv {} test4
(12) Verwende den Befehl grep, um im aktuellen Verzeichnis in allen regulären Dateien nach dem Wort hostnames zu suchen und die Zeilen zu markieren, in denen es vorkommt:
find . -name \*(转义) -type f -print | xargs grep -n 'hostnames'
(13) Finde Dateien im aktuellen Verzeichnis, die mit einem Kleinbuchstaben beginnen und mit einer Ziffer von 4 bis 9, gefolgt von .log, enden:
find . -name '[a-z]*[4-9].log' -print
(14) Suche im Verzeichnis test, aber nicht im Unterverzeichnis test4
find test -path 'test/test4' -prune -o -print
(15) Beispiel 1: Finde Dateien, deren Änderungszeit neuer als die von log2012.log, aber älter als die von log2017.log ist
find -newer log2012.log ! -newer log2017.log
Verwendung der Option depth:
Die Option depth ermöglicht es dem Befehl find, beim Sichern eines Dateisystems auf Band zuerst alle Dateien und danach die Dateien in Unterverzeichnissen zu sichern.
Beispiel: Der Befehl find startet vom Wurzelverzeichnis des Dateisystems und sucht nach einer Datei namens CON.FILE. Er gleicht zuerst alle Dateien ab und durchsucht dann Unterverzeichnisse.
find / -name "CON.FILE" -depth -print
18. chmod-Befehl
Dient zum Ändern der Zugriffsrechte von Dateien oder Verzeichnissen in einem Linux-System. Er dient zum Steuern der Zugriffsrechte von Dateien oder Verzeichnissen. Dieser Befehl hat zwei Verwendungsmodi. Einer ist der symbolische Modus, der Buchstaben und Operator-Ausdrücke enthält; der andere ist der numerische Modus, der Zahlen enthält.
Jede Datei oder jedes Verzeichnis hat drei Gruppen von Zugriffsrechten, die jeweils durch drei Bits dargestellt werden: die Lese-, Schreib- und Ausführungsrechte des Dateieigentümers; die Lese-, Schreib- und Ausführungsrechte von Benutzern derselben Gruppe wie der Eigentümer; und die Lese-, Schreib- und Ausführungsrechte anderer Benutzer im System. Mit ls -l test.txt können Sie sie anzeigen.
Nehmen Sie die Datei log2012.log als Beispiel:
-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log
Die erste Spalte hat insgesamt 10 Positionen, und das erste Zeichen legt den Dateityp fest. Im allgemeinen Sinne ist ein Verzeichnis auch eine Datei. Wenn das erste Zeichen ein Bindestrich ist, kennzeichnet es eine Nicht-Verzeichnisdatei. Wenn es d ist, kennzeichnet es ein Verzeichnis. Vom zweiten bis zum zehnten Zeichen gibt es 9 Zeichen, in Dreiergruppen zusammengefasst, die die Berechtigungen der drei Benutzergruppen für die Datei oder das Verzeichnis darstellen. Bei den Berechtigungszeichen steht ein Bindestrich für keine Berechtigung, r steht für Lesen, w für Schreiben und x für Ausführen.
Gängige Optionen:
-c 当发生改变时,报告处理信息 -R 处理指定目录以及其子目录下所有文件
Berechtigungsumfang:
u :目录或者文件的当前的用户 g :目录或者文件的当前的群组 o :除了目录或者文件的当前用户或群组之外的用户或者群组 a :所有的用户及群组
Berechtigungscodes:
r :读权限,用数字4表示 w :写权限,用数字2表示 x :执行权限,用数字1表示 - :删除权限,用数字0表示 s :特殊权限
Beispiele:
(1) Allen Benutzern Ausführungsberechtigung für die Datei t.log hinzufügen
chmod a+x t.log
(2) Alle ursprünglichen Berechtigungen entfernen, dann dem Eigentümer Leseberechtigung geben und Verarbeitungsinformationen ausgeben
chmod u=r t.log -c
(3) Dem Dateieigentümer Lese-, Schreib- und Ausführungsberechtigungen (7) zuweisen; der Gruppe der Datei Lese- und Ausführungsberechtigungen (5) zuweisen; anderen Benutzern Ausführungsberechtigung (1) zuweisen
chmod 751 t.log -c(或者:chmod u=rwx,g=rx,o=x t.log -c)
(4) Allen Dateien im Verzeichnis test und seinen Unterverzeichnissen Leseberechtigung hinzufügen
chmod u+r,g+r,o+r -R text/ -c19. Der tar-Befehl
Wird zum Komprimieren und Dekomprimieren von Dateien verwendet. tar selbst hat keine Komprimierungsfunktionalität; es hat nur Paketierungsfunktionalität. Komprimierung und Dekomprimierung werden durch Aufrufen anderer Funktionen erreicht.
Zwei Begriffe klären: Packen und Komprimieren. Packen bezeichnet das Zusammenfassen einer großen Anzahl von Dateien oder Verzeichnissen zu einer einzigen Gesamtdatei; Komprimieren bezeichnet das Umwandeln einer großen Datei in eine kleine Datei durch einen Komprimierungsalgorithmus.
Gängige Optionen:
-c 建立新的压缩文件 -f 指定压缩文件 -r 添加文件到已经压缩文件包中 -u 添加改了和现有的文件到压缩包中 -x 从压缩包中抽取文件 -t 显示压缩文件中的内容 -z 支持gzip压缩 -j 支持bzip2压缩 -Z 支持compress解压文件 -v 显示操作过程
Über die gzip- und bzip2-Komprimierung:
gzip 实例:压缩 gzip fileName .tar.gz 和.tgz 解压:gunzip filename.gz oder gzip -d filename.gz
对应:tar zcvf filename.tar.gz tar zxvf filename.tar.gz
bz2实例:压缩 bzip2 -z filename .tar.bz2 解压:bunzip filename.bz2或bzip -d filename.bz2
对应:tar jcvf filename.tar.gz 解压:tar jxvf filename.tar.bz2
Beispiele:
(1) Alle Dateien in ein tar-Archiv packen
tar -cvf log.tar 1.log,2.log 或tar -cvf log.*
(2) Alle Dateien und Verzeichnisse unter /etc in das angegebene Verzeichnis packen und mit gz komprimieren
tar -zcvf /tmp/etc.tar.gz /etc
(3) Den Inhalt der gerade gepackten Datei anzeigen (z muss hinzugefügt werden, da sie mit gzip komprimiert ist)
tar -ztvf /tmp/etc.tar.gz
(4) /home und /etc komprimieren und packen, aber nicht /home/dmtsai
tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
20. chown-Befehl
chown ändert den Eigentümer der angegebenen Datei auf einen bestimmten Benutzer oder eine bestimmte Gruppe. Der Benutzer kann ein Benutzername oder eine Benutzer-ID sein; die Gruppe kann ein Gruppenname oder eine Gruppen-ID sein; die Dateien sind eine durch Leerzeichen getrennte Liste von Dateien, deren Berechtigungen geändert werden sollen, und Wildcards werden unterstützt.
-c 显示更改的部分的信息 -R 处理指定目录及子目录
Beispiele:
(1) Eigentümer und Gruppe ändern und die Änderungsinformationen anzeigen
chown -c mail:mail log2012.log
(2) Dateigruppe ändern
chown -c :mail t.log
(3) Eigentümer und Gruppe des Ordners und seiner Unterverzeichnisse auf mail ändern
chown -cR mail: test/
21. df-Befehl
Zeigt die Festplattenbelegung an. Es ruft Informationen darüber ab, wie viel Speicherplatz auf der Festplatte belegt ist und wie viel Speicherplatz noch frei ist. Wenn kein Dateiname angegeben ist, wird der verfügbare Speicherplatz aller aktuell eingebundenen Dateisysteme angezeigt. Standardmäßig wird der Speicherplatz in Einheiten von 1KB angezeigt, es sei denn, die Umgebungsvariable POSIXLY_CORRECT ist angegeben; in diesem Fall wird er in Einheiten von 512 Bytes angezeigt:
-a 全部文件系统列表 -h 以方便阅读的方式显示信息 -i 显示inode信息 -k 区块为1024字节 -l 只显示本地磁盘 -T 列出文件系统类型
Beispiele:
(1) Festplattenbelegung anzeigen
df -l
(2) Alle Dateisysteme und ihre Typen in menschenlesbarer Form auflisten
df -haT
22. du-Befehl
Der du-Befehl prüft ebenfalls die Festplattennutzung, aber im Gegensatz zum df-Befehl wird der Linux-Befehl du verwendet, um den von Dateien und Verzeichnissen belegten Speicherplatz anzuzeigen:
Befehlsformat:
du [选项] [文件]
Gängige Optionen:
-a 显示目录中所有文件大小 -k 以KB为单位显示文件大小 -m 以MB为单位显示文件大小 -g 以GB为单位显示文件大小 -h 以易读方式显示文件大小 -s 仅显示总计 -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
Beispiele:
(1) Die Größe des Ordners und der Unterordner in menschenlesbarer Form anzeigen
du -h scf/
(2) Die Größe aller Dateien im Ordner in menschenlesbarer Form anzeigen
du -ah scf/
(3) Den von mehreren Dateien oder Verzeichnissen jeweils belegten Speicherplatz anzeigen und außerdem ihre Gesamtsumme berechnen
du -hc test/ scf/
(4) Den von jedem Unterverzeichnis unter dem aktuellen Verzeichnis belegten Speicherplatz ausgeben
du -hc --max-depth=1 scf/
23. ln-Befehl
Die Funktion besteht darin, eine synchrone Verknüpfung für eine Datei an einem anderen Ort zu erstellen. Wenn verschiedene Verzeichnisse dieselbe Datei benötigen, ist es nicht nötig, für jedes Verzeichnis dieselbe Datei zu erstellen; die über ln erstellte Verknüpfung reduziert die Festplattennutzung.
Link-Kategorien: symbolische Links und harte Links.
Symbolischer Link:
- 1. Ein symbolischer Link existiert in Form eines Pfads. Ähnlich wie Verknüpfungen im Betriebssystem Windows.
- 2. Symbolische Links können Dateisystemgrenzen überschreiten; harte Links können das nicht.
- 3. Ein symbolischer Link kann auf einen nicht existierenden Dateinamen verweisen.
- 4. Symbolische Links können auf Verzeichnisse verweisen.
Hardlink:
- 1. Ein Hardlink existiert in Form einer Dateikopie, belegt aber keinen tatsächlichen Speicherplatz.
- 2. Das Erstellen von Hardlinks auf Verzeichnisse ist nicht zulässig.
- 3. Hardlinks können nur innerhalb desselben Dateisystems erstellt werden.
Notizen:
- Erstens: Der Befehl ln hält alle verlinkten Dateien synchron; das heißt, egal welche Sie ändern, werden die anderen Dateien dieselben Änderungen erfahren.
- Zweitens: ln-Links werden in symbolische Links und Hardlinks unterteilt. Ein symbolischer Link ist "ln -s source_file target_file"; er erstellt lediglich eine Spiegelung der Datei an dem von Ihnen gewählten Ort und belegt keinen Speicherplatz auf der Festplatte. Ein Hardlink ist "ln source_file target_file" ohne den Parameter -s; er erstellt eine Datei am gewählten Ort mit derselben Größe wie die Quelldatei. Ob symbolisch oder hart, die Dateien bleiben synchron.
- Drittens: Der Befehl ln wird verwendet, um Dateien oder Verzeichnisse zu verlinken. Wenn zwei oder mehr Dateien oder Verzeichnisse gleichzeitig angegeben werden und das endgültige Ziel ein vorhandenes Verzeichnis ist, werden alle zuvor angegebenen Dateien oder Verzeichnisse in dieses Verzeichnis kopiert. Wenn mehrere Dateien oder Verzeichnisse gleichzeitig angegeben werden, das endgültige Ziel jedoch kein vorhandenes Verzeichnis ist, erscheint eine Fehlermeldung.
Gängige Parameter:
-b 删除,覆盖以前建立的链接 -s 软链接(符号链接) -v 显示详细处理过程
Beispiele:
(1) Erstellen Sie einen symbolischen Link für eine Datei und zeigen Sie Informationen zum Vorgang an.
ln -sv source.log link.log
(2) Erstellen Sie einen Hardlink für eine Datei und zeigen Sie Informationen zum Vorgang an.
ln -v source.log link1.log
(3) Erstellen Sie einen symbolischen Link für ein Verzeichnis.
ln -sv /opt/soft/test/test3 /opt/soft/test/test5
24. Befehl date
Systemdatum und Systemzeit anzeigen oder einstellen.
Befehlsparameter:
-d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。 -s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。 -u 显示GMT. %H 小时(00-23) %I 小时(00-12) %M 分钟(以00-59来表示) %s 总秒数。起算时间为1970-01-01 00:00:00 UTC. %S 秒(以本地的惯用法来表示) %a 星期的缩写。 %A 星期的完整名称。 %d 日期(以01-31来表示). %D 日期(含年月日). %m 月份(以01-12来表示). %y 年份(以00-99来表示). %Y 年份(以四位数来表示).
Beispiele:
(1) Den nächsten Tag anzeigen.
date +%Y%m%d --date="+1 day" //显示下一天的日期
(2) Verwendung des Parameters -d.
date -d "nov 22" 今年的 11 月 22 日是星期三 date -d '2 weeks' 2周后的日期 date -d 'next monday' (下周一的日期) date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d date -d last-month +%Y%m(上个月是几月) date -d next-month +%Y%m(下个月是几月)
25. cal-Befehl
Zeigt dem Benutzer den gregorianischen Kalender an. Wenn nur ein Parameter angegeben ist, gibt er das Jahr an (1-9999); wenn zwei Parameter angegeben sind, geben sie Monat und Jahr an.
Gängige Parameter:
-3 显示前一月,当前月,后一月三个月的日历 -m 显示星期一为第一列 -j 显示在当前年第几天 -y [year]显示当前年[year]份的日历
Beispiele:
(1) Das Datum für ein angegebenes Jahr und einen angegebenen Monat anzeigen.
cal 9 2012
(2) Den Kalender für jeden Monat des Jahres 2013 anzeigen.
cal -y 2013
(3) Montag als erste Spalte festlegen, den vorherigen, den aktuellen und die nächsten drei Monate anzeigen.
cal -3m
26. grep-Befehl
Ein leistungsstarker Textsuchbefehl. grep (Global Regular Expression Print) ist eine globale Suche nach regulären Ausdrücken.
grep funktioniert folgendermaßen: Es sucht in einer oder mehreren Dateien nach einem Zeichenkettenmuster. Wenn das Muster Leerzeichen enthält, muss es in Anführungszeichen gesetzt werden. Alle Zeichenketten nach dem Muster werden als Dateinamen behandelt. Die Suchergebnisse werden an die Standardausgabe gesendet und verändern den Inhalt der Originaldatei nicht.
Befehlsformat:
grep [option] pattern file|dir
Gängige Parameter:
-A n --after-context显示匹配字符后n行 -B n --before-context显示匹配字符前n行 -C n --context 显示匹配字符前后n行 -c --count 计算符合样式的列数 -i 忽略大小写 -l 只列出文件内容符合指定的样式的文件名称 -f 从文件中读取关键词 -n 显示匹配内容的所在文件中行数 -R 递归查找文件夹
grep-Regeln für reguläre Ausdrücke:
^ #锚定行的开始 如:'^grep'匹配所有以grep开头的行。
$ #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
. #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p.
* #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.* #一起用代表任意字符。
[] #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep.
[^] #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
\(..\) #标记匹配字符,如'\(love\)',love被标记为1.
\< #锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。
\> #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\} #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。
x\{m,\} #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。
x\{m,n\} #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。
\w #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p.
\W #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b #单词锁定符,如: '\bgrep\b'只匹配grep.
Beispiele:
(1) Einen angegebenen Prozess finden.
ps -ef | grep svn
(2) Die Anzahl der angegebenen Prozesse finden.
ps -ef | grep svn -c
(3) Schlüsselwörter aus einer Datei lesen.
cat test1.txt | grep -f key.log
(4) Rekursiv in einem Ordner nach Zeilen suchen, die mit grep beginnen, und nur die Dateien auflisten.
grep -lR '^grep' /tmp
(5) Zeilen finden, die nicht mit x beginnen.
grep '^[^x]' test.txt
(6) Inhaltszeilen anzeigen, die die Zeichen "ed" oder "at" enthalten.
grep -E 'ed|at' test.txt
27. wc-Befehl
wc (Wortanzahl) wird verwendet, um die Anzahl der Bytes, Wörter und Zeilen in angegebenen Dateien zu zählen und die statistischen Ergebnisse auszugeben.
Befehlsformat:
wc [option] file..
Befehlsparameter:
-c 统计字节数 -l 统计行数 -m 统计字符数 -w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
Beispiele:
(1) Ermitteln Sie die Zeilenanzahl, Wortanzahl, Byteanzahl und den Dateinamen der Datei.
wc text.txt
Ergebnis:
7 8 70 test.txt
(2) Zählen Sie die Anzahl der Zeilen im Ausgabeergebnis.
cat test.txt | wc -l
28. ps-Befehl
ps (Prozessstatus) wird verwendet, um den Status der aktuell laufenden Prozesse als einmalige Ansicht anzuzeigen. Wenn Sie dynamische kontinuierliche Ergebnisse benötigen, verwenden Sie top.
Unter Linux haben Prozesse 5 Zustände:
- 1. Laufend (laufend oder in der Ausführungswarteschlange wartend)
- 2. Unterbrechbar (schlafend, blockiert, wartend darauf, dass eine Bedingung erfüllt oder ein Signal empfangen wird)
- 3. Ununterbrechbar (wacht beim Empfang eines Signals nicht auf und wird nicht ausgeführt; der Prozess muss warten, bis ein Interrupt auftritt)
- 4. Zombie (der Prozess wurde beendet, aber der Prozessdeskriptor existiert weiterhin, bis der Elternprozess den Systemaufruf wait4() aufruft, um ihn freizugeben)
- 5. Gestoppt (der Prozess hört nach Empfang der Signale SIGSTOP, SIGSTP, SIGTIN oder SIGTOU auf zu laufen)
Das ps-Tool identifiziert 5 Prozesszustandscodes:
D 不可中断 uninterruptible sleep (usually IO) R 运行 runnable (on run queue) S 中断 sleeping T 停止 traced or stopped Z 僵死 a defunct (”zombie”) process
Befehlsparameter:
-A 显示所有进程 a 显示所有进程 -a 显示同一终端下所有进程 c 显示进程真实名称 e 显示环境变量 f 显示进程间的关系 r 显示当前终端运行的进程 -aux 显示所有包含其它使用的进程
Beispiele:
(1) Alle aktuellen Prozessumgebungsvariablen und Beziehungen zwischen Prozessen anzeigen.
ps -ef
(2) Alle aktuellen Prozesse anzeigen.
ps -A
(3) Mit grep kombinieren, um einen Prozess zu finden.
ps -aux | grep apache
(4) Die PID-Nummern finden, die zu den Diensten cron und syslog gehören.
ps aux | grep '(cron|syslog)'
29. top-Befehl
Informationen über derzeit auf dem System ausgeführte Prozesse anzeigen, einschließlich Prozess-ID, Speichernutzung, CPU-Auslastung usw.
Gängige Parameter:
-c 显示完整的进程命令 -s 保密模式 -p <进程号> 指定进程显示 -n <次数>循环显示次数
Beispiele:
(1)
top - 14:06:23 up 70 days, 16:44, 2 users, load average: 1.25, 1.32, 1.35 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie Cpu(s): 5.9%us, 3.4%sy, 0.0%ni, 90.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 32949016k total, 14411180k used, 18537836k free, 169884k buffers Swap: 32764556k total, 0k used, 32764556k free, 3612636k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28894 root 22 0 1501m 405m 10m S 52.2 1.3 2534:16 java
Die ersten fünf Zeilen sind der Bereich der allgemeinen statistischen Informationen des aktuellen Systems.
Erste Zeile: Informationen zur Task-Warteschlange, identisch mit dem Ausführungsergebnis des Befehls uptime. Die spezifischen Parameterbeschreibungen lauten wie folgt:
14:06:23 — aktuelle Systemzeit
up 70 days, 16:44 — das System läuft seit 70 Tagen, 16 Stunden und 44 Minuten (und wurde in diesem Zeitraum nicht neu gestartet!).
2 users — derzeit sind 2 Benutzer am System angemeldet.
load average: 1.15, 1.42, 1.44 — die drei Zahlen nach load average geben die Last für 1 Minute, 5 Minuten bzw. 15 Minuten an.
Die Load-Average-Daten prüfen alle 5 Sekunden die Anzahl der aktiven Prozesse und berechnen dann mit einem bestimmten Algorithmus einen Wert. Wenn diese Zahl geteilt durch die Anzahl der logischen CPUs 5 überschreitet, deutet dies auf eine Überlastung des Systems hin.
Zweite Zeile: Tasks — Aufgaben (Prozesse). Die spezifischen Informationen lauten wie folgt:
Das System hat derzeit insgesamt 206 Prozesse, von denen 1 läuft, 205 schlafen, 0 sich im gestoppten Zustand befinden und 0 im Zombie-Zustand sind.
Dritte Zeile: CPU-Statusinformationen. Die spezifischen Attributbeschreibungen lauten wie folgt:
5.9%us — 用户空间占用CPU的百分比。 3.4% sy — 内核空间占用CPU的百分比。 0.0% ni — 改变过优先级的进程占用CPU的百分比 90.4% id — 空闲CPU百分比 0.0% wa — IO等待占用CPU的百分比 0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比 0.2% si — 软中断(Software Interrupts)占用CPU的百分比
Hinweis:Hier unterscheidet sich das Konzept der CPU-Auslastungsquote von Windows. Du musst die relevanten Kenntnisse über Linux-Userspace und Kernelspace verstehen!
Vierte Zeile: Speicherstatus. Die spezifischen Informationen lauten wie folgt:
32949016k total — 物理内存总量(32GB) 14411180k used — 使用中的内存总量(14GB) 18537836k free — 空闲内存总量(18GB) 169884k buffers — 缓存的内存量 (169M)
Fünfte Zeile: Informationen zur Swap-Partition. Die spezifischen Informationen lauten wie folgt:
32764556k total — 交换区总量(32GB) 0k used — 使用的交换区总量(0K) 32764556k free — 空闲交换区总量(32GB) 3612636k cached — 缓冲的交换区总量(3.6GB)
Sechste Zeile: leere Zeile.
Siebte Zeile und darunter: Statusüberwachung jedes Prozesses (Task). Die Beschreibungen der Spalteninformationen des Projekts sind wie folgt:
PID — 进程id USER — 进程所有者 PR — 进程优先级 NI — nice值。负值表示高优先级,正值表示低优先级 VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA SHR — 共享内存大小,单位kb S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 %CPU — 上次更新到现在的CPU时间占用百分比 %MEM — 进程使用的物理内存百分比 TIME+ — 进程使用的CPU时间总计,单位1/100秒 COMMAND — 进程名称(命令名/命令行)
Interaktive top-Befehle
h 显示top交互命令帮助信息 c 切换显示命令名称和完整命令行 m 以内存使用率排序 P 根据CPU使用百分比大小进行排序 T 根据时间/累计时间进行排序 W 将当前设置写入~/.toprc文件中 o或者O 改变显示项目的顺序
30. kill-Befehl
Sendet das angegebene Signal an den entsprechenden Prozess. Wenn kein Signaltyp angegeben wird, wird SIGTERM (15) gesendet, um den angegebenen Prozess zu beenden. Wenn das Programm weiterhin nicht beendet werden kann, verwenden Sie den Parameter "-KILL", der das Signal SIGKILL (9) sendet, um den Prozess zwangsweise zu beenden. Verwenden Sie den Befehl ps oder den Befehl jobs, um die Prozessnummer anzuzeigen. Der root-Benutzer kann Prozesse jedes Benutzers beeinflussen; Nicht-root-Benutzer können nur ihre eigenen Prozesse beeinflussen.
Gängige Parameter:
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称 -a 当处理当前进程时,不限制命令名和进程号的对应关系 -p 指定kill 命令只打印相关进程的进程号,而不发送任何信号 -s 指定发送信号 -u 指定用户
Beispiele:
(1) Suchen Sie zuerst mit ps den Prozess pro1 und beenden Sie ihn dann mit kill.
kill -9 $(ps -ef | grep pro1)
31. free-Befehl
Zeigt die Systemspeichernutzung an, einschließlich physischem Speicher, Swap-Speicher und Kernel-Pufferspeicher.
Befehlsparameter:
-b 以Byte显示内存使用情况 -k 以kb为单位显示内存使用情况 -m 以mb为单位显示内存使用情况 -g 以gb为单位显示内存使用情况 -s<间隔秒数> 持续显示内存 -t 显示内存使用总合
Beispiele:
(1) Speichernutzung anzeigen.
free free -k free -m
(2) Speichernutzungsinformationen in summierter Form anzeigen.
free -t
(3) Speichernutzung regelmäßig abfragen.
free -s 10
Original-URL: https://www.cnblogs.com/gaojun/p/3359355.html