myusuf3 Asked: 2010-08-13 05:27:21 +0800 CST2010-08-13 05:27:21 +0800 CST 2010-08-13 05:27:21 +0800 CST 如何在不更改名称的情况下隐藏目录或文件? 772 我的强迫症想要隐藏我不喜欢的目录,因为我不直接与它们交互。 如何在不使用点符号的情况下隐藏目录? gui directory hidden-files 6 个回答 Voted Best Answer nhandler 2010-10-17T10:21:28+08:002010-10-17T10:21:28+08:00 假设您只关心隐藏文件以使其不显示在 nautilus 中,那么GNOME Bugzilla 上有一个关于此的错误。但是,目前,该错误尚未解决。 还有另一种隐藏文件不出现在 nautilus 中的方法。如果您在目录中创建一个名为.hidden的文件,则不会显示该文件中列出的任何文件名。 例如,下面是我创建的 .hidden 文件。此文件将隐藏与 .hidden 文件命名b或e位于同一目录中的所有文件或文件夹。 下面是包含 .hidden 文件的文件夹的屏幕截图。请注意,您只能看到三个文件:a、c和f. 由于“。”,您看不到 .hidden 文件。在它名字的开头。 下面的屏幕截图与以前的文件夹相同。但是,这一次,我点击Ctrl+H使 nautilus 显示隐藏的文件和文件夹。请注意如何显示几个附加文件。您现在可以看到之前由于名称以“.”开头而被隐藏的几个文件。现在还有名为“b”和“e”的文件,虽然它们的名称没有以“.”开头,但由于在 .hidden 文件中列出而被隐藏。 .hidden 文件中提到的文件只会在 nautilus 中隐藏。像这样的工具ls仍然会显示它们。.hidden 文件也不是递归的。它只影响与 .hidden 文件所在目录相同的文件。 论坛上的一些人已经为 nautilus 创建了脚本,可以更轻松地将文件添加到 .hidden 文件。第一个脚本包含一个关于如何安装和使用脚本的很好的解释,但第二个脚本更简洁一些。随意使用任一脚本,让您的生活更轻松。 lfaraone 2010-08-13T05:35:00+08:002010-08-13T05:35:00+08:00 Unix 和 Linux 仅支持隐藏带有.. 如果你真的想让它们不碍事,但又想让它们没有.s,请将它们全部放在.hidden与要隐藏的文件或文件夹相同的目录中。.hidden文件管理器不会暴露,您的文件也不会更改名称。 qneill 2011-11-01T18:41:42+08:002011-11-01T18:41:42+08:00 从命令行你可以在你的.bash_aliases文件中尝试这样的事情: lsh() { [ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)"; [ ! -f .hidden ] && ls $@ } 这会添加一个新命令lsh,其行为类似于ls,但会隐藏目录中列出的.hidden文件。(它还缺少一些功能,如彩色输出和列列表。) jathanism 2010-08-13T07:14:28+08:002010-08-13T07:14:28+08:00 如果你想隐藏文件,你只需要用前面的 重命名它们.,就像 *NIX 约定一样。抱歉,仅此而已。 但是,如果您想隐藏文件/目录的内容,您可以使用文件权限来执行此操作。 因此,假设您在名为 的文件夹中有一堆文件secret_stash,您可以对其进行更改,以便只有您(所有者)拥有r-x(读取、执行)而其他人一无所有---(无访问权限)。由于r-x是查看目录所需的最低权限(读取以访问其内容并执行以查看它们),因此该文件夹内的任何内容实际上对所有人都隐藏,但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 现在我已经说了很多次“秘密”这个词,它已经失去了所有意义! Rinzwind 2015-08-07T23:16:47+08:002015-08-07T23:16:47+08:00 第一关:如果您想对任何人隐藏文件:安装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”可以做到这一点)。 有任何键盘快捷键吗? 不,这是您需要手动执行的操作。 SNugues 2015-08-08T01:00:15+08:002015-08-08T01:00:15+08:00 Nautilus 还有一个名为nautilus-hide的扩展,它允许您通过简单的右键单击来隐藏任何文件或文件夹。 要安装此扩展程序: sudo apt-get install nautilus-hide在终端中,或在 Ubuntu 软件中心搜索“nautilus hide”。 安装后不要忘记退出 Nautilus:Alt+F2并输入nautilus -q.
假设您只关心隐藏文件以使其不显示在 nautilus 中,那么GNOME Bugzilla 上有一个关于此的错误。但是,目前,该错误尚未解决。
还有另一种隐藏文件不出现在 nautilus 中的方法。如果您在目录中创建一个名为
.hidden
的文件,则不会显示该文件中列出的任何文件名。例如,下面是我创建的 .hidden 文件。此文件将隐藏与 .hidden 文件命名
b
或e
位于同一目录中的所有文件或文件夹。下面是包含 .hidden 文件的文件夹的屏幕截图。请注意,您只能看到三个文件:
a
、c
和f
. 由于“。”,您看不到 .hidden 文件。在它名字的开头。下面的屏幕截图与以前的文件夹相同。但是,这一次,我点击Ctrl+H使 nautilus 显示隐藏的文件和文件夹。请注意如何显示几个附加文件。您现在可以看到之前由于名称以“.”开头而被隐藏的几个文件。现在还有名为“b”和“e”的文件,虽然它们的名称没有以“.”开头,但由于在 .hidden 文件中列出而被隐藏。
.hidden 文件中提到的文件只会在 nautilus 中隐藏。像这样的工具
ls
仍然会显示它们。.hidden 文件也不是递归的。它只影响与 .hidden 文件所在目录相同的文件。论坛上的一些人已经为 nautilus 创建了脚本,可以更轻松地将文件添加到 .hidden 文件。第一个脚本包含一个关于如何安装和使用脚本的很好的解释,但第二个脚本更简洁一些。随意使用任一脚本,让您的生活更轻松。
Unix 和 Linux 仅支持隐藏带有
.
.如果你真的想让它们不碍事,但又想让它们没有
.
s,请将它们全部放在.hidden
与要隐藏的文件或文件夹相同的目录中。.hidden
文件管理器不会暴露,您的文件也不会更改名称。从命令行你可以在你的
.bash_aliases
文件中尝试这样的事情:这会添加一个新命令
lsh
,其行为类似于ls
,但会隐藏目录中列出的.hidden
文件。(它还缺少一些功能,如彩色输出和列列表。)如果你想隐藏文件,你只需要用前面的 重命名它们
.
,就像 *NIX 约定一样。抱歉,仅此而已。但是,如果您想隐藏文件/目录的内容,您可以使用文件权限来执行此操作。
因此,假设您在名为 的文件夹中有一堆文件
secret_stash
,您可以对其进行更改,以便只有您(所有者)拥有r-x
(读取、执行)而其他人一无所有---
(无访问权限)。由于r-x
是查看目录所需的最低权限(读取以访问其内容并执行以查看它们),因此该文件夹内的任何内容实际上对所有人都隐藏,但root
.注意:我正在运行此演示
root
,并尝试以myuser
为此,您运行
chmod 700 dirname
(700 表示rwx------
):这里是:
现在,如果我尝试从 访问它
myuser
,尝试访问该文件夹或其内容将失败:现在我已经说了很多次“秘密”这个词,它已经失去了所有意义!
第一关:如果您想对任何人隐藏文件:安装linux 入侵检测系统。(Snort就是一个例子)您甚至可以从“root”隐藏文件,但“root”也可以恢复这些设置。
但是将保存文件的目录的权限设置为“root”可能更容易。例子:
并且该文件
1
有效地隐藏在视图之外。目录将可见;文件将不可见。但请注意:“root”将始终可以访问任何文件。
与您一起,
chattr
您甚至可以使文件不可变。甚至“root”也不能改变文件——除非——文件
chattr
被还原(是的,“root”可以做到这一点)。不,这是您需要手动执行的操作。
Nautilus 还有一个名为nautilus-hide的扩展,它允许您通过简单的右键单击来隐藏任何文件或文件夹。
要安装此扩展程序:
sudo apt-get install nautilus-hide
在终端中,或在 Ubuntu 软件中心搜索“nautilus hide”。安装后不要忘记退出 Nautilus:Alt+F2并输入
nautilus -q
.