Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menyelesaikan masalah pengalihan dalam operasi linux

Bagaimana untuk menyelesaikan masalah pengalihan dalam operasi linux

PHPz
PHPzke hadapan
2023-05-17 14:37:141756semak imbas

    1 Gambaran Keseluruhan

    (1) Ubah hala senarai arahan

    命令 说明
    command > file 将输出重定向到 file
    command 9d41296426346274fba9e027b1a16c20> file 将输出以追加的方式重定向到 file
    n > file 将文件描述符为 n 的文件重定向到 file
    n >> file 将文件描述符为 n 的文件以追加的方式重定向到 file
    n >& m 将输出文件 m 和 n 合并
    n f933ea2072472c30002833bea5104017>

    (2) Contoh Analisis

    [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 ~]#

    Nota:

    Terdapat dua #s dalam banyak baris arahan di atas contoh:

    • # pertama bermaksud Pengguna semasa ialah pengguna akar (apabila pengguna lain, akan ada tanda $ di sini) ;

    • # kedua di atas bermaksud

      anotasi .

    3. Ubah hala input

    1 Penghuraian perintah

    Arahan Unix juga boleh mendapatkan input daripada fail, sintaksnya ialah:

    rreee <.>

    Nota:

     Alihan keluaran adalah lebih besar daripada tanda (>), dan ubah hala input ialah kurang daripada tanda (6be616fcbd6c7b0b1ad4a11003ada262 fail mengubah hala ke fail, perintah <

    2. Penjelasan terperinci tentang arahan

    command < infile > outfile
    #同时替换输入和输出,执行command,从文件infile读取内容,然后将输出写入到outfile中。
    #理解成,从标准输入中获取内容(输入重定向到infile)作为标准输出(输出重定向到outfile)。
    5. Dokumen Di Sini

    Dokumen Di Sini ialah kaedah ubah hala khas dalam Shell, digunakan untuk mengubah hala input ke shell interaktif. skrip atau program.

    1. Tatabahasa

    Bentuk asasnya adalah seperti berikut:

    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

    Nota: Pembatas pada akhir

    mesti ditulis dalam huruf atas , tidak boleh ada sebarang aksara di hadapannya dan tidak boleh ada sebarang aksara di belakang, termasuk ruang dan lekukan tab. Ruang sebelum dan selepas pembatas permulaan akan diabaikan.

    2. Contoh analisis

    EOF ialah singkatan END Of File, yang bermaksud penamat tersuai. Oleh kerana ia boleh disesuaikan, EOF tidak mempunyai nilai tetap dan anda boleh menetapkan alias sesuka hati Sebagai contoh, dalam Linux, menekan Ctrl-D boleh digunakan sebagai EOF.

    EOF biasanya berfungsi dengan kucing untuk mengeluarkan teks berbilang baris.

    Contohnya adalah seperti berikut:

    command << delimiter
        document
    delimiter
    #作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。

    EOF juga boleh disesuaikan seperti berikut:

    [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
    Apabila melaksanakan input skrip, anda boleh menggunakan borang berikut :

    [root@iZ2ze95cxr3kx9il409khtZ ~]# cat << CCC
    > a
    > b
    > c
    > d
    > CCC
    a
    b
    c
    d

    Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah pengalihan dalam operasi linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam