it-swarm.cn

如何隐藏目录或文件而不更改其名称?

我的OCD希望隐藏我不喜欢的目录,因为我不直接与它们交互。

如何隐藏目录而不使用点号?

50
myusuf3

假设您只关心隐藏文件以防止它们显示在nautilus中,则GNOME Bugzilla上有一个 bug 。但是,当前,该错误尚未解决。

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

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

Example .hidden File

下面是包含.hidden文件的文件夹的屏幕快照。请注意,您仅看到三个文件:a,_cf。由于出现“。”,因此看不到.hidden文件。在其名称的开头。 Example Folder

下面的屏幕快照与以前的文件夹相同。但是这次我打 Ctrl+H 使Nautilus显示隐藏的文件和文件夹。注意如何显示几个其他文件。现在,您会看到几个由于名称以'。'开头而被隐藏的文件。现在还存在名为“ b”和“ e”的文件,尽管它们没有以“。”开头的名称,但由于它们在.hidden文件中列出而被隐藏了。

Example Folders With Hidden Files Visible

.hidden文件中提到的文件将仅在nautilus中隐藏。诸如ls之类的工具仍会显示它们。 .hidden文件也不是递归的。它仅影响与.hidden文件所在目录相同的文件。

论坛上的一些人继续前进,并为nautilus创建了脚本,从而可以更轻松地将文件添加到.hidden文件。 第一个脚本 包含有关如何安装和使用脚本的很好的解释,但是 第二个脚本 更加简洁明了。随意使用任一脚本,使您的生活更轻松。

79
nhandler

Unix和Linux仅支持隐藏带有.的文件夹。

如果您确实希望摆脱它们,但又希望它们没有.s,请将它们全部放在与要隐藏的文件或文件夹相同目录下的.hidden中。 .hidden将不会被文件管理器公开,并且您的文件不会更改名称。

13
lfaraone

在命令行中,您可以在.bash_aliases文件中尝试类似的操作:

lsh() {
    [ -s .hidden ] && echo "lsh: hiding $(wc -l .hidden) patterns" && ls [email protected] | grep -v -F "$(cat .hidden)";
    [ ! -f .hidden ] && ls [email protected]
}

这将添加一个新命令lsh,其行为类似于ls,但隐藏.hidden目录中列出的文件。 (它也缺少一些功能,例如彩色输出和列列表。)

3
qneill

如果要隐藏文件,则只能使用前一个.重命名它们,这与* NIX约定一样。抱歉,就是这样。

但是,如果您要隐藏文件/目录的content,则可以使用文件权限进行隐藏。

假设您在一个名为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

现在我已经说了很多“秘密”这个词,它已经失去了所有的含义!

2
jathanism

第一关:如果您想向任何人隐藏文件:安装 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”可以做到这一点)。

有键盘快捷键吗?

不,这是您需要手动执行的操作。

2
Rinzwind

Nautilus的扩展名为nautilus-hide,您可以通过右键单击隐藏任何文件或文件夹。

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

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

0
SNugues