Heim >Betrieb und Instandhaltung >Betrieb und Wartung von Linux >So lösen Sie das Umleitungsproblem im Linux-Betrieb

So lösen Sie das Umleitungsproblem im Linux-Betrieb

PHPz
PHPznach vorne
2023-05-17 14:37:141805Durchsuche

    1. Übersicht

    (1) Umleitungsbefehlsliste

    n >> file n >& mn 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 ~]#
    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

    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!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen