Mengapa file tar dan gzip biasanya memiliki ekstensi file?

8

Ekstensi file tidak diperlukan pada unices, masih setiap file tar, gzip, atau bzip yang saya temui memiliki ekstensi file seperti .tar, .tar.gzatau .tgz.

Apakah ada alasan khusus untuk itu atau itu hanya konvensi?

Ilmuwan gila
sumber

Jawaban:

17

Awalnya, pada sistem unix, ekstensi pada nama file adalah masalah konvensi. Mereka mengizinkan manusia untuk memilih program yang tepat untuk membuka file. Konvensi modern adalah menggunakan ekstensi dalam banyak kasus; pengecualian umum adalah:

  • Hanya file biasa yang memiliki ekstensi, bukan direktori atau nama perangkat. Fakta menjadi direktori atau perangkat saja sudah cukup sebagai indikasi jenis file.
  • Executable yang dimaksudkan untuk dipanggil secara langsung tidak memiliki ekstensi. Kenyataan menjadi executable adalah informasi yang cukup untuk pengguna, dan kernel tidak peduli dengan nama file.
  • File yang diawali dengan kata dalam semua huruf besar seringkali berupa file teks, mis . README, TODO. Kadang-kadang ada bagian tambahan yang menunjukkan subkategori, misalnya INSTALL.linux, INSTALL.solaris.
  • File yang namanya dimulai dengan sebuah titik yang konfigurasi atau negara file dari aplikasi tertentu, dan sering tidak memiliki ekstensi, misalnya .bashrc, .profile, .emacs.
  • Ada beberapa kasus tradisional, misalnya Makefile.

(Ini adalah kasus umum, bukan aturan yang sulit dan cepat.)

Sebagian besar format file biner juga mengandung beberapa jenis header yang menggambarkan properti file, dan biasanya memungkinkan format file diidentifikasi melalui angka ajaib . The fileperintah melihat informasi ini dan menunjukkan Anda tebakannya.

Terkadang ekstensi file memberikan lebih banyak informasi daripada format file, terkadang sebaliknya. Misalnya banyak format file terdiri dari arsip zip : Java libraries ( .jar), dokumen OpenOffice ( .odt, ...), dokumen Microsoft Office ( .docx, ...), dll. Contoh lainnya adalah file kode sumber, di mana ekstensi menunjukkan bahasa pemrograman, yang dapat sulit bagi komputer untuk menebak secara otomatis dari isi file. Sebaliknya, beberapa ekstensi sangat ambigu, misalnya .odigunakan untuk file kode yang dikompilasi (file objek ), tetapi pemeriksaan konten file biasanya dengan mudah mengungkapkan jenis mesin dan sistem operasi untuk file objek tersebut.

Keuntungan dari ekstensi adalah jauh lebih cepat mengenalinya daripada membuka file dan mencari urutan ajaib. Misalnya penyelesaian nama file dalam shell hampir selalu didasarkan pada nama (terutama ekstensi), karena membaca setiap file dalam direktori besar dapat memakan waktu lama sedangkan hanya membaca nama file cukup cepat untuk Tabpers.

Kadang-kadang mengubah ekstensi file dapat memungkinkan Anda untuk mengatakan bagaimana file ditafsirkan, ketika dua format file hampir, tetapi tidak sepenuhnya identik. Misalnya server web mungkin memperlakukan .shtmldan .htmlberbeda, yang pertama menjalani beberapa preprocessing sisi-server , yang terakhir dilayani apa adanya.

Dalam hal arsip gzip, gziptidak akan mengkompres ulang file yang namanya berakhir .gz, .tgzdan beberapa ekstensi lainnya. Dengan begitu Anda dapat menjalankan gzip *untuk mengompres setiap file dalam direktori, dan file yang dikompresi tidak dimodifikasi.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1
Direktori yang berisi skrip daemon juga kadang-kadang diberikan ekstensi .d, misalnya init.d, cron.d, dll.
Lie Ryan
8

Mereka mungkin tidak memerlukan ekstensi, tapi itu pasti membuat mereka lebih mudah diidentifikasi dalam output ls.

developmentalinsanity
sumber
2
Persis. Biasanya tidak ada bendera untuk "pegang tanganku" tar, jadi Anda harus memberi tahu jenis arsip yang Anda punya.
Kevin Cantu
3

Ekstensi file terutama merupakan konvensi untuk manusia yang menggunakan sistem. Ada alat yang menggunakan ekstensi nama file untuk melakukan sesuatu. Misalnya Nautilus menunjukkan kepada saya ikon berbeda berdasarkan ekstensi file.

Jika saya memberi Anda sebuah file bernama file, Anda mungkin tidak tahu cara membuka file ini. Namun, jika saya memberi Anda file bernama file.tar.gzatau file.tarAnda bisa dengan cepat dan mudah mengetahuinya.

Stefan Lasiewski
sumber
5
Nautilus menggunakan lebih dari sekedar ekstensi file untuk menentukan jenis file. File tar.gz tanpa ekstensi biasanya masih akan mendapatkan simbol mewah.
Steven D