为什么是这样?
当我这样做时
CD ~/Desktop
Run Code Online (Sandbox Code Playgroud)
它不会带我进入桌面。但是这个:
echo "foo
bar" | GREP bar
Run Code Online (Sandbox Code Playgroud)
给我:
bar
Run Code Online (Sandbox Code Playgroud) 我有一个带有HFS+分区的朋友的 Mac OS X 磁盘。我应该从这个磁盘恢复个人数据,我还不确定文件系统是否已损坏或磁盘是否正在死亡)。
背景:完整的症状如下。该驱动器被 Linux 识别,甚至被自动挂载(Xfce在此处使用):
liv@liv-HP-Compaq-dc7900:~$ cat /etc/mtab | grep -i hfs
/dev/sdb2 /media/Macintosh\040HD hfsplus ro,nosuid,nodev,uhelper=udisks 0 0
Run Code Online (Sandbox Code Playgroud)
内核报告如下:
[ 4382.681310] usb 2-5: USB disconnect, device number 2
[ 4390.104044] usb 2-5: new high-speed USB device number 3 using ehci_hcd
[ 4390.259178] Initializing USB Mass Storage driver...
[ 4390.259983] scsi6 : usb-storage 2-5:1.0
[ 4390.260077] usbcore: registered new interface driver usb-storage
[ 4390.260079] USB Mass Storage support registered.
[ 4391.260684] scsi 6:0:0:0: …Run Code Online (Sandbox Code Playgroud) 我有一个大文件(2-3 GB,二进制,未记录格式),我在两台不同的计算机上使用它(通常我在桌面系统上使用它,但当我旅行时,我把它放在我的笔记本电脑上)。我使用 rsync 来回传输这个文件。
我不时对这个文件进行小的更新,更改不到 100 kB。这发生在两个系统上。
据我所知,rsync 的问题在于,如果它认为文件在源和目标之间发生了变化,它会传输完整的文件。在我的情况下,当文件的一小部分发生更改时,感觉就像是在浪费时间。我设想了一个协议,其中源和目标上的传输代理首先校验整个文件,然后比较结果。当他们意识到整个文件的校验和不同时,他们将文件拆分为 A 和 B 两部分,分别对它们进行校验。
啊哈,B 在两台机器上是一样的,我们忽略那一半。现在它将 A 拆分为 A1 和 A2。好吧,只有A2发生了变化。将 A2 拆分为 A2I 和 A2II 并进行比较等。以递归方式执行此操作,直到找到例如三个部分,每个部分均为 1 MB,在源和目标之间存在差异,然后仅传输这些部分并将它们插入目标文件中的正确位置。今天,有了快速的 SSD 和多核 CPU,这种并行化应该非常高效。
所以我的问题是,今天是否有任何工具可以像这样(或以我无法想象但具有类似结果的另一种方式)工作?
已发布澄清请求。我主要使用 Mac,所以文件系统是 HFS+。通常我这样启动 rsync
rsync -av --delete --progress --stats- 在这种情况下,我有时使用 SSH,有时使用 rsyncd。当我使用 rsyncd 时,我是这样启动的rsync --daemon --verbose --no-detach。
第二个说明:我要求使用一个工具来传输存在于两个位置的文件的增量,并且/或者 rsync 是否真的提供了这个。我对 rsync 的经验是它可以完整传输文件(但现在有一个答案可以解释这一点:rsync 需要一个 rsync 服务器才能仅传输增量,否则(例如,使用 ssh-shell)它会传输整个文件文件,但发生了很大变化)。
区别的解释是什么:
$ ls -l /Applications/Safari.app/Contents/Info.plist
-rw-r--r-- 1 root wheel 15730 11 jui 15:02 /Applications/Safari.app/Contents/Info.plist
$ du -sh /Applications/Safari.app/Contents/Info.plist
0B /Applications/Safari.app/Contents/Info.plist
Run Code Online (Sandbox Code Playgroud)
一旦文件被复制到我的主文件夹中,ls并du报告相同的数字。
$ cp /Applications/Safari.app/Contents/Info.plist .
$ du -sh Info.plist; ls -l Info.plist
16K Info.plist
-rw-r--r-- 1 ant staff 15730 17 oct 16:53 Info.plist
Run Code Online (Sandbox Code Playgroud)
两个目录都在这个分区 ( / )
diskutil info /
Device Identifier: disk0s2
Device Node: /dev/disk0s2
Part of Whole: disk0
Device / Media Name: ml2013
Volume Name: OSX.10.8
Escaped with Unicode: OSX.10.8
Mounted: Yes
Mount Point: …Run Code Online (Sandbox Code Playgroud) 我的驱动器被格式化为 hfs+ 并且不干净。
例如,当我尝试通过 挂载驱动器时mount -f -o rw,dmesg显示错误:
hfs: Filesystem was not cleanly unmounted, running fsck.hfsplus is recommended.
mounting read-only.
Run Code Online (Sandbox Code Playgroud)
所以当我试图通过fsck.hfsplus(部分hfsprogs)修复它时,它说:
$ fsck -dyf /media/sdd2
** /dev/sdd2
Using cacheBlockSize=32K cacheTotalBlock=1024 cacheSize=32768K.
** Checking HFS Plus volume.
** Detected a case-sensitive catalog.
** Checking Extents Overflow file.
** Checking Catalog file.
Invalid map node linkage
(4, 0)
** Volume check failed.
volume check failed with error 7
volume type is pure HFS+
primary …Run Code Online (Sandbox Code Playgroud) 作为使用 MS-Windows 2 年的用户,我一个月前切换到 Mac OS X。我的知识不足以解决我昨天遇到的大问题,而我全新的 MBPro 现在已经死了。
我在 Boot Camp 上安装了 Win-7 x64。一开始我的错误是我从宝贵的 SSD 磁盘中为 Windows 分配了很少的空间。昨天我尝试将 Boot Camp 分区从 80GB 增加到 250GB。我所做的是;
从 Windows 7 开始,将完整的 Windows 系统备份到外部 USB 磁盘中。
切换到 OS X 并从我现有的 Boot Camp 分区(使用 Std. OS X 的磁盘工具)创建磁盘映像 (dmg),这是我的第二个备份。由于我不想在激活我的所有 MS Office、Windows 7、游戏等时遇到麻烦。我计划将其中一个还原到具有更大磁盘容量的新 Windows。
在 OS X 中,我已经擦除了 Boot Camp 分区 (disk0s4) 并使用磁盘工具将主 HFS+ 分区 (disk0s2) 扩大到最大物理磁盘容量 (~750GB)
启动 Boot Camp 并执行 Windows x64 的干净副本,这次我为新的 Boot Camp 分区提供了 268GB 的磁盘大小(简单地说;250GB 到 Boot Camp,500GB 到 OS …
我正在设置文件服务器,我正在寻找一种方法来保留来自 OS X 机器的文件中的扩展属性,并在文件位于服务器上时操作它们。显然(好吧,大概)这将需要在服务器上使用 HFS+,这不是问题(除非有我应该知道的隐藏缺点),但我担心对 HFS+ 的支持很少,并且会 (1)不保留这些属性,或者 (2) 保留它们但需要将文件复制到 OS X 机器来操作它们。
Linux 中对 HFS+ 的支持有多完整?我能做我提到的一切吗?
我最近需要克隆我的硬盘驱动器(坏块 FTW)。我当时正在使用 Clonezilla。
但是,Clonezilla 拒绝复制 HFS+ 分区,所以我手动完成了。问题是 UUID 不同步。
为 HFS+ 设置特定 UUID 的命令是什么?
cp --reflink=auto 显示以下 MacOS 输出:
cp: 非法选项 -- --
HFS 是否支持写时复制或重复数据删除?如何使用 HFS COW 大文件?