UNIX / Linux tidak memiliki warisan awal DOS / CP / M yang sama dengan Windows. Jadi ekstensi umumnya kurang signifikan untuk sebagian besar utilitas dan alat UNIX.
Saya biasanya menggunakan lingkungan baris perintah saja. Ekstensi dalam lingkungan seperti itu di Linux tidak terlalu signifikan kecuali untuk kenyamanan bagi operator atau pengguna. (Saya tidak punya cukup pengalaman dengan KDE atau GNOME untuk mengetahui bagaimana para pembuat file mereka menangani ekstensi.)
Tetapi kenyamanan seperti itu biasanya penting. Jika config.ini
benar-benar dalam format ".ini" standar Microsoft, saya akan membiarkan ekstensi berdiri. File teks lama biasa biasanya tidak memiliki ekstensi di Linux, tetapi ini tidak universal untuk semua file konfigurasi program. Programmer biasanya dapat memutuskan itu.
Saya pikir ".txt" berguna di Linux jika Anda ingin menekankan bahwa itu BUKAN file konfigurasi atau dokumen yang dapat dibaca mesin lainnya. Namun, dalam distribusi sumber, konvensi ini untuk memberi nama file seperti itu semua huruf besar tanpa ekstensi (yaitu README, INSTALL, COPYING, dll.)
Ada beberapa standar dan konvensi tetapi tidak ada yang menghentikan Anda memberi nama apa pun yang Anda inginkan, kecuali jika Anda berbagi sesuatu dengan orang lain.
Di Windows, penamaan file .exe
menunjukkan ke shell (biasanya explorer.exe
) bahwa itu adalah file yang dapat dieksekusi. UNIX membangun pengetahuan ini ke dalam izin sistem file. Jika x
bit yang tepat (lihat man chmod
) diatur, itu dikenali dieksekusi oleh shell dan fungsi kernel (saya percaya). Selain itu, Linux tidak peduli, sebagian besar shell tidak akan peduli, dan sebagian besar program mencari di dalam file untuk menemukan itu "tipe."
Tentu saja, ada perintah bagus file
yang dapat menganalisis file dan memberi tahu Anda apa itu dengan tingkat kepastian. Saya percaya jika tidak dapat mencocokkan data dalam file dengan jenis yang diketahui, dan jika hanya berisi karakter ASCII / Unicode yang dapat dicetak, maka file tersebut diasumsikan sebagai file teks.
@ Bruce Ediger di bawah ini benar-benar benar. Tidak ada apa-apa di tingkat kernel atau sistem file, yaitu Linux itu sendiri, menegakkan atau merawat bahwa isi file harus sesuai dengan namanya, atau program yang seharusnya memahaminya. Ini tidak berarti tidak mungkin membuat shell atau utilitas peluncur untuk melakukan sesuatu berdasarkan nama file.
Tidak seperti Windows, dalam sistem UNIX tipe file tidak ditentukan oleh ekstensi. Ekstensi file adalah dan hanya merupakan indikator visual untuk manusia. Anda dapat memberi nama JPEG foo.c dan membukanya di Gimp. Kontras lain dari Windows adalah bahwa pada sistem UNIX Anda harus menggunakan seluruh nama file, sementara Windows akan sering mengurusnya untuk Anda (misalnya, menjalankan hanya
explorer
vs.explorer.exe
). Pada UNIXfoo.sh
harus disebutfoo.sh
, bukan hanyafoo
.Dengan konvensi, orang cenderung menggunakan serangkaian ekstensi yang umum. Praktek ini, meskipun tidak perlu, mungkin bermanfaat bagi umat manusia pada umumnya.
sumber
This practice…is probably beneficial for humanity at large
file
perintah. (#!
adalah angka ajaib untuk skrip sh, misalnya)Secara umum saya telah menemukan menjaga konvensi yang ketat, deskriptif, penamaan menjadi sangat membantu. Anda tidak memerlukan ekstensi di Unix, tetapi saya akan menyimpannya karena dua alasan:
1) Jika file itu akan pernah dibaca oleh mesin windows, itu akan lebih mudah untuk dibuka daripada mencoba menemukan "buka dengan ...".
2) Ekstensi membantu Anda, pengguna, mencari tahu apa yang sedang dilakukan file. Di lab kami: .txt = file teks .sgi = irix biner yang dikompilasi .linux = linux biner yang dikompilasi
Jika Anda harus menggunakan mesin unix yang lebih lama (kami masih menggunakan IRIX), perlu diingat bahwa carriage return berbeda di * nix Machines, dan program mungkin tidak menghargai jika Anda mencoba dan membuka file dengan pengembalian carriage windows.
sumber
Anda mungkin ingin membaca Pengenalan Sistem File Unix .
sumber
Ada beberapa jawaban bagus. Saya ingin menjawab lebih lanjut bagian dari pertanyaan awal: "Sumber daya umum tentang bagaimana Linux menangani ekstensi file akan berguna."
Dimungkinkan untuk mendaftarkan ekstensi, sehingga Linux selalu membuka ekstensi tertentu dengan program tertentu. Fasilitas ini disebut binfmt .
sumber
.txt dapat dibuka melalui aplikasi yang berbeda. tetapi yang penting adalah bahwa itu digunakan untuk mengklasifikasikan file dalam tipe tertentu. Anda dapat melihat apakah kami menyimpan file yang sama menggunakan .html file tersebut mencoba dibuka di internet explorer. aplikasi dibuat sesuai untuk mendukung tipe file seperti itu. Jika Anda menggunakan .html di atas, kompiler akan mencoba mencari atribut html di dalamnya dan menunjukkan hasilnya. sama dengan ekstensi lainnya. File .ini dapat dibaca sebagai teks tetapi ekstensi mengklasifikasikannya sebagai file konfigurasi dan karenanya kompiler memperlakukannya sebagai file konfigurasi bukan file teks biasa karena file teks hanya satu set catatan dan tidak memiliki fungsi spesifik seperti itu. ini.hence Anda tidak ingin mengubah ekstensi ini ke teks
sumber