İsimleri nokta ile başlayan dizinlerde bu kadar özel olan ne?


25

Bu ikisi arasındaki farkın ne olduğunu merak ediyordum:

~/somedirectory/file.txt

ve

~/.somedirectory/file.txt

Google’da bunu sormak gerçekten zor, çünkü .ne diyeceğimi bile bilmiyordum. Ancak biri noktayı dahil etmek ve dışarıda bırakmak arasındaki farkı tanımlayabilir mi?

Yanıtlar:


18

Unix benzeri sistemlerde, tüm dizinler iki giriş içerir .ve.. bunlar sırasıyla dizinin ve üst öğesinin kısaltmasıdır. Bu girişler çoğu zaman ilgi çekici değildir, bu yüzden lsonları gizler ve *onları içermeyen gibi joker karakterleri gizler . Daha genel olarak lsve joker karakterler, adı a ile başlayan tüm dosyaları gizler .; Bu dışlamak için basit bir yoludur .ve ..ve kullanıcıların listeleri diğer dosyaları gizlemek için izin verir. Listelerden dışlanma dışında, bu dosyalar için özel bir şey yoktur.

Unix, kullanıcı başına yapılandırma dosyalarını kullanıcının giriş dizininde saklar. Tüm yapılandırma dosyaları dosya listelerinde göründüyse, giriş dizini, kullanıcıların her gün umursamadıkları dosyalarla karıştırılır. Bu yüzden konfigürasyon dosyaları daima şöyle başlar .: tipik olarak, Foo uygulamasının konfigürasyon dosyasına .fooveya benzeri bir ad verilir .foorc. Bu nedenle, kullanıcı konfigürasyon dosyaları genellikle nokta dosyaları olarak bilinir .


1
"Daha genel lsve joker ismi bir ile başlayan tüm dosyaları gizlemek .; bu dışlamak için basit bir yoludur .ve ..ve kullanıcıların listeleri diğer dosyaları gizlemek için izin verir." Bu, şöyle gözüküyor: Nokta ile başlayan dosya / dizinleri gizleme kavramı aslında gizlenmiş gibi göründü . ... Fakat daha sonra, insanlar bazı dosyaları / dizinleri gizleyebilmenin bunun içinde bir değeri olduğunu anladılar ve bu yüzden gizlemek istedikleri dosyaların başında bir nokta koymaya başladılar. Bu gerçekten böyle mi yoksa sadece bir spekülasyon mu?
Utku

3
: İlk en azından @Utku Aslında, tam tersi oldu orijinal geliştirici sadece gizlemek için amaçlanan .ve ..fakat bir hata yapmış . Bununla birlikte, bazı kullanıcılar yararlı bulduğu için onu tamir etmekten vazgeçmiş olması muhtemeldir ve kullanıcı konfigürasyon dosyalarının başlangıç ​​nedeni .kesinlikle lsev dizinindeki çıktının dağılmamasıdır . Burada bununla ilgili bir sorumuz olduğunu düşünüyorum ama bulamıyorum, yanlış etiketlenmiş olabilir.
Gilles 'SO- kötülükten vazgeçmeyi'

15

Bir nokta ile başlayan direktörlerin .gizlenmiş olduğu kabul edilir. Bunun anlamı:

  • ~/somedirectoryve ~/.somedirectoryfarklı dizinler. Öyle ~/somedirectoryolsaydı ve yaptıysanız mkdir ~/.somedirectory, bir File Existsmesaj ile başarısız olmaz .

  • lsKomutunun bu dizinleri ile başlayan gösterilmez.

  • Her ls -aiki dizini de gösterecek


6
ls -A ile başlayan dosya ve dizinleri görüntüler. ama içermez. ve .. girişleri.
Julian

7

Unix dosya sistemi ile ilgili detaylar için standardı kontrol ediniz . Özellikle, nokta dosyaları bir kullanıcı dizinindeki yapılandırma dosyaları için kullanılır ve bir programda birden fazla varsa, onları bir nokta dizinine yerleştirmelidir.

Bu, dosyaları bulmak istemedikleri sürece dosyaları kullanıcıdan gizler . Bu şekilde yola giremezler ve aletler kazayla karışmaz.


4

Lider "." Bir dizinde veya dosya adında, bir lskomut yaparken bu dizinin veya dosyanın gizlenmesine neden olur .


1
"." İle başlayan tüm dosyaları görüntüleyebilirsiniz. ls -a ile.
Sardathrion - Monica

1

@DaveNay'in dediği gibi, bu süre dosya veya dizinin gizlenmesine neden olur.

İkinci gizli sorunuz için, bu kelimeyi google’da şu şekilde ararsınız:

Sadece arama kutusuna yazınız: addan önceki linux dönemi

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.