(1) Liste des commandes de redirection
Commande | Description |
---|---|
fichier de commande | Redirection la sortie dans le fichier |
commande < ; fichier | redirige l'entrée vers le fichier |
commande >> fichier | redirige la sortie vers le fichier en ajoutant |
n > fichier | définit le descripteur de fichier sur n Le fichier est redirigé vers le fichier |
n >> fichier | redirigera le fichier avec le descripteur de fichier n vers le fichier |
n >& m | affichera le fichier m et n fusionner |
n <& m | Fusionner les fichiers d'entrée m et n |
<< tag | prennent le contenu entre la balise de début et la balise de fin comme entrée |
(2) Descripteur de fichier
0 : Généralement entrée standard (STDIN)
1 : Sortie standard (STDOUT)
2 : Sortie d'erreur standard (STDERR)
(1) Analyse des commandes
command > file #执行command然后将输出的内容存入file。
Remarque :
Le contenu du fichier sera remplacé par le nouveau contenu. Si vous ne souhaitez pas être complètement remplacé mais ajouté à la fin du fichier, utilisez l'opérateur >>
(2) Exemple d'analyse
[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 ~]#
Remarque :
Dans l'exemple ci-dessus, de nombreuses lignes de commande apparaissent avec deux # :
Le premier # signifie L'utilisateur actuel est l'utilisateur root (quand il est Pour les autres utilisateurs, il y aura le symbole $);
Le deuxième # ci-dessus signifie commentaire.
Les commandes Unix peuvent également obtenir des entrées à partir de fichiers. La redirection d'entrée est le signe inférieur à (<).
2. Exemple d'analysecommand < file
#获取file文件中的内容作为输入内容,并用于commmand执行
Le second ne le fera pas, car il sait uniquement lire le contenu de l'entrée standard ; [root@localhost ~]# wc -l users
2 users
#wc指令可以计算文件的Byte数、字数、或是行/列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
[root@localhost ~]# wc -l < users
2
#将输入重定向到 users 文件,上面命令作用就是将users文件内容作为输入重定向计算行数了
L'entrée standard, la sortie standard et la sortie d'erreur standard ont été brièvement introduites dans les descripteurs de fichiers ci-dessus et seront expliquées en détail ci-dessous.
1. Introduction
Le descripteur de fichier de stdin est 0, les données du programme Unix sont lues à partir de stdin par défaut.
2) Fichier de sortie standard (stdout) : Le descripteur de fichier de
stdout est 1, et les programmes Unix génèrent des données sur stdout par défaut.
3) Fichier d'erreur standard (stderr) :
Le descripteur de fichier de stderr est 2 et les programmes Unix écriront les informations d'erreur dans le flux stderr.
Par défaut, command > file redirige stdout vers file, command <
2. Détails de la commande
command < infile > outfile #同时替换输入和输出,执行command,从文件infile读取内容,然后将输出写入到outfile中。 #理解成,从标准输入中获取内容(输入重定向到infile)作为标准输出(输出重定向到outfile)。
5. Here DocumentHere Document est une méthode de redirection spéciale dans Shell, utilisée pour rediriger les entrées vers un script ou un programme Shell interactif.
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
doit être écrit au format haut. Il ne peut y avoir de caractères devant et il ne peut y avoir de caractères à l'intérieur. le dos, y compris les espaces et les retraits de tabulation.
Les espaces avant et après le délimiteur initial seront ignorés. 2. Exemple d'analyse
EOF est l'abréviation de END Of File, qui signifie un terminateur personnalisé. Puisqu'il peut être personnalisé, EOF n'a pas de valeur fixe et vous pouvez définir un alias à volonté. Par exemple, sous Linux, appuyer sur Ctrl-D peut être utilisé comme EOF à la place.
EOF fonctionne généralement avec cat pour générer du texte sur plusieurs lignes.
L'exemple est le suivant :command << delimiter document delimiter #作用是将两个 delimiter 之间的内容(document) 作为输入传递给 command。
EOF peut également être personnalisé comme suit :
[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
Lors de l'exécution de la saisie du script, vous pouvez utiliser le formulaire suivant : Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois![root@iZ2ze95cxr3kx9il409khtZ ~]# cat << CCC
> a
> b
> c
> d
> CCC
a
b
c
d