如何隐藏(在Thunar和Nautilus中)目录而不在其名称中加点?

通常Linux程序将用户的设置存储在〜/ .*目录中。 但不幸的是,一些开发人员(我需要的某些应用程序)不遵循此规则,也不会使用点开始设置存储文件夹名称。 这导致永远不会被用户使用的文件夹混乱(可能不是正确的单词,因为它们并不多,但它们仍然烦人)一个主目录。 重命名它们不是一个选项,因为在这种情况下应用程序将找不到它们(并将再次创建它们)。

有没有办法隐藏一个没有点开始名字的文件夹在常见的文件系统浏览器中显示(我实际上使用了XFCE的Thunar,以及Midnight Commander和Krusader,但是也不介意了解Nautilus)。

Nautilus (更新:这也应该与Thunar一起使用)将隐藏位于同一目录中的文件.hidden列出的任何文件或文件夹。

在Nautilus中隐藏文件夹有两种方法:

Nautilus脚本

  1. 将以下代码保存在主文件夹中的新文件中。 将其命名为Hide

     #!/usr/bin/env python import commands from os.path import join files = commands.getoutput("echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS") cwd = commands.getoutput("echo $NAUTILUS_SCRIPT_CURRENT_URI") cwd = cwd[7:] for f in files.split(" /"): f = f.split("/")[-1] commands.getoutput("echo "+f+" >> "+join(cwd, ".hidden")) 
  2. 运行以下命令以安装脚本:

     cp Hide ~/.local/share/nautilus/scripts/ && chmod u+x ~/.local/share/nautilus/scripts/Hide 
  3. 在Nautilus中,选择一个或多个文件/文件夹并右键单击。 从“ 脚本”菜单中选择“ 隐藏 ”:

    在此处输入图像描述

    重新加载当前位置( F5 ),将隐藏所选文件/文件夹。

命令行

假设你要隐藏一个名为“Rick Astley’s Greatest Hits”的文件夹,只需运行以下命令:

 echo "Rick Astley's Greatest Hits" >> .hidden 

打开synaptic并搜索“nautilus-hide”安装它。 注销并登录。 现在右键单击任何文件或文件夹。 您现在将在上下文菜单中看到“隐藏”选项。

它不会修改名称但会隐藏文件夹。

我修改了Alvin的好脚本 (希望)更多Pythonic(如果添加了很多文件,可能会更快,因为.hidden只打开一次):

 #!/usr/bin/env python import os files = os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].split() # According to https://help.ubuntu.com/community/NautilusScriptsHowto # the list is newline-delimited, which is split()'s default separator # No need for NAUTILUS_SCRIPT_CURRENT_URI cwd = os.path.dirname(files[0]) # Assuming all selected files are in the same path, I cannot imagine why not # Instead of relying on "echo ... >> ..." use Python's IO: with open(os.path.join(cwd, ".hidden"), "a") as hidden: hidden.write("\n".join( [os.path.basename(f) for f in files.split()]))