Jargon file definitionEdit
The Jargon File version 4.4.7 viser det, som definitionen af cat
:
- til At udspy en hel fil til skærmen eller nogle andre output vask uden pause (syn. blast).
- i forlængelse heraf at dumpe store mængder data på et uforberedt mål eller uden hensigt at gennemse det omhyggeligt. Anvendelse: betragtes fjollet. Sjældne uden for Uni. – .ebsteder. Se også dd, BLT.,blandt Uni.-fans betragtes cat(1) som et glimrende eksempel på brugergrænsefladedesign, fordi det leverer filindholdet uden sådan verbositet som afstand eller overskrifter mellem filerne, og fordi det ikke kræver, at filerne består af tekstlinjer, men fungerer med enhver form for data.
blandt Uni.-kritikere betragtes cat(1) som det kanoniske eksempel på dårligt brugergrænsefladedesign på grund af dets sørgeligt uklare navn. Det er langt oftere bruges til at sprænge en enkelt fil til standard output end at sammenkæde to eller flere filer., Navnet kat til den tidligere operation er lige så unintuitive som, siger LISP ‘ s cdr.
ubrugelig brug af catEdit
ubrugelig brug af cat (UUOC) er almindelig Uni. – jargon til kommandolinjekonstruktioner, der kun giver en funktion af bekvemmelighed for brugeren. Dette kaldes også “kat misbrug”. Aktiviteten af fastsættelse forekomster af UUOC kaldes undertiden demoggification., Eksempel på en almindelig cat
misbrug er givet i prisen:
cat filename | command arg1 arg2 argn
Dette kan skrives ved hjælp af omdirigering af stdin i stedet, i hver af de følgende former (den første er mere traditionel):
command arg1 arg2 argn < filename <filename command arg1 arg2 argn
Ud over andre fordele, input omdirigering former giver kommando til at udføre en tilfældig adgang til filen, mens cat
eksempler ikke., Dette skyldes, at omdirigeringsformularen åbner filen som stdin – filbeskrivelsen, som kommandoen fuldt ud kan få adgang til, mens cat
formularen blot giver dataene som en strøm af bytes.
et andet almindeligt tilfælde, hvor cat
er unødvendigt, er hvor en kommando som standard fungerer på stdin, men vil læse fra en fil, hvis filnavnet er angivet som et argument., Dette er tilfældet for mange almindelige kommandoer; i de følgende eksempler
cat "$file" | grep "$pattern" cat "$file" | less
kan i stedet skrives som
grep "$pattern" "$file" less "$file"
En fælles interaktiv brug af cat
for en enkelt fil, er at output-indholdet af en fil til standard output. Hvis output imidlertid ledes eller omdirigeres, er cat
unødvendig.
A cat
skrevet med UUOC kan stadig foretrækkes af læsbarhedsårsager, da det kan være lettere at konceptualisere at læse en rørstrøm fra venstre til højre., Også, et forkert brug af omdirigering symbolet “>” i stedet for “<” (ofte støder op på keyboards) kan permanent slette indholdet af en fil, med andre ord clobbering, og en måde at undgå dette på er at bruge cat
med rør. Sammenlign:
command < in | command2 > out <in command | command2 > out
med:
cat in | command | command2 > out