Žargonu soubor definitionEdit
Žargonu Souboru verze 4.4.7 uvádí jako definici cat
:
- chrlit celý soubor na obrazovku, nebo nějaký jiný výstup dřez bez pauzy (syn. výbuch).
- extension, Chcete-li vypsat velké množství dat na nepřipravený cíl nebo bez úmyslu pečlivě jej procházet. Použití: považováno za hloupé. Vzácné mimo unixové stránky. Viz také dd, BLT.,
Mezi Unix fanoušky, kočka(1), je považován za vynikající příklad toho, uživatelské rozhraní design, protože to přináší obsah souboru, aniž by taková podrobnost jako mezery nebo záhlaví mezi soubory, a proto, že nevyžaduje soubory, které se skládají z řádků textu, ale pracuje s jakýkoli typ dat.
mezi kritiky Unixu je cat (1)považován za kanonický příklad špatného designu uživatelského rozhraní, protože je žalostně nenápadný. To je mnohem častěji používán k výbuchu jeden soubor na standardní výstup, než zřetězit dva nebo více souborů., Jméno kočka pro bývalou operaci je stejně neintuitivní jako, řekněme, LISPOVA cdr.
Zbytečné použití catEdit
k Ničemu použít cat (UUOC) je common Unix žargonu pro příkazový řádek konstrukty, které pouze poskytují funkce, pohodlí pro uživatele. To je také označováno jako „zneužívání koček“. Aktivita fixačních instancí UUOC se někdy nazývá demoggifikace., Příklad společného cat
zneužívání je uveden v zadání:
cat filename | command arg1 arg2 argn
To může být přepsána pomocí přesměrování standardního vstupu místo, v obou z následujících forem (první je více tradiční):
command arg1 arg2 argn < filename <filename command arg1 arg2 argn
Mimo jiné výhody, vstupní přesměrování formy, aby příkaz k provedení náhodný přístup k souboru, vzhledem k tomu, že cat
příklady nejsou., To je proto, že přesměrování formulář otevře soubor jako stdin soubor deskriptorů, který příkaz může plně přístup, zatímco cat
formuláře jednoduše poskytuje data jako proud bajtů.
Další běžný případ, kde cat
je zbytečné je, kde výchozí příkaz působící na stdin, ale bude číst ze souboru, pokud název souboru je uveden jako argument., To je případ pro mnoho běžných příkazů; tyto příklady
cat "$file" | grep "$pattern" cat "$file" | less
místo toho může být zapsáno jako
grep "$pattern" "$file" less "$file"
společný interaktivní používání cat
pro jeden soubor je na výstupu obsah souboru na standardní výstup. Pokud je však výstup veden nebo přesměrován, cat
není nutné.
cat
napsáno s UUOC může být stále výhodné pro čitelnost důvodů, jako je čtení potrubím proud zleva doprava, může být jednodušší vymyslet., Také, jeden špatný používání přesměrování symbol „>“ místo „<“ (často sousedí na klávesnicích), může trvale vymazat obsah souboru, jinými slovy přepisování, a jeden způsob, jak se vyhnout, je použít cat
s trubkami. Porovnat:
command < in | command2 > out <in command | command2 > out
s:
cat in | command | command2 > out