Nautilus - 不支持硬链接?

Pro*_*ter 3 nautilus nautilus-script nautilus-actions hard-link

我终于开始学习和理解硬链接,以检查我是否理解了基础知识,其中我设法跳过了很多。在意识到它们有多出色之后,我想知道为什么 Ubuntu 的默认文件管理器 nautilus 没有更好地支持它们。

目前,创建文件链接的选项只有一个,它会创建一个“软”链接。

在此处输入图片说明

这样做的问题是,一旦您移动或重命名原始文件,它们就会损坏。

有没有办法让 nautilus 创建硬链接,或者某种插件/脚本/配置/调整,我可以在右键单击菜单或键盘快捷键中添加选项,以创建硬链接文件?

pa4*_*080 7

显然,这个选项是多年前故意削减的。来自从 bugzilla.gnome.org创建硬链接的主题:

我们的用户几乎没有一个知道硬链接的概念,那么我们为什么要混淆他甚至冒数据丢失的风险呢?您可以使用 nautilus-open-terminal 并手动创建硬链接。


好消息是您有两种选择来创建此功能:

  • 通过使用 Nautilus 操作或
  • 通过使用 Nautilus 脚本


解决方案 1:通过使用 Nautilus 操作

1.首先安装包nautilus-actions

sudo apt update
sudo apt install nautilus-actions
Run Code Online (Sandbox Code Playgroud)

或者使用 Ubuntu 软件:

安装鹦鹉螺动作

2.运行程序:

运行鹦鹉螺动作

3.转到“首选项”并取消选中“创建根 Nautilus 操作菜单”:

nautilus-actions 首选项

勾选此选项后,上下文菜单中将有子菜单等。

4.单击定义新操作按钮并在操作选项卡中填写数据。作为您可以使用的上下文标记Make Hard Link,此外,仅勾选选项Display item in selection context menu- 换句话说,在选择文件时显示此项目。

定义新动作 - 动作

5.转到命令选项卡并填写参数:

  • 简介

    • 标签Default profile- 如果没有任何自定义配置文件。
  • 命令

    • 路径/bin/ln- 这是可执行文件(或命令)的路径。
    • 参数%f 'Hard Link to %b'- 单击标签按钮了解更多信息。
    • 工作目录%d- 表示当前目录。

定义新动作 - 命令

6.因为目录硬链接以多种方式破坏文件系统,我们必须禁用这种可能性。转到Mimetypes选项卡并添加新规则

  • Mimetype 过滤器inode/directory
  • Must not match any of选择了选项。

定义新动作 - Mimetypes

7. 录制制作硬链接的动作:

定义新动作 - 记录

8.运行 Nautilus 并使用上下文菜单中的Make Hard Link操作:

在此处输入图片说明


此外,如果您想备份您的设置:

  • 该文件$HOME/.config/nautilus-actions/nautilus-actions.conf包含 Nautilus 操作首选项。
  • 并且新操作位于文件夹中:$HOME/.local/share/file-manager/actions/.


解决方案 2:通过使用 Nautilus 脚本

可以通过脚本实现相同的结果,放入$HOME/.local/share/nautilus/scripts/. 该脚本可能如下所示:

sudo apt update
sudo apt install nautilus-actions
Run Code Online (Sandbox Code Playgroud)

我们可以创建这个脚本并通过以下命令赋予它可执行权限:

$ cat "$HOME/.local/share/nautilus/scripts/Make Hard Link"

#!/bin/bash
if [[ -f "$1" ]]
then
        ln "$1" "Hard Link to $1"
fi
Run Code Online (Sandbox Code Playgroud)

结果将是:

在此处输入图片说明

参考: