Utilisation de la ligne de commande du canal Linux

qu'est-ce qu'un pipeline

Que font les tuyaux dans la vie réelle, comme les conduites d'eau, les conduites d'eau peuvent être utilisées pour faire circuler l'eau d'un côté à l'autre. Qu'en est-il des tuyaux sous Linux ? Les fonctions sont similaires. Les tuyaux Linux peuvent générer une commande et s'écouler vers le Une autre commande, en entrée d'une autre commande, c'est ce que Linux canalise.
Dans la vraie vie, les conduites d'eau sont utilisées pour connecter l'eau. Qu'en est-il de l'entrée et de la sortie des commandes de connexion sous Linux ? Le caractère de commande pipe est utilisé | .
La fonction du caractère de commande pipe "|" est d'utiliser la sortie standard de la commande précédente comme entrée standard de la commande suivante, au format "commande A | commande B", par exemple

#在文本a.txt中寻找文本123所在段落。
cat a.txt | grep "123"

【Rappel】:

  1. La commande pipeline traite uniquement la sortie correcte de la commande précédente et ne traite pas la mauvaise sortie ;

  2. La commande située à droite de la commande de pipeline doit pouvoir recevoir la commande de flux d'entrée standard ;

La commande pipeline est en fait un peu similaire à la redirection d'entrée et de sortie, car elles modifient toutes deux le flux de données, mais les objectifs sont différents. Redirection >> signifie envoyer la sortie d'une commande vers un fichier, et le pipeline consiste à mettre this La sortie d'une commande, comme entrée de la commande suivante.

Si la commande pipeline est bien utilisée, elle peut nous aider à faire beaucoup de choses, comme :
Exemple 1 : Générer un mot de passe aléatoire de 8 bits

tr -dc A-Za-z0-9_ </dev/urandom | head -c 8 | xargs

Exemple 2 : afficher tous les noms d'utilisateurs du système et les trier par ordre alphabétique

awk -F: '{print $1}' /etc/passwd | sort

Exemple 3 : Répertorier les 5 principales commandes utilisées par l'utilisateur actuel (le nombre de colonnes imprimées dépend de la situation réelle)

history | awk '{print $2}' | sort | uniq -u | sort -rn | head -5

Exemple 4 : Afficher les shells de connexion des utilisateurs dans le système /bin/bash

cat /etc/passwd | grep "/bin/bash" | cut -d: -f1,6   

#cut -d: -f1,6 表示以:为分隔符显示第1和第6列的内容-d指定分隔符,-f指定列

Exemple 5 : Afficher le nombre de sous-répertoires dans le répertoire courant

ls -l | cut -c 1 | grep "d" | wc -l

#ls -l  长格式列出当前目录的所有内容,每行的第一个字符表示文件的类

#cut -c 1 截取每行的第一个字符

#grep "d" 获取文件类型是目录的行

#wc -l  统计grep命令输出的行数,即子目录个数

Exemple 6 : fusionner le contenu de deux fichiers

cat 1.txt | paste -d: 2.txt -

#paste -d: 2.txt - 表示以:为分割符合并两个文件,合并时2.txt文件的内容在前 -代表1.txt文件

Je suppose que tu aimes

Origine blog.csdn.net/qq_45171957/article/details/123698265
conseillé
Classement