(1) Umleitungsbefehlsliste
Befehl | Beschreibung |
---|---|
Befehl > Datei | Leiten Sie die Ausgabe in eine Datei um |
Befehl < ; file | leitet die Eingabe in eine Datei um |
Befehl >> file | leitet die Ausgabe in eine Datei um durch Anhängen von |
n > setzt den Dateideskriptor auf n Die Datei wird in die Datei umgeleitet | |
leitet die Datei mit dem Dateideskriptor n zur Datei | |
gibt die Datei m und n merge aus | |
Merge Die Eingabedateien m und n | |
nehmen den Inhalt zwischen dem Start-Tag-Tag und dem End-Tag-Tag als Eingabe |
command > file
#执行command然后将输出的内容存入file。
Der Inhalt in der Datei wird durch neuen Inhalt ersetzt. Wenn Sie nicht vollständig ersetzt, sondern an das Ende der Datei angehängt werden möchten, verwenden Sie den Operator >>.
(2) Beispielanalyse[root@localhost ~]# w
20:41:36 up 55 days, 5:17, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 223.166.20.53 20:24 0.00s 0.05s 0.00s w
[root@localshost ~]# w > users #w命令执行后的结果输出到users文件中
[root@localshost ~]# ll
-rw-r--r-- 1 root root 204 Jan 3 20:41 users
[root@localshost ~]# cat users #查看users文件内容,正是w命令执行后的输出结果
20:41:58 up 55 days, 5:17, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 223.166.20.53 20:24 6.00s 0.05s 0.00s w
[root@localshost ~]# who
root pts/0 2021-01-03 20:24 (223.166.20.53)
[root@localshost ~]# who > users #将who命令执行结果输出重定向到users文件
[root@localshost ~]# cat users #发现users文件中原先w命令的输出内容被who命令覆盖了
root pts/0 2021-01-03 20:24 (223.166.20.53)
[root@localshost ~]# echo "Hello world" >> users #使用>>操作符则会追加在后面输出
[root@localshost ~]# cat users
root pts/0 2021-01-03 20:24 (223.166.20.53)
Hello world
[root@localshost ~]#
Im obigen Beispiel erscheinen viele Befehlszeilen mit zwei #:
;
.
command < file #获取file文件中的内容作为输入内容,并用于commmand执行
Die Ausgabeumleitung ist das Größer-als-Zeichen (>), Die Eingabeumleitung erfolgt über das Kleiner-als-Zeichen (<).
2. Beispielanalyse
[root@localhost ~]# wc -l users 2 users #wc指令可以计算文件的Byte数、字数、或是行/列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。 [root@localhost ~]# wc -l < users 2 #将输入重定向到 users 文件,上面命令作用就是将users文件内容作为输入重定向计算行数了
Das erste Beispiel gibt den Dateinamen aus;
Das zweite Beispiel nicht, da es nur den Inhalt aus der Standardeingabe lesen kann.
command < infile > outfile #同时替换输入和输出,执行command,从文件infile读取内容,然后将输出写入到outfile中。 #理解成,从标准输入中获取内容(输入重定向到infile)作为标准输出(输出重定向到outfile)。
4. Detailliertes Verständnis der Umleitung
1. Einführung
Der Dateideskriptor von stdin ist 0, aus dem Unix-Programm werden Daten gelesen stdin standardmäßig.
2) Standardausgabedatei (stdout): Der Dateideskriptor vonstdout ist 1, und Unix-Programme geben Daten standardmäßig in stdout aus.
3) Standardfehlerdatei (stderr):Der Dateideskriptor von stderr ist 2 und Unix-Programme schreiben Fehlerinformationen in den stderr-Stream.
Standardmäßig leitet
Befehl > die Standardausgabe in eine Datei um, der Befehl < Datei leitet die Standardausgabe in eine Datei um.2. Befehlsdetails
command 2>file #stderr 重定向到 file command 2>>file #stderr 追加到 file 文件末尾 command > file 2>&1 command >> file 2>&1 #stdout 和 stderr 合并后重定向到 file command < file1 >file2 #对 stdin 和 stdout 都重定向 #command 命令将 stdin 重定向到 file1,将 stdout 重定向到 file2
Die Grundform lautet wie folgt:
command << delimiter document delimiter #作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。
muss im Top-Format geschrieben werden auf der Rückseite, einschließlich Leerzeichen und Tabulatoreinzüge. Die Leerzeichen vor und nach dem anfänglichen Trennzeichen werden ignoriert.
2. Beispielanalyse
EOF ist die Abkürzung für END Of File, was einen benutzerdefinierten Terminator bedeutet. Da es anpassbar ist, hat EOF keinen festen Wert und Sie können nach Belieben einen Alias festlegen. Unter Linux kann stattdessen beispielsweise Strg-D als EOF verwendet werden.
[root@localhost ~]# wc -l << EOF > a > b > c > d > e > EOF 5 #输入内容为5行 [root@localhost ~]# cat << EOF > a > b > c > d > e > f > EOF a b c d e f
EOF kann auch wie folgt angepasst werden: [root@iZ2ze95cxr3kx9il409khtZ ~]# cat << CCC
> a
> b
> c
> d
> CCC
a
b
c
d
#拥有大量输入的时候可以用下面的形式,将标准输入的内容重定向到(输入到)test.sh文件中。 [root@localhost ~]# cat << EOF >test.sh > 123123123 > 3452354345 > asdfasdfs > EOF [root@localhost ~]# cat test.sh 123123123 3452354345 asdfasdfs [root@localhost ~]#
Das obige ist der detaillierte Inhalt vonSo lösen Sie das Umleitungsproblem im Linux-Betrieb. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!