Dizinleri veya dosyaları isimlerini değiştirmeden nasıl gizleyebilirim?


51

İçimdeki OKB, dizinleri istiyor Doğrudan isimleriyle etkileşime girmediğim için gizli isimlerini beğenmem.

Nokta gösterimini kullanmadan dizinleri nasıl gizleyebilirim?

Yanıtlar:


79

Yalnızca dosyaların nautilus'ta görünmesini gizlemeye önem verdiğinizi varsayarsak , GNOME Bugzilla'da bununla ilgili bir hata vardır . Ancak, şu anda, bu hata çözülmedi.

Dosyaları nautilus'ta görünmesini engellemenin başka bir yolu var. .hiddenBir dizinin içinde adı verilen bir dosya oluşturursanız, dosyada listelenen herhangi bir dosya adı gösterilmez.

Örneğin, aşağıda yarattığım bir .hidden dosyası var. Bu dosya , .hidden dosyasıyla aynı dizinde yer alan bveya adlandırılan dosyaları veya klasörleri egizleyecektir.

Örnek .hidden Dosyası

Aşağıda .hidden dosyasını içeren klasörün ekran görüntüsü verilmiştir. : Yalnızca üç dosyaları görmek unutmayın a, cve f. .Hidden dosyasını '.' Nedeniyle görmüyorsunuz. adının başında. Örnek Klasör

Aşağıdaki ekran görüntüsü, önceki ile aynı klasördedir. Ancak bu sefer, nautilus'un gizli dosya ve klasörleri görüntülemesine neden olmak için Ctrl+ ' Hya çarptım. Nasıl ortaya çıkan birkaç ek dosya olduğuna dikkat edin. Şimdi, daha önce '.' İle başlayan isimler nedeniyle gizlenmiş birkaç dosya görüyorsunuz. Ayrıca, 'b' ve 'e' adında, '.' İle başlayan isimleri olmamasına rağmen .hidden dosyasında listelenmesi nedeniyle gizlenmiş olan dosyalar da vardır.

Gizli Dosyaları Görünen Örnek Klasörler

.Hidden dosyasında belirtilen dosyalar sadece nautilus'ta gizlenecektir. Gibi araçlar lshala onları gösterecektir. .Hidden dosya da özyinelemeli değildir. Yalnızca, .hidden dosyasının bulunduğu dizindeki dosyaları etkiler.

Forumdaki bazı insanlar ileri gitti ve nautilus için .hidden dosyasına dosya eklemeyi kolaylaştıran komut dosyaları oluşturdu. İlk komut yüklemek ve komut kullanma hakkında güzel bir açıklama içerir, ancak ikinci komut biraz daha temiz ve daha kısa. Hayatınızı biraz kolaylaştırmak için her iki senaryoyu kullanmaktan çekinmeyin.


+1. Sadece bir not, eğer '`` boşluk içeren dosya veya klasör adı için eklemek zorunda kalırsanız , öyle değil. Sadece dosya veya klasör adını ekleyin
Anwar

13

Unix ve Linux sadece a ile olan klasörleri gizlemeyi destekler ..

Eğer gerçekten yol çıkmalarını istiyorum, ama onları yok etmek istiyorsanız .s, bir hepsini koymak .hiddendosyasıyla aynı dizinde veya gizlemek istediğiniz klasörü. .hiddendosya yöneticisi tarafından karşılanmayacak ve dosyalarınızın isim değişikliği olmayacak.


1
onları aynı yerde tutmak istiyorum :)
myusuf3 13

1
Bu çözüm onları aynı yerde tutacak. .hidden istemeseniz bile ana klasörünüzde olması gerekmez. Genellikle görmek istemediğim yapılandırma dosyalarına sahip çıkarılabilir sürücülerde kullanırım.
jumpnett

1
@jumpnett doğrudur, gizlemek istediğiniz dosyalarla aynı yere .hidden yerleştirin ve her satırda bir tane olmak üzere .hidden dosyasına dosya / dizin adlarını ekleyin. Harika çalışıyor!
ters

3

Komut satırından, .bash_aliasesdosyanızda böyle bir şey deneyebilirsiniz :

lsh() {
    [ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
    [ ! -f .hidden ] && ls $@
}

Bu lshgibi davranan yeni bir komut ekler lsancak bir .hiddendizinde listelenen dosyaları gizler . (Ayrıca, renklendirilmiş çıktı ve sütun listeleri gibi bazı özelliklerini de eksik.)


2

Dosyaları gizlemek istiyorsanız ., * NIX kurallarında olduğu gibi yalnızca bir öncekiyle onları yeniden adlandırmanız yeterlidir. Üzgünüm, ama bu kadar.

Ancak, dosyaların / dizinlerin içeriğini gizlemek istiyorsanız, bunu dosya izinleriyle yapabilirsiniz.

Yani, bir klasörde bir sürü dosyanız secret_stasholduğunu söyleyin, sadece sizin (sahibinin) sahip olması r-x(okuması, yürütmesi) ve başkalarının hiçbir ---şeyinin olmaması (erişim hakkı yok) olacak şekilde değiştirebilirsiniz. Yana r-xbir dizin görüntülemek için gereken minimum Perma (onun içeriğine erişmek için okumak ve onları görmek mümkün yürütmek), bu klasörün içindeki şey etkili bir herkesten gizlenir ancak root.

NOT : Bu demoyu farklı çalıştırıyorum rootve klasöre farklı erişmeye çalışıyorum.myuser

Bunu yapmak için koşmak chmod 700 dirname(700 demektir rwx------):

% mkdir secret_stash
% chmod 700 secret_stash

Ve işte burada:

% whoami
root
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash  
./  ../  secret.txt
% cat secret_stash/secret.txt 
TOP SECRET DATA

Şimdi ve ona erişmeye myuserçalışırsam, klasöre erişmeye çalışır veya içeriği başarısız olur:

% whoami
myuser
% ls -ld secret_stash
drwx------ 2 root root 4.0K 2010-08-12 07:59 secret_stash/
% ls secret_stash 
ls: cannot open directory secret_stash: Permission denied
% cat secret_stash/secret.txt
cat: secret_stash/secret.txt: Permission denied

Ve şimdi "gizli" kelimesini çok defa söyledim, anlamını yitirdi !!


2
Gerçekten gizli hale getirebilirsin, chmod -R 000 secret_stashsonra kimse okuyamaz!
Marco Ceppi

@Marco Ceppi - GİZLİ GÜVENLİK!
jathanizm

Bence için OP arıyordu ne - Tabii bu da "Obscurity" daha fazla "Güvenlik" dır;)
Marco Ceppi

2
@MarcoCeppi: chmod 000, her zaman 000'ı atlayabilen kök dışındaki dosyayı bile dosya sahibinden gizler. Ancak, dosyanın sahibi dosyayı okumak için hala iznini değiştirebilir. Ayrıca 000 izin gerçekten anlamlı hale getirmek için dosyanın sahipliğini kök olarak değiştirin.
Yalan Ryan

2

İlk kapalı: herhangi birinden bir dosyayı gizlemek istiyorsanız: bir linux izinsiz giriş algılama sistemi kurun . ( Snort bir örnektir) Bir dosyayı "root" dan bile gizleyebilirsiniz, ancak "root" da bu ayarı geri alabilecektir.


Ancak dosyayı tutan dizinin izinlerini "root" olarak ayarlamak daha kolay olabilir. Örnek:

 $ sudo su
 # mkdir tmp/
 # touch tmp/1
 # chown root:root tmp
 # chmod 000 tmp  
 # ls -l
total 4
d--------- 2 root root 4096 2015-08-07 06:36 tmp  
 # exit
exit
 $ ls
tmp
 $ cd tmp/
bash: cd: tmp/: Permission denied

Ve dosya 1görünümünden etkin bir şekilde gizlenir.

Dizin görünür olacak; dosya görünmeyecek. Ancak şunu unutmayın: "root" HER ZAMAN herhangi bir dosyaya erişebilir.


chattrSizinle birlikte dosyayı bile değişken hale getirebilirsiniz.

sudo su    
chattr + i {file}

ve "root" bile değiştirilemez - birincisi - chattrgeri döndürülür (ve evet "root" bunu yapabilir).

Bunun için herhangi bir Klavye Kısayolu?

Hayır, bu manuel olarak yapmanız gereken bir şey.


0

Ayrıca, Nautilus için nautilus-hide adında bir uzantı vardır, bu da herhangi bir dosyayı veya klasörü basit bir sağ tıklatarak gizlemenizi sağlar.

Bu eklentiyi kurmak için: sudo apt-get install nautilus-hidebir terminalde veya Ubuntu Yazılım Merkezinde "nautilus hide" aratın.

Kurulumdan sonra Nautilus'tan çıkmayı unutmayın: Alt+ F2ve yazın nautilus -q.

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.