如何在不更改名称的情况下隐藏目录或文件?

我的强迫症想要的目录我不喜欢被隐藏的名字,因为我不直接与他们互动。

如何在不使用点表示法的情况下隐藏目录?

假设你只关心隐藏文件在nautilus中显示,那么GNOME Bugzilla就会出现这个问题。 但是,目前,该bug尚未解决。

还有另一种隐藏文件不会出现在nautilus中的方法。 如果在目录中创建名为.hidden的文件,则不会显示该文件中列出的任何文件名。

例如,下面是我创建的.hidden文件。 此文件将隐藏名为be任何文件或文件夹,这些文件或文件夹与.hidden文件位于同一目录中。

示例.hidden文件

下面是包含.hidden文件的文件夹的屏幕截图。 请注意,您只能看到三个文件: acf 。 由于’。’,您看不到.hidden文件。 在它的名字的开头。 示例文件夹

下面的屏幕截图与之前的文件夹相同。 但是,这一次,我按Ctrl + H使nautilus显示隐藏的文件和文件夹。 请注意如何显示多个其他文件。 您现在看到之前隐藏的几个文件,因为名称以’。’开头。 现在还有名为’b’和’e’的文件,虽然没有以’。’开头的名字,但由于列在.hidden文件中而被隐藏。

隐藏文件可见的示例文件夹示例

.hidden文件中提到的文件只会隐藏在nautilus中。 像ls这样的工具仍会显示它们。 .hidden文件也不是递归的。 它只影响.hidden文件所在目录中的文件。

论坛上的一些人已经开始为nautilus创建脚本,这样可以更轻松地将文件添加到.hidden文件中。 第一个脚本包含有关如何安装和使用脚本的很好的解释,但第二个脚本更简洁一些。 随意使用任何一个脚本,让您的生活更轻松。

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目录中列出的文件。 (它也缺少一些function,如彩色输出和列列表。)

如果你想隐藏文件,你只需要用前面的文件重命名它们. ,按照* NIX惯例。 对不起,不过就是这样。

但是,如果要隐藏文件/目录的内容 ,可以使用文件权限执行此操作。

所以说你在一个名为secret_stash的文件夹中有一堆文件,你可以改变它,这样只有你(所有者)有rx (读,执行)而其他人都没有--- (无访问权限)。 由于rx是查看目录所需的最小权限(读取以访问其内容并执行以便能够查看它们),因此除了root ,该文件夹内的任何内容都被有效地隐藏。

注意 :我以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入侵检测系统 。 ( Snort就是一个例子)您甚至可以从“root”隐藏文件,但“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还有一个名为nautilus-hide的扩展程序,它允许您通过简单的右键单击隐藏任何文件或文件夹。

要安装此扩展程序: sudo apt-get install nautilus-hide在终端中,或在Ubuntu软件中心中搜索“nautilus hide”。

安装后不要忘记退出Nautilus: Alt + F2并键入nautilus -q