私のOCDは、直接対話しないので、名前を隠したくないディレクトリを望んでいます。
ドット表記を使用せずにディレクトリを非表示にするにはどうすればよいですか?
Nautilusにファイルが表示されないようにするだけでよいと仮定すると、GNOME Bugzillaにはこれに関する bug があります。ただし、現在、そのバグは解決されていません。
Nautilusにファイルが表示されないようにする別の方法があります。ディレクトリ内に.hidden
というファイルを作成すると、ファイルにリストされているファイル名は表示されません。
たとえば、以下は作成した.hiddenファイルです。このファイルは、.hiddenファイルと同じディレクトリにあるb
またはe
という名前のファイルまたはフォルダーを非表示にします。
以下は、.hiddenファイルを含むフォルダーのスクリーンショットです。 a
、c
、およびf
の3つのファイルのみが表示されることに注意してください。 「。」のため、.hiddenファイルは表示されません。その名前の先頭に。
以下のスクリーンショットは、以前と同じフォルダーのものです。ただし、今回は Ctrl+H nautilusに非表示のファイルとフォルダーを表示させます。表示される追加のファイルがいくつかあることに注意してください。 「。」で始まる名前を持つため、以前は非表示にされていたファイルがいくつか表示されます。また、「。」で始まる名前はありませんが、「b」および「e」というファイルがありますが、.hiddenファイルにリストされているため非表示になっています。
.hiddenファイルに記載されているファイルは、nautilusでのみ非表示になります。 ls
などのツールは引き続き表示されます。 .hiddenファイルも再帰的ではありません。 .hiddenファイルが存在するのと同じディレクトリ内のファイルにのみ影響します。
フォーラムの一部の人々は先に進んで、ファイルを.hiddenファイルに追加しやすくするnautilusのスクリプトを作成しました。 最初のスクリプト には、スクリプトのインストール方法と使用方法に関する素晴らしい説明が含まれていますが、 2番目のスクリプト は少し簡潔で短いです。どちらかのスクリプトを使用して、生活を少し楽にしてください。
UnixおよびLinuxは、.
を含むフォルダーの非表示のみをサポートします。
本当に邪魔にならないようにしたいが、.
sを持たせたくない場合は、すべてを非表示にするファイルまたはフォルダーと同じディレクトリの.hidden
に入れてください。 .hidden
はファイルマネージャーによって公開されず、ファイルの名前は変更されません。
コマンドラインから、.bash_aliases
ファイルで次のようなものを試すことができます。
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
これにより、lsh
のように動作する新しいコマンドls
が追加されますが、.hidden
ディレクトリにリストされているファイルは非表示になります。 (色付き出力や列リストなどの機能の一部も欠落しています。)
ファイルを非表示にする場合は、* 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
そして今、私は「秘密」という言葉を何度も言っていますが、それはすべての意味を失っています!!
最初のオフ:ファイルを誰からも隠したい場合: 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」はそれを行うことができます)。
そのためのキーボードショートカットはありますか?
いいえ、これは手動で行う必要があります。
nautilus-hideと呼ばれるNautilusの拡張機能もあります。これにより、ファイルまたはフォルダーを右クリックするだけで非表示にできます。
この拡張機能をインストールするには:Sudo apt-get install nautilus-hide
ターミナルで、またはUbuntu Software Centerで「nautilus hide」を検索します。
インストール後にNautilusを終了することを忘れないでください: Alt+F2 nautilus -q
と入力します。