Jargon File definitionEdit
le fichier jargon version 4.4.7 répertorie ceci comme la définition de cat
:
- pour cracher un fichier entier à l’écran ou un autre évier de sortie sans pause (syn. souffle).
- par extension, pour vider de grandes quantités de données sur une cible non préparée ou sans intention de la parcourir attentivement. Utilisation: considéré comme stupide. Rare en dehors des sites Unix. Voir aussi dd, BLT.,
parmi les fans D’Unix, cat(1) est considéré comme un excellent exemple de conception d’interface utilisateur, car il fournit le contenu du fichier sans une telle verbosité que l’espacement ou les en-têtes entre les fichiers, et parce qu’il ne nécessite pas que les fichiers soient constitués de lignes de texte, mais fonctionne avec
parmi les critiques D’Unix, cat(1) est considéré comme l’exemple canonique d’une mauvaise conception d’interface utilisateur, en raison de son nom tristement peu évident. Il est beaucoup plus souvent utilisé pour faire exploser un seul fichier en sortie standard que pour concaténer deux fichiers ou plus., Le nom cat pour l’ancienne opération est tout aussi peu intuitif que, disons, le cdr de LISP.
utilisation inutile de catEdit
l’utilisation inutile de cat (UUOC) est un jargon Unix courant pour les constructions de ligne de commande qui ne fournissent qu’une fonction de commodité à l’utilisateur. Ceci est également appelé « abus de chat ». L’activité de fixation des instances D’UUOC est parfois appelée démoggification., Exemple d’un abus commun cat
est donné dans le prix:
cat filename | command arg1 arg2 argn
cela peut être réécrit en utilisant la redirection de stdin à la place, sous l’une des formes suivantes (la première est plus traditionnelle):
command arg1 arg2 argn < filename <filename command arg1 arg2 argn
Au-delà les formulaires de redirection permettent à la commande d’effectuer un accès aléatoire sur le fichier, alors que les exemples cat
ne le font pas., En effet, le formulaire de redirection ouvre le fichier en tant que descripteur de fichier stdin auquel la commande peut accéder pleinement, tandis que le formulaire cat
fournit simplement les données sous forme de flux d’octets.
un autre cas courant oùcat
n’est pas nécessaire est celui où une commande par défaut fonctionne sur stdin, mais lira à partir d’un fichier, si le nom de fichier est donné en argument., C’est le cas pour de nombreuses commandes courantes; les exemples suivants
cat "$file" | grep "$pattern" cat "$file" | less
peuvent plutôt être écrits comme
grep "$pattern" "$file" less "$file"
une utilisation interactive courante de cat
pour un seul fichier est de sortir le contenu d’un fichier en sortie standard. Cependant, si la sortie est redirigée ou redirigée, cat
n’est pas nécessaire.
uncat
écrit avec UUOC pourrait toujours être préféré pour des raisons de lisibilité, car la lecture d’un flux canalisé de gauche à droite pourrait être plus facile à conceptualiser., Aussi, une mauvaise utilisation du symbole de redirection « > » au lieu de « < » (souvent en bordure d’un clavier) peut supprimer de façon permanente le contenu d’un fichier, en d’autres termes casser, et une manière d’éviter cela est d’utiliser cat
avec des tuyaux. Comparer:
command < in | command2 > out <in command | command2 > out
avec:
cat in | command | command2 > out