Jargon file definitionEdit

The Jargon File versjon 4.4.7 viser dette som definisjonen av cat:

  1. for Å spytte ut en hel fil til skjerm eller noen annen utgang vask uten pause (syn. blast).
  2. Ved utvidelse, for å dumpe store mengder data på en uforberedt mål eller uten hensikt leser det nøye. Bruk: regnes som dum. Sjelden utenfor Unix nettsteder. Se også dd, BLT.,

Blant Unix-fans, katt(1) er ansett som et utmerket eksempel på brukergrensesnitt design, fordi det leverer filen innholdet uten et slikt detaljnivå som avstand eller overskrifter mellom filene, og fordi det ikke krever filer består av linjer med tekst, men fungerer med alle slags data.

Blant Unix kritikere, katt(1) regnes som den kanoniske eksempel på dårlig brukergrensesnitt design, på grunn av sin woefully unobvious navn. Det er langt oftere brukes til å sprenge en enkelt fil til standard output enn til å slå sammen to eller flere filer., Navnet katten for de tidligere operasjon er like unintuitive som, si, LISP er cdr.

Ubrukelig bruk av catEdit

Ubrukelig bruk av katten (UUOC) er vanlig Unix-sjargong for kommando linje konstruksjoner som bare gir en funksjon av komfort til brukeren. Dette er også referert til som «katten misbruk». Aktiviteten på å fikse forekomster av UUOC er noen ganger kalt demoggification., Eksempel på en vanlig cat misbruk er gitt i prisen:

cat filename | command arg1 arg2 argn

Denne kan omskrives ved hjelp av omdirigering av stdin i stedet, på en av følgende former (den første er mer tradisjonell):

 command arg1 arg2 argn < filename <filename command arg1 arg2 argn

Utover andre ytelser, input omdirigering former tillate kommando for å utføre random access på fil, mens cat eksempler ikke., Dette er fordi omdirigering skjemaet åpnes filen som den stdin descriptor fil som-kommandoen, kan få full tilgang, mens cat form bare gir data som en strøm av bytes.

en Annen vanlig tilfelle der cat er unødvendig er der en kommando som standard til å operere på stdin, men vil lese fra en fil, hvis filnavnet er gitt som et argument., Dette er tilfelle for mange vanlige kommandoer; de følgende eksemplene

 cat "$file" | grep "$pattern" cat "$file" | less

i stedet kan skrives som

 grep "$pattern" "$file" less "$file"

En felles interaktiv bruk av cat for en enkelt fil for å overføre innholdet av en fil til standard output. Imidlertid, hvis resultatet er sendt eller videresendt, cat er unødvendig.

En cat skrevet med UUOC kan likevel være å foretrekke for lesbarhet grunner, som å lese en rørledning stream venstre-til-høyre kan være lettere å forklare., Også, en feil bruk av omdirigering symbol «>» i stedet for «<» (ofte tilstøtende på keyboard) kan slette innholdet i en fil, med andre ord jobben, og en måte å unngå dette på er å bruke cat med rør. Sammenlign:

 command < in | command2 > out <in command | command2 > out

med:

cat in | command | command2 > out

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *