## をマージします。 | #n 9e8bbe0af76feb5405dcb0bb6628dc2e 演算子を使用します。 (2) 分析例
[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 ~]#
注:
上記の多くのコマンド ラインには # が 2 つあります。例:
最初の # は、現在のユーザーが root ユーザーであることを意味します (別のユーザーの場合、ここに $ 記号が表示されます)
; -
上の 2 番目の # は、 コメント
の意味を意味します。
-
3. 入力リダイレクト
1. コマンド解析
Unix コマンドはファイルから入力を取得することもでき、構文は次のとおりです: command < file
#获取file文件中的内容作为输入内容,并用于commmand执行
注:
出力リダイレクトは大なり記号 (>) であり、入力リダイレクトは小なり記号 (df9a4dda93a18825e783d187dff275f2 file は標準出力をファイルにリダイレクトし、コマンド < file は標準入力をファイルにリダイレクトします。 2. コマンドの詳細説明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 DocumentHere Document はシェルの特別なリダイレクト メソッドであり、入力を対話型シェルにリダイレクトするために使用されます。スクリプトまたはプログラム。 1. 文法 基本的な形式は次のとおりです: command << delimiter
document
delimiter
#作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。
注:
の最後の区切り文字は次のとおりです。大文字で記述する必要があります。その前に文字を入れることはできません。また、スペースやタブ インデントを含む文字を後ろに入れることもできません。 開始区切り文字の前後のスペースは無視されます。
2. 分析例EOF は END Of File の略で、カスタム ターミネータを表します。 EOF はカスタマイズ可能なため、固定値はなく任意にエイリアスを設定することができ、例えば Linux では Ctrl-D を押下することで EOF として代用することができます。 EOF は通常、cat と連携して複数行のテキストを出力します。
例は次のとおりです。
[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 は次のようにカスタマイズすることもできます。 [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 ~]#