web-dev-qa-db-ja.com

名前を変更せずにディレクトリまたはファイルを非表示にするにはどうすればよいですか?

私のOCDは、直接対話しないので、名前を隠したくないディレクトリを望んでいます。

ドット表記を使用せずにディレクトリを非表示にするにはどうすればよいですか?

50
myusuf3

Nautilusにファイルが表示されないようにするだけでよいと仮定すると、GNOME Bugzillaにはこれに関する bug があります。ただし、現在、そのバグは解決されていません。

Nautilusにファイルが表示されないようにする別の方法があります。ディレクトリ内に.hiddenというファイルを作成すると、ファイルにリストされているファイル名は表示されません。

たとえば、以下は作成した.hiddenファイルです。このファイルは、.hiddenファイルと同じディレクトリにあるbまたはeという名前のファイルまたはフォルダーを非表示にします。

Example .hidden File

以下は、.hiddenファイルを含むフォルダーのスクリーンショットです。 ac、およびfの3つのファイルのみが表示されることに注意してください。 「。」のため、.hiddenファイルは表示されません。その名前の先頭に。 Example Folder

以下のスクリーンショットは、以前と同じフォルダーのものです。ただし、今回は Ctrl+H nautilusに非表示のファイルとフォルダーを表示させます。表示される追加のファイルがいくつかあることに注意してください。 「。」で始まる名前を持つため、以前は非表示にされていたファイルがいくつか表示されます。また、「。」で始まる名前はありませんが、「b」および「e」というファイルがありますが、.hiddenファイルにリストされているため非表示になっています。

Example Folders With Hidden Files Visible

.hiddenファイルに記載されているファイルは、nautilusでのみ非表示になります。 lsなどのツールは引き続き表示されます。 .hiddenファイルも再帰的ではありません。 .hiddenファイルが存在するのと同じディレクトリ内のファイルにのみ影響します。

フォーラムの一部の人々は先に進んで、ファイルを.hiddenファイルに追加しやすくするnautilusのスクリプトを作成しました。 最初のスクリプト には、スクリプトのインストール方法と使用方法に関する素晴らしい説明が含まれていますが、 2番目のスクリプト は少し簡潔で短いです。どちらかのスクリプトを使用して、生活を少し楽にしてください。

79
nhandler

UnixおよびLinuxは、.を含むフォルダーの非表示のみをサポートします。

本当に邪魔にならないようにしたいが、.sを持たせたくない場合は、すべてを非表示にするファイルまたはフォルダーと同じディレクトリの.hiddenに入れてください。 .hiddenはファイルマネージャーによって公開されず、ファイルの名前は変更されません。

13
lfaraone

コマンドラインから、.bash_aliasesファイルで次のようなものを試すことができます。

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

これにより、lshのように動作する新しいコマンドlsが追加されますが、.hiddenディレクトリにリストされているファイルは非表示になります。 (色付き出力や列リストなどの機能の一部も欠落しています。)

3
qneill

ファイルを非表示にする場合は、* NIX規則のように、前に.を付けて名前を変更するだけです。申し訳ありませんが、それだけです。

ただし、ファイル/ディレクトリのcontentを非表示にする場合は、ファイルのアクセス許可で非表示にできます。

したがって、secret_stashというフォルダーに多数のファイルがあるとします。自分(所有者)だけがr-x(読み取り、実行)を持ち、他のユーザーは---(アクセスなし)を持たないように変更できます。 r-xはディレクトリを表示するために必要な最小限の権限(その内容にアクセスして実行できるようにするため)であるため、そのフォルダ内のすべてはrootを除くすべてのユーザーから事実上隠されます。

NOTE:このデモをrootとして実行しており、myuserとしてフォルダーにアクセスしようとしています。

これを行うには、chmod 700 dirnameを実行します(700はrwx------を意味します)。

% mkdir secret_stash
% chmod 700 secret_stash

そして、ここにあります:

% 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

ここで、myuserからアクセスしようとすると、フォルダーまたはそのコンテンツにアクセスしようとして失敗します。

% 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

そして今、私は「秘密」という言葉を何度も言っていますが、それはすべての意味を失っています!!

2
jathanism

最初のオフ:ファイルを誰からも隠したい場合: linux intrusion detection system をインストールします。 ( Snort は例です)「root」からファイルを隠すこともできますが、「root」はそれらの設定を元に戻すこともできます。


ただし、ファイルを保持するディレクトリのアクセス許可を「ルート」に設定する方が簡単な場合があります。例:

 $ 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

また、ファイル1はビューから事実上隠されています。

ディレクトリが表示されます。ファイルは表示されません。ただし、「root」は常にすべてのファイルにアクセスできます。


chattrとともに、ファイルを不変にすることもできます。

Sudo su    
chattr + i {file}

そして、「root」でさえ、chattrが元に戻されない限り、ファイルを変更することはできません(そして、はい、「root」はそれを行うことができます)。

そのためのキーボードショートカットはありますか?

いいえ、これは手動で行う必要があります。

2
Rinzwind

nautilus-hideと呼ばれるNautilusの拡張機能もあります。これにより、ファイルまたはフォルダーを右クリックするだけで非表示にできます。

この拡張機能をインストールするには:Sudo apt-get install nautilus-hideターミナルで、またはUbuntu Software Centerで「nautilus hide」を検索します。

インストール後にNautilusを終了することを忘れないでください: Alt+F2 nautilus -qと入力します。

0
SNugues