Laman » bagaimana untuk » Mengapa Beberapa Nama Fail dan Folder Windows Mempunyai Dot di Hadapan Mereka?

    Mengapa Beberapa Nama Fail dan Folder Windows Mempunyai Dot di Hadapan Mereka?

    Walaupun sebahagian besar daripada kita hanya melihat nama fail dan folder biasa pada sistem Windows kita, orang lain mungkin menemui sesuatu yang lebih tidak dijangka - nama fail dan folder dengan titik di hadapan mereka. Kenapa ini berlaku? Posisi Q & A SuperUser hari ini mempunyai jawapan kepada soalan pembaca yang sangat ingin tahu.

    Sesi Soalan & Jawapan hari ini datang kepada kami dengan ihsan SuperUser-bahagian pembahagian Stack Exchange, kumpulan yang diketuai oleh komuniti laman web Q & A.

    Photo courtesy of Domiriel (Flickr).

    Soalan

    Pembaca SuperUser Niko Bellic ingin tahu mengapa beberapa fail Windows dan nama folder mempunyai titik di hadapannya:

    Sebagai contoh, dalam Dokumen saya direktori pada sistem Windows saya telah menemui folder berikut:

    • .ssh
    • .subversi

    Adakah ini semacam konvensyen penamaan yang saya tidak tahu?

    Kenapa beberapa fail Windows dan nama folder mempunyai titik di hadapannya?

    Jawapan

    Penyokong SuperUser mempunyai jawapan untuk kami:

    Konvensyen penamaan ini berasal dari sistem operasi seperti Unix (seperti Linux atau OSX) di mana ia bermakna a fail tersembunyi atau direktori. Ia berfungsi di mana-mana, tetapi penggunaan utamanya adalah untuk menyembunyikan fail konfigurasi di direktori rumah anda (iaitu. ~ / .cache / atau ~ / .plan) Mereka sering dipanggil dot fail.

    Fail dot boleh, dalam satu cara, dipanggil Unix tradisional bersamaan dengan AppData direktori pada Windows. Sementara itu, banyak program Linux sedang diubah untuk mengikuti spesifikasi direktori asas XDG, memindahkan konfigurasi mereka kepada ~ / .config / dan data lain untuk ~ / .cache / dan ~ / .local / share /. Ini menjadikannya lebih serupa dengan AppData \ Roaming dan AppData \ Local.

    Anda mempunyai ini .ssh dan .subversi direktori di Windows kerana anda telah menggunakan beberapa program (khususnya, OpenSSH dan Subversion) yang telah dialihkan untuk menggunakan API sistem Windows dan bukannya POSIX, tetapi belum disesuaikan untuk beberapa konvensyen Windows lain.

    Kadang-kadang penyesuaian ini dilangkau dengan sengaja untuk menjadikan kehidupan lebih mudah bagi orang-orang yang menggunakan persekitaran seperti Unix seperti Cygwin pada sistem Windows mereka. Sebagai contoh, Cygwin memasang set standard alat seperti Unix seperti ls, yang mengabaikan Windows bendera tersembunyi dan hanya menghormati fail dot nama. Ia juga lebih mudah untuk menyegerakkan konfigurasi antara komputer Windows dan Linux / BSD / OSX individu jika ia dikongsi di lokasi yang sama.

    Fail-fail ini biasanya ditemui di direktori rumah pengguna (iaitu. /home/name/.ssh di Linux atau C: \ Users \ name \ .ssh pada Windows 7 dan kemudian). Ia agak jarang bagi mereka untuk dimasukkan ke dalam Dokumen atau Dokumen saya subdirektori (mereka tidak mengandungi dokumen selepas semua).

    Seperti yang ditulis oleh Rob Pike di Google+, ini merupakan ciri tidak sengaja:

    Lama dahulu, kerana reka bentuk sistem fail Unix sedang diusahakan, penyertaan . dan ... muncul untuk menjadikan navigasi lebih mudah. Saya tidak pasti, tetapi saya percaya ... masuk semasa penyusunan semula Versi 2 apabila sistem fail menjadi hierarki (ia mempunyai struktur yang sangat berbeza pada awal). Apabila seseorang menaip ls, Walau bagaimanapun, fail-fail ini muncul, jadi sama ada Ken atau Dennis menambahkan ujian mudah kepada program itu. Ia adalah dalam penghimpun kemudian, tetapi kod yang dipersoalkan adalah bersamaan dengan sesuatu seperti ini:

    • jika (nama [0] == '.') terus;

    Kenyataan ini sedikit lebih pendek daripada yang sepatutnya, iaitu:

    • jika (strcmp (nama, ".") == 0 || strcmp (nama, "...") == 0) terus;

    Tetapi hei, mudah dan dua perkara yang dihasilkan.

    Pertama, duluan buruk telah ditetapkan. Banyak pemrogram malas lain yang memperkenalkan pepijat dengan membuat penyederhanaan yang sama. Fail sebenar bermula dengan tempoh sering dilangkau apabila ia perlu dikira.

    Kedua, dan lebih teruk lagi, idea a tersembunyi atau fail dot telah dicipta. Akibatnya, pengaturcara yang lebih malas mula menjatuhkan fail ke direktori rumah semua orang. Saya tidak mempunyai banyak perisian yang dipasang pada komputer yang saya gunakan untuk menaip ini, tetapi direktori rumah saya mempunyai kira-kira seratus dot fail dan saya tidak tahu apa yang sebahagian besar daripada mereka atau sama ada mereka masih diperlukan. Setiap penilaian nama fail yang melalui direktori rumah saya diperlahankan oleh enapcemar terkumpul ini.


    Mempunyai sesuatu untuk menambah penjelasannya? Bunyi dalam komen. Ingin membaca lebih banyak jawapan dari pengguna Stack Exchange yang berteknologi tinggi? Lihat thread perbincangan penuh di sini.