由于我并不直接与它们交互,所以我内心的强迫症使我不喜欢的目录名称被隐藏。
如何在不使用点符号的情况下隐藏目录?
答案1
假设你只关心隐藏文件不让它出现在 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 文件添加文件变得更加容易。第一个脚本包含有关如何安装和使用脚本的详细解释,但第二个脚本更简洁、更简短。您可以随意使用任一脚本,让您的工作更轻松。
答案2
Unix 和 Linux 仅支持隐藏以 为后缀的文件夹.
。
如果您确实想让它们不碍事,但又希望它们没有.
名称,请将它们全部放在.hidden
与要隐藏的文件或文件夹相同的目录中。.hidden
它们不会被文件管理器暴露,并且您的文件也不会更改名称。
答案3
您可以在命令行中在文件中尝试如下操作.bash_aliases
:
lsh() {
[ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls $@ | grep -v -F "$(cat .hidden)";
[ ! -f .hidden ] && ls $@
}
这将添加一个新命令lsh
,其行为类似于ls
,但会隐藏.hidden
目录中列出的文件。(它还缺少一些功能,如彩色输出和列列表。)
答案4
第一步:如果你想隐藏某个文件,请安装一个Linux入侵检测系统。 (呼噜是一个例子)您甚至可以从“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”可以做到这一点)。
有这个键盘快捷键吗?
不,这是您需要手动完成的事情。