Perché i file tar e gzip di solito hanno un'estensione?


8

Le estensioni dei file non sono necessarie su unice, tuttavia ogni file tarred, gzipped o bzipped che incontro ha un'estensione simile a .tar, .tar.gzo .tgz.

C'è qualche motivo speciale per quello o è solo una convenzione?

Risposte:


17

Inizialmente, sui sistemi unix, le estensioni sui nomi dei file erano una questione di convenzione. Hanno permesso a un essere umano di scegliere il programma giusto per aprire un file. La convenzione moderna prevede l'uso delle estensioni nella maggior parte dei casi; eccezioni comuni sono:

  • Solo i file normali hanno un'estensione, non le directory o i nomi dei dispositivi. Il semplice fatto di essere una directory o un dispositivo è un'indicazione del tipo di file sufficiente.
  • I file eseguibili che devono essere richiamati direttamente non hanno estensione. Il semplice fatto di essere eseguibile è un'informazione sufficiente per l'utente e il kernel non si preoccupa dei nomi dei file.
  • I file che iniziano con una parola in tutte le protezioni sono spesso file di testo, ad esempio README, TODO. A volte c'è una parte aggiuntiva che indicano una sottocategoria, ad esempio INSTALL.linux, INSTALL.solaris.
  • I file il cui nome inizia con un punto sono i file di configurazione o di stato di una particolare applicazione, e spesso non hanno un'estensione, ad esempio .bashrc, .profile, .emacs.
  • Esistono alcuni casi tradizionali, ad es Makefile.

(Questi sono casi comuni, non regole rigide).

La maggior parte dei formati di file binari contiene anche un tipo di intestazione che descrive le proprietà del file e in genere consente di identificare il formato del file tramite numeri magici . Il filecomando esamina queste informazioni e mostra le sue ipotesi.

A volte l'estensione del file fornisce più informazioni rispetto al formato del file, a volte è il contrario. Ad esempio molti formati di file sono costituiti da un archivio zip : librerie Java ( .jar), documenti OpenOffice ( .odt, ...), documento Microsoft Office ( .docx, ...), ecc. Un altro esempio sono i file di codice sorgente, in cui l'estensione indica il linguaggio di programmazione, che può essere difficile per un computer indovinare automaticamente dal contenuto del file. Al contrario, alcune estensioni sono selvaggiamente ambigue, ad esempio .oviene utilizzato per file di codice compilati (file oggetto ), ma l'ispezione del contenuto del file di solito rivela facilmente a quale tipo di macchina e sistema operativo è destinato il file oggetto.

Un vantaggio dell'estensione è che è molto più veloce riconoscerlo che aprire il file e cercare sequenze magiche. Ad esempio, il completamento dei nomi dei file nelle shell è quasi sempre basato sul nome (principalmente l'estensione), perché la lettura di ogni file in una directory di grandi dimensioni può richiedere molto tempo mentre la sola lettura dei nomi dei file è abbastanza veloce per una Tabstampa.

A volte la modifica dell'estensione di un file può consentire di dire come interpretare un file, quando due formati di file sono quasi, ma non del tutto identici. Ad esempio, un server Web potrebbe trattare .shtmle in modo .htmldiverso, il primo è sottoposto a pre-elaborazione lato server , il secondo viene servito così com'è.

Nel caso degli archivi gzip, gzipno file ricomprimere le cui estremità nome .gz, .tgze poche altre estensioni. In questo modo è possibile eseguire gzip *per comprimere tutti i file in una directory e i file già compressi non vengono modificati.


1
Le directory contenenti script daemon vengono talvolta fornite con estensione .d, ad esempio init.d, cron.d, ecc.
Lie Ryan,

8

Potrebbe non aver bisogno di un'estensione, ma sicuramente rende più facile identificarli nell'output di ls.


2
Esattamente. Di solito non c'è una bandiera "tieni la mia mano per favore" tar, quindi devi dirgli che tipo di archivio hai.
Kevin Cantu,

3

Le estensioni dei file sono principalmente una convenzione per gli umani che usano il sistema. Ci sono strumenti che usano l'estensione del nome per fare le cose. Ad esempio Nautilus mi mostra un'icona diversa in base all'estensione del file.

Se ti ho dato un file chiamato file, potresti non sapere come aprire questo file. Tuttavia, se ti dessi un file chiamato file.tar.gzo file.tarpotresti capirlo rapidamente e facilmente.


5
Nautilus utilizza più di una semplice estensione per determinare il tipo di file. Un file tar.gz senza l'estensione di solito ottiene ancora un simbolo di fantasia.
Steven D,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.