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

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

由于我并不直接与它们交互,所以我内心的强迫症使我不喜欢的目录名称被隐藏。

如何在不使用点符号的情况下隐藏目录?

答案1

假设你只关心隐藏文件不让它出现在 nautilus 中,那么有一个漏洞在 GNOME Bugzilla 上查看了此问题。但是,目前该错误尚未解决。

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

例如,下面是我创建的一个 .hidden 文件。此文件将隐藏与 .hidden 文件同名be位于同一目录中的所有文件或文件夹。

.hidden 文件示例

以下是包含 .hidden 文件的文件夹的屏幕截图。请注意,您只能看到三个文件:acf。由于 .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”可以做到这一点)。

有这个键盘快捷键吗?

不,这是您需要手动完成的事情。

相关内容