Definizione del file in gergo

La versione del file in gergo 4.4.7 elenca questo come la definizione di cat:

  1. Per sputare un intero file sullo schermo o qualche altro sink di output senza pausa (syn. esplosione).
  2. Per estensione, per scaricare grandi quantità di dati a un target non preparato o senza alcuna intenzione di navigare con attenzione. Uso: considerato sciocco. Rari siti Unix esterni. Vedi anche dd, BLT.,

Tra i fan di Unix, cat(1) è considerato un eccellente esempio di design dell’interfaccia utente, perché fornisce il contenuto del file senza tale verbosità come spaziatura o intestazioni tra i file, e perché non richiede che i file siano costituiti da righe di testo, ma funziona con qualsiasi tipo di dati.

Tra i critici di Unix, cat(1) è considerato l’esempio canonico di cattiva progettazione dell’interfaccia utente, a causa del suo nome tristemente discreto. È molto più spesso usato per far saltare un singolo file in standard output piuttosto che concatenare due o più file., Il nome cat per l’operazione precedente è altrettanto poco intuitivo come, ad esempio, il cdr di LISP.

Uso inutile di catEdit

L’uso inutile di cat (UUOC) è un gergo Unix comune per i costrutti da riga di comando che forniscono solo una funzione di convenienza per l’utente. Questo è anche indicato come”abuso di gatto”. L’attività di fissaggio delle istanze di UUOC è talvolta chiamata demoggificazione., Esempio di un comune cat abuso è dato in premio:

cat filename | command arg1 arg2 argn

Questo può essere riscritto utilizzando il reindirizzamento di stdin, invece, in una delle seguenti forme (il primo è più tradizionale:

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

al di Là di altri benefici, il reindirizzamento dell’input form consentono di comando per eseguire l’accesso casuale su file, mentre il cat esempi non., Questo perché il modulo di reindirizzamento apre il file come descrittore di file stdin a cui il comando può accedere completamente, mentre il modulocat fornisce semplicemente i dati come un flusso di byte.

Un altro caso comune in cuicat non è necessario è dove un comando di default opera su stdin, ma leggerà da un file, se il nome del file è dato come argomento., Questo è il caso per molti comandi comuni; i seguenti esempi

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

può invece essere scritto come:

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

Un comune uso interattivo di cat per un singolo file di output il contenuto di un file sullo standard output. Tuttavia, se l’output viene convogliato o reindirizzato, cat non è necessario.

A cat scritto con UUOC potrebbe essere ancora preferito per motivi di leggibilità, poiché leggere un flusso convogliato da sinistra a destra potrebbe essere più facile da concettualizzare., Inoltre, un uso errato del simbolo di reindirizzamento “>” invece di “<” (spesso adiacenti alle tastiere) possono eliminare definitivamente il contenuto di un file, in altre parole, stracciando, e un modo per evitare questo è quello di utilizzare cat con i tubi. Confronta:

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

con:

cat in | command | command2 > out

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *