(1) Ubah hala senarai arahan
命令 | 说明 |
---|---|
command > file | 将输出重定向到 file |
command < file | 将输入重定向到 file |
command >> file | 将输出以追加的方式重定向到 file |
n > file | 将文件描述符为 n 的文件重定向到 file |
n >> file | 将文件描述符为 n 的文件以追加的方式重定向到 file |
n >& m | 将输出文件 m 和 n 合并 |
n <& m | 将输入文件 m 和 n 合并 |
<< tag | 将开始标记 tag 和结束标记 tag 之间的内容作为输入 |
( 2. ) Deskriptor fail
0: biasanya input standard (STDIN)
1: output standard (STDOUT)
2: Ia adalah output ralat standard (STDERR)
(1) arahan Parsing
command > file #执行command然后将输出的内容存入file。
Nota:
Kandungan dalam fail akan digantikan dengan kandungan baharu jika anda tidak mahu menggantikannya sepenuhnya tetapi menambahnya pada penghujung fail, Kemudian gunakan operator >>
(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) ;
anotasi .
rreee <. 🎜>
Nota:Alihan keluaran adalah lebih besar daripada tanda (>), dan ubah hala input ialah kurang daripada tanda (<).
2. Contoh analisis
command < file #获取file文件中的内容作为输入内容,并用于commmand执行
Contoh pertama akan mengeluarkan nama fail; kerana ia hanya tahu membaca daripada input standard.
[root@localhost ~]# wc -l users 2 users #wc指令可以计算文件的Byte数、字数、或是行/列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。 [root@localhost ~]# wc -l < users 2 #将输入重定向到 users 文件,上面命令作用就是将users文件内容作为输入重定向计算行数了
4. Pemahaman mendalam tentang pengalihan
Input standard, output standard dan output ralat standard telah diperkenalkan secara ringkas dalam deskriptor fail di atas, dan akan diterangkan secara terperinci di bawah.
Secara amnya, tiga fail akan dibuka apabila setiap arahan Unix/Linux dijalankan:
1) Fail input standard (stdin) :Penerangan fail stdin ialah 0 dan program Unix membaca data daripada stdin secara lalai.
2) Fail output standard (stdout):Deskriptor fail stdout ialah 1, dan program Unix mengeluarkan data kepada stdout secara lalai.
3) Fail ralat standard (stderr):Penerangan fail stderr ialah 2, dan atur cara Unix akan menulis maklumat ralat ke strim stderr. Secara lalai,
arahan > fail mengubah hala ke fail, perintah <2. Penjelasan terperinci tentang arahancommand < infile > outfile
#同时替换输入和输出,执行command,从文件infile读取内容,然后将输出写入到outfile中。
#理解成,从标准输入中获取内容(输入重定向到infile)作为标准输出(输出重定向到outfile)。
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
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.
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
[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!