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 |
|
n >> file
leitet die Datei mit dem Dateideskriptor n zur Datei |
|
n >& m
gibt die Datei m und n merge aus |
|
n a959a13e3db93da17479202981bfe5b3>. (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 ~]#
Hinweis: Im obigen Beispiel erscheinen viele Befehlszeilen mit zwei #:
Das erste # bedeutet - Der aktuelle Benutzer ist der Root-Benutzer (wenn es ist Für andere Benutzer gibt es ein $-Symbol)
;
Das zweite # oben bedeutet - Kommentar
.
3. Eingabeumleitung
1. Befehlsanalyse
Unix-Befehle können auch Eingaben aus Dateien erhalten:
command < file
#获取file文件中的内容作为输入内容,并用于commmand执行
Hinweis: Die Ausgabeumleitung ist das Größer-als-Zeichen (>), Die Eingabeumleitung erfolgt über das Kleiner-als-Zeichen (a3a7a2746ac18d1e3fafcef268472744 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
5. Here Document ist eine spezielle Umleitungsmethode in Shell, die zum Umleiten von Eingaben an ein interaktives Shell-Skript oder -Programm verwendet wird.
1. Grammatik
Die Grundform lautet wie folgt:
command << delimiter
document
delimiter
#作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。
Hinweis: Das Trennzeichen am Ende von
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.
EOF arbeitet normalerweise mit cat zusammen, um mehrzeiligen Text auszugeben.
Das Beispiel sieht wie folgt aus: [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
Bei der Ausführung der Skripteingabe können Sie das folgende Formular verwenden:
#拥有大量输入的时候可以用下面的形式,将标准输入的内容重定向到(输入到)test.sh文件中。
[root@localhost ~]# cat << EOF >test.sh
> 123123123
> 3452354345
> asdfasdfs
> EOF
[root@localhost ~]# cat test.sh
123123123
3452354345
asdfasdfs
[root@localhost ~]#