AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[hard-link](unix)

Martin Hope
Bob
Asked: 2023-06-05 20:28:14 +0800 CST

挂载磁盘上的硬链接

  • 5

我有一台工作笔记本电脑,我很快就必须将其归还给我的雇主。预见到这一点后,我订购了第二个内部磁盘并将其安装在 ,/home/<user>这样我就可以将其拉出并安装在下一台机器上,而无需经历复制文件等整个过程。

但是,我创建了一些带有硬链接的项目——所有文件都在这个辅助安装的磁盘上,所以就像~/project-one/orig-file.txt=>~/project-two/linked-file.txt

我知道这样的链接不能跨文件系统工作,即你不能从根目录和挂载的磁盘链接(谷歌给我找了很多关于这个的文章),但问题是,将拉动这个磁盘并挂载它在另一个系统中打破这些硬链接?/home/<user>如果有所不同,可能会使用相同的发行版和目录。当然,我真的会知道何时需要换出磁盘,但是最好为预期的结果做好心理准备。

hard-link
  • 1 个回答
  • 36 Views
Martin Hope
e_mam106
Asked: 2019-08-31 07:49:35 +0800 CST

正确取消链接硬链接

  • 8

我有一个像这样的脚本

ln /myfile /dev/${uniquename}/myfile

我想删除链接/dev/somename/myfile以减少链接数。

我该怎么做呢?

hard-link
  • 4 个回答
  • 1653 Views
Martin Hope
Nepumuk
Asked: 2019-06-24 02:07:13 +0800 CST

使用跨设备链接链接目标目录中的文件和目录

  • 0

我在本地图书馆有一个用户帐户(他们使用openslx),我可以在其中存储文件。我的实际主文件夹是“挂载”(我不确定如何)/home/[my_userID]/PERSISTENT而不是/home/[my_userID].

登录后xterm启动一个窗口,窗口管理器为openbox。注销后,未存储的所有内容都将PERSISTENT被删除/home/[my_userID]。(完整的消息如下所示。)

例如,当我更改配置时mousepad,配置文件存储在/home/[my_userID]/PERSISTENT/.config/Mousepad其中,我必须手动复制文件以存储下一个会话的配置。为了解决这个问题,我在每次登录后复制了所有的点文件夹PERSISTENT,$HOME但我确信有一种更快、更优雅的方式来处理这个问题。

.bash_history有没有办法通过(“命令”)中的单个条目链接到目录?

ATTENTION: This is the non-persistent home directory!
Files saved here will be lost on shutdown.
Your real home is under /home/sj126/PERSISTENT
Please save your files there.
symlink hard-link
  • 1 个回答
  • 306 Views
Martin Hope
Pusdeo Squirrel
Asked: 2019-06-10 02:59:50 +0800 CST

与 MergerFS 的硬链接

  • 0

如果有人在位于非路径保留合并池中的目录上使用命令“cp -alr”,它是否总是在同一个磁盘上创建一个目录,其所有内容都作为硬链接?

例如,如果我们使用 category.create=mfs 创建了一个合并池,并在以下目录树上运行“cp -alr /romance/TitanicMovie/ /comedy/”会发生什么?

它会在disk1 上创建一个名为comedy 的目录和一个指向Titanic.mkv 的硬链接,还是因为disk2 有更多可用空间,它会将Titanic.mkv 复制到disk2 上名为comedy 的目录中?

 /mnt/
    ├── disk1/ (Physical Drive mounted,  1TiB in size)
    |   ├── romance/
    |   |   ├── TitanicMovie
    |   |       ├──Titanic.mkv
    ├── disk2/ (Physical Drive mounted,  1TiB in size)
    |   ├── comedy/
    ├── storage/ (mergerFS mounted using: /mnt/disk1:/mnt/disk2 /mnt/storage fuse.mergerfs dropcacheonclose=true,defaults,allow_other,minfreespace=50G,fsname=mergerFS,func.mkdir=all,category.create=mfs 0 0
    |   ├── romance/
    |   |   ├── TitanicMovie
    |   |       ├──Titanic.mkv
    |   ├── comedy/
filesystems hard-link
  • 1 个回答
  • 948 Views
Martin Hope
Misguided
Asked: 2019-05-07 16:39:09 +0800 CST

复制硬链接时会发生什么?

  • 1

想象一下,我有一个文件something/a.txt,我从中硬链接b.txt。现在,如果 Icp b.txt c.txt是c.txt的硬链接a.txt,还是 的内容的副本a.txt?

cp hard-link
  • 1 个回答
  • 587 Views
Martin Hope
Pusdeo Squirrel
Asked: 2019-04-19 06:16:48 +0800 CST

如何将硬链接移动到另一个磁盘

  • 1

如果我们在磁盘上有一个文件并创建一个指向它的硬链接,那么我们就有两个对相同数据的引用。如果一个链接被删除,它不会影响另一个链接,因为它直接指向数据。

如果我有两个指向文件 ABC 的链接(A 和 B)并且我将链接 A 移动到另一个磁盘,那么我将拥有两个数据副本。链接 A 将指向新磁盘上的数据,链接 B 将指向旧磁盘上的数据。

如果我想将链接 A 和 B 都移动到新磁盘上,如何才能在新磁盘上没有两个数据副本的情况下做到这一点?

linux hard-link
  • 2 个回答
  • 1323 Views
Martin Hope
Michael Firth
Asked: 2018-11-17 07:12:55 +0800 CST

确定硬链接树的额外大小

  • 2

使用“硬链接树”创建文件夹的第二个备份是相对常见的,该文件夹实际上只是自原始备份以来发生更改的文件的副本。

例如,rsync有一个命令行选项--link-dest来实现这一点。

我的问题是是否有一种简单的方法可以查看这种“硬链接树”使用的额外磁盘空间?

因为硬链接是同一个文件,只要du在新树上执行就会显示所有文件的总大小,包括硬链接的文件,从而共享原始文件的磁盘空间。

rsync hard-link
  • 1 个回答
  • 133 Views
Martin Hope
A. Donda
Asked: 2018-11-01 12:02:12 +0800 CST

文件夹对磁盘使用的独特贡献

  • 4

我有一个包含每日快照文件夹的备份。为了节省空间,不同快照中的相同文件通过硬链接(由 rsync 生成)进行重复数据删除。

当空间不足时,一种选择是删除旧快照。但是由于硬链接,很难计算出删除给定快照会获得多少空间。

我能想到的一个选择是du -s首先在所有快照文件夹上使用,然后在除了我可能删除的文件夹之外的所有文件夹上使用,并且差异会给我预期的获得空间。但是,这非常麻烦,并且在我试图找到合适的快照进行删除时必须重复进行。

有没有更简单的方法?


在尝试并思考Stéphane Chazelas和derobert的答案后,我意识到我的问题不够精确。这是更精确的尝试:

我有一组目录(“快照”),其中包含与另一个快照中的文件部分存储相同(硬链接)的文件。我正在寻找一种解决方案,该解决方案可为我提供快照列表以及其中文件占用的每个已用磁盘存储量,但没有该存储也被另一个快照中的文件使用。我想允许每个快照中存在硬链接的可能性。

我的想法是我可以查看该列表来决定当我用完空间时我应该删除哪些快照,这是在删除获得的存储空间和快照的价值(例如基于年龄)之间的权衡。

disk-usage hard-link
  • 3 个回答
  • 335 Views
Martin Hope
SPArcheon
Asked: 2018-11-01 06:29:10 +0800 CST

存在时移快照时有效地使用 clamav

  • 2

我正在寻找一种简单的方法来使用 clamav 在还启用了基于 Timeshift 的快照的机器上执行完整的系统扫描。

正如 Ubuntu 网站上的这个答案所建议的那样,我使用的命令如下:

clamscan -r --bell -i -exclude-dir="^/sys" /

(注意:该-exclude-dir="^/sys"参数是由另一个用户向我建议的,他指出 /sys 是一个虚拟目录,最好将其排除在扫描之外以避免可能的读取访问错误)

该命令按预期工作,“检查计算机上的所有文件,但仅显示受感染的文件并在找到时响铃”。

这有一个明显的问题:“计算机上的所有文件”包括“/timeshift”目录,这是Timeshift用来存储快照数据的目录。

现在,取自 Timeshift 官方页面:

在 RSYNC 模式下,使用 rsync 和硬链接拍摄快照。公共文件在快照之间共享,从而节省了磁盘空间。每个快照都是一个完整的系统备份,可以使用文件管理器进行浏览。

简而言之:Timeshift 复制更改的文件,并使用硬链接引用未更改的文件。据我了解,这意味着“第一个”快照可能是文件系统的完整副本(显然不包括 Timeshift 配置为忽略的任何文件/路径),而任何后续快照仅包括更改的文件和指向的链接到不变的。

问题:在标准设置下,clamscan 还将扫描 /timeshift 文件夹中的每个文件。虽然我可以扫描已更改的文件,这些文件是实际的真实文件...扫描链接似乎是一种浪费,因为基本上它意味着多次扫描同一个文件 - 一个用于文件首先更改的快照,然后每个用于链接到以下快照中未更改的文件。

因此,我正在寻找一种简单的方法来从扫描中排除这些硬链接。man clamscan显示一个--follow-file-symlinks选项的存在,但即使做

clamscan -r --bell -i -exclude-dir="^/sys" --follow-file-symlinks=0 /

似乎不起作用。毕竟,据我了解,该选项仅排除symlinks,而 Timeshift 使用的是hard-links。

所以,我的问题是:有没有办法在跳过扫描 /timeshift 目录中的硬链接文件同时扫描真实文件的同时执行完整的系统扫描?

(作为一个额外的问题:使用 clamtk UI 也可以吗?)

linux-mint hard-link
  • 1 个回答
  • 381 Views
Martin Hope
Nht_e0
Asked: 2018-07-30 18:33:07 +0800 CST

磁盘被访问了多少次?

  • 1

这是关于通用 UFS。

据我了解,当给出绝对路径(例如/home/userU/file.txt:)时,每个目录和文件都会访问磁盘。因此,在这种情况下,磁盘被访问 4 次

1 为/, 1 为home/, 1 为/userU, 1 为file.txt

我的问题是

  1. 如果给出一个硬链接/hL,指向上面文件的inode,访问磁盘的顺序是什么?
  2. 如果给出一个软链接/sL,指向上面的文件,访问磁盘的顺序是什么?

假设在所有三种情况下最初都没有缓存任何 inode 或任何其他数据。

path hard-link
  • 2 个回答
  • 798 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve