我想列出和删除可移动硬盘驱动器上目录的内容。但我遇到过“输入/输出错误”:
$ rm pic -R
rm: cannot remove `pic/60.jpg': Input/output error
rm: cannot remove `pic/006.jpg': Input/output error
rm: cannot remove `pic/008.jpg': Input/output error
rm: cannot remove `pic/011.jpg': Input/output error
$ ls -la pic
ls: cannot access pic/60.jpg: Input/output error
-????????? ? ? ? ? ? 006.jpg
-????????? ? ? ? ? ? 006.jpg
-????????? ? ? ? ? ? 011.jpg
Run Code Online (Sandbox Code Playgroud)
我想知道是什么问题?
如何恢复或删除目录pic
及其所有内容?
我的操作系统是 Ubuntu 12.04,可移动硬盘驱动器有 ntfs 文件系统。pic
可移动硬盘驱动器上不包含或不包含的其他目录工作正常。
添加:
dmesg
我尝试列出目录内容后输出的最后一部分:
[19000.712070] usb 1-1: new high-speed USB …
Run Code Online (Sandbox Code Playgroud) 我使用 Fedora 20 和 Windows 8。但是,我无法访问安装了 Windows 8 的驱动器的内容。表明:
Error mounting /dev/sda2/
The NTFS partition is in unsafe state
Windows is hibernated, refused to mount
Run Code Online (Sandbox Code Playgroud)
即使我已经正确关闭了 Windows。
情况:我需要一个可以在 Windows 和 Linux 上使用的拇指驱动器上的文件系统。
问题:默认情况下,Windows 和 Linux 之间的公共 FS 只是 exFAT 和 NTFS(至少在更新的内核中)
问:在 Linux 上的性能方面(因为我的基本操作系统是 Linux),哪个 FS 更好?
附加信息:如果您认为还有其他更好的文件系统并且满足这种情况,我愿意倾听。
编辑 2020 年 4 月 14 日:ExFAT 正在集成到 Linux 内核中,与 NTFS 相比,它可能会提供更好的性能(我了解到,读写 NTFS 分区的包并不是最快的 [当然,它是一个很棒的界面])。底线仍然是——如果您需要日志来防止简单的损坏,请使用 NTFS。
对于演示,我需要展示ext4文件系统比NTFS更好。我搜索并得到了关于 ext4 和 NTFS 的好文章
但是我需要一个带有更好示例的比较指南。
我有一个 U 盘和一个 NTFS 硬盘分区,我想在 NixOS 中使用它们。在其他一些发行版上,我会使用ntfs-3g
in安装它/mnt
。但是在 NixOS 上,该目录不存在;我想 NixOS 有其他一些规范的方式和/或这样做的地方。
在 NixOS 中,应该如何设置外部分区的自动挂载,最好使用configuration.nix
?
我有一个带有 NTFS 文件系统的外部 USB 磁盘。
如果我从 Windows 中删除一个文件并运行几个“取消删除”实用程序之一(例如 TestDisk),我可以轻松恢复该文件(因为“它仍然存在,但被标记为已删除”)。
如果我从 Linux 中删除该文件,则没有任何实用程序(除非我使用基于深度搜索签名的实用程序)可以恢复该文件。为什么?Linux 的 NTFS 文件系统代码中 unlink 是如何实现的?看起来它不仅“将其标记为已删除”,而且还擦除了一些磁盘结构,是这种情况吗?
我有一个外部硬盘驱动器,我在 Windows 中将其格式化为 NTFS 分区。现在,我使用以下命令在我的 linux 系统中格式化了这个硬盘。
mkfs.ext3 /dev/sdb1
Run Code Online (Sandbox Code Playgroud)
它已成功格式化。但是,当我运行该fdisk -l
命令时,它为我提供了 NTFS/HPFS 系统。
Device Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 83 HPFS/NTFS
Run Code Online (Sandbox Code Playgroud)
但是,该命令df -T /dev/sdb1
仍然给我文件系统类型为ext3
.
为什么我在运行fdisk -l
命令时没有将系统显示为 Linux ?
可以在 Linux 中对 NTFS 分区进行碎片整理吗?fsck 为此工作吗?(我在这里和那里看到了使用 的建议fsck -t ntfs --kerneldefrag /dev/XXX
。这行得通吗?)
两三年前,我(在 Windows 中)使用 NTFS ADS 元数据(备用数据流)进行了试验。这似乎是一个有趣的想法,但它肯定不是“可移植的”。
是否有可以读取和/或写入此 ADS 数据的 NTFS-ADS 感知工具?
此外,是否有任何`nix 常用/首选文件系统支持类似的辅助流”?
$ ls -l
total 28
drwxrwxrwx 1 t t 4096 May 8 2018 dir1
drwxrwxrwx 1 t t 0 Mar 12 2015 dir2
drwxrwxrwx 1 t t 4096 Jan 17 2014 dir3
drwxrwxrwx 1 t t 4096 Jun 12 2017 dir4
drwxrwxrwx 1 t t 0 Aug 24 2012 dir5
Run Code Online (Sandbox Code Playgroud)
为什么目录的大小是 0 或 4096?
目录的大小是否为 0,因为其中的条目可以放入其 inode 中?
目录的大小是否不是 0,因为其中的条目无法放入其 inode 中,因此需要一些数据块?
为什么目录的非零大小总是 4096?
谢谢。
请注意,我的观察在 ext4 文件系统和 NTFS 文件系统中是相同的。这是否意味着两种文件系统类型都以类似的方式实现目录?