Questions tagged «filesystems»

文件系统是一种组织和存储计算机文件及其数据的方法。

3
ls -s什么时候打印“ 0”
当然,测试文件是否为空的标准方法是使用test -s FILE,但是我们的一位客户已收到包含以下测试的脚本: RETVAL=`ls -s ./log/cr_trig.log | awk '{print $1}'` if test $RETVAL -ne 0 then echo "Badness: Log not empty" exit 25 fi 供应商声称它可以在他们测试过的两个环境中工作。不用说,它在我测试过的两个地方都严重失败。 所以,我很好奇。什么时候ls -s打印0空文件? 到目前为止,这是我的发现: Linux上的GFS:4 Linux上的ext4:0 Solaris上的ZFS:1 Solaris上的UFS:0 AIX上的jfs:0 HP-UX上的VxFS:0 HP-UX上的HFS:0 在Mac OS X上的HFS:0 我还没有检查过网络文件系统。 问:我如何才能优雅地向其他人解释他们的脚本是错误的? 我认为“正确”的版本是: if test ! -s ./log/cr_trig.log then echo "Badness: Log …

2
递归更改文件权限,但不更改目录?
我正在对已经迁移到UNIX系统的某些文件进行权限的大规模递归更改。我将它们更改为ug + rw,但是后来我发现无法遍历子目录。我查看了手册页chmod,但没有找到排除目录的任何解释,因此我搜索了一下,发现人们习惯于find递归地更改目录的权限以对用户和组“执行”。我这样做了,然后我可以调查一下。 但是在我看来,我应该能够做到这一点chmod-递归地将文件更改为读/写,但不会使目录不可遍历。我是否以“正确”的方式完成此操作,或者有更简单的方法来执行此操作?


1
如何获取有关套接字文件的更多信息?
对于这样的套接字文件: # ls -alti socket 14112 srw------- 1 root root 0 Nov 15 20:03 socket # cat socket cat: socket: No such device or address 由于cat命令在这里没有用,是否有任何方法可以获取有关套接字文件的更多信息?例如正在侦听哪个端口?等等


4
笔记本电脑用户应该从ext4切换到btrfs吗?
与此相关。 我想利用操作系统切换来升级到BTRFS。 BTRFS声称提供了很多功能(数据丢失的弹性,RAID的自我修复,元数据和数据的校验和,压缩,快照)。但是,与fsync密集型程序(例如,dpkg我知道eatmydata和糟糕的apt-btrfs-snapshot程序)一起使用时,速度很慢,而且我不会设置RAID:p。 EXT4仅允许对元数据进行校验和,并且不压缩数据。 在6年中,由于硬盘损坏(飞行后),我不得不重新安装操作系统两次。第一次导致笔记本电脑无法启动,第二次损坏是由于电影损坏,然后是对OS二进制文件的md5sum检查而确定的。(SMART告诉我磁盘是正常的)。目前,这头马虎的行为很奇怪。我不知道应该归咎于硬件还是软件,但是我怀疑硬件(它们都是在飞行后立即开始的)。 您是否会因为数据压缩和校验和而建议改用笔记本电脑的BTRFS,还是应该坚持使用EXT4? (我不在乎哪个变量相对于“最佳”,但我几乎没有使用BTRFS的经验,并希望获得一些反馈) 编辑: 让我们更清楚一点:我知道,BTRFS仍被标记为实验性的,但是SUSE表示现在不再应该这样做了。Oracle也是如此(我知道Oracle是谁)。大量发行版已经建议安装BTRFS,其中大多数计划在未来几个月内切换到BTRFS。 两个事实: 备份损坏的数据毫无价值。我不明白为什么我似乎是唯一一个要打扰的人。那不是常识吗?与此同时: 别告诉我应该备份:我已经备份了。 不要再暗示备份就足以保证我的数据安全,除非您愿意给我TB的可用空间来进行数年的备份。 损坏的文件= / => Linux抱怨。所以: 不要仅仅因为操作系统正在启动就假设您的系统/数据是理智的。 我希望您能理解,我喜欢(元)数据校验和,而不是过度设计和piece肿的软件,因为它不方便执行BTRFS来检查数据完整性。 现在,我不是要问哪个FS更好吗?问题是,考虑到我定期进行备份,BTRFS是否仍处于实验性阶段,无法用于其数据完整性检查功能,还是应该坚持使用EXT4?



5
如何获取包含给定文件的文件系统的挂载点
我正在寻找一种快速的方法来查找包含给定FILE的文件系统的挂载点。有什么比下面的解决方案更简单或更直接的方法吗? df -h FILE |tail -1 | awk -F% '{print $NF}' | tr -d ' ' 类似的问题“ 是否有命令可以查看磁盘的安装位置? ”使用当前磁盘的设备节点作为输入,而不是磁盘中的任意文件...



1
Linux是否有系统调用来访问其支持的文件系统的所有功能?
Linux支持许多文件系统(例如:ext3,NTFS,FAT32等)。 下图显示了Linux如何允许进程访问文件: 因此,假设有一个称为read()系统调用的过程来读取文件,将发生的事情是将访问VFS层,并且VFS层将根据文件所要分区的文件系统来决定访问哪个文件系统驱动程序。被读取驻留。 Linux提供了许多系统调用来访问文件(例如:read(),write(),rename()等)。 现在,read()和write()与rename()所有的文件系统Linux支持工作。 但是有些特定功能仅在某些文件系统上存在,而在其他文件系统上不存在。例如:在NTFS文件系统上,您可以将文件的“ 存档”位置1,而在ext3文件系统上则不能。 现在我的问题是,Linux是否有系统调用来访问其支持的文件系统的所有功能?例如:Linux是否有系统调用来为NTFS文件系统上的文件设置存档位?

1
不区分大小写的文件系统如何同时显示大小写文件名?
前几天,当我在开发项目时就想到了这个问题,该项目依赖于文件名方面的自以为是的框架。框架(此处不相关)想要查看大写优先的文件名。这让我开始思考。 上不区分大小写的文件系统,说extFAT或HFS +(具体不区分大小写)如何在文件系统提供访问相同的文件两者的文件名的上部和下部壳体的版本。 例如: $ cd ~/Documents $ pwd /home/derp/Documents $ cd ../documents $ pwd /home/derp/documents $ cd ../docuMents $ pwd /home/derp/docuMents $ cd ../DOCUMENTS $ pwd /home/derp/DOCUMENTS $ cd ../documentS $ pwd /home/derp/documentS 所有这些命令将解析到同一目录。这种行为(特别pwd是bash在这种情况下只是一个函数的输出)只是向我展示了它想看到的内容吗? 另一个例子: $ ls ~/Documents Derp.txt another.txt whatThe.WORLD 此处的文件系统报告由用户或程序创建的原始文件名的情况。 在文件系统堆栈中的什么时候保留了可读的文件名(例如,大写和小写),以便可以通过正确的大写和小写ASCII字符的任意组合来访问它?这只是某个地方的正则表达式把戏,还是还有其他事情发生? 编辑:经过更多研究后,似乎在保留大小写不区分大小写的文件系统中发现了我好奇的行为...

1
如果未安装分区,为什么系统会使用该分区?
在遇到VM的性能问题后,我一直在将系统从btrfs迁移到ext4。我的笔记本电脑中有两个硬盘驱动器。我已经成功移动了我的主分区,但是我使用的相同步骤不适用于root用户。 到目前为止的进展: 我已经dd“从D我的根分区/dev/sda3成/dev/sdb3。我修改/etc/fstab为以下内容: $ cat /etc/fstab # # /etc/fstab: static file system information # # <file system> <dir> <type> <options> <dump> <pass> # UUID=95f13c34-96ca-49e3-bcb2-ff594df31506 /dev/sdb3 / btrfs rw,noatime,ssd,space_cache,discard 0 0 # UUID=0fe04f59-599f-41e2-ac30-2ad0f17a9727 /dev/sda2 /boot ext2 rw,relatime 0 2 # UUID=44741e0f-924a-4841-80ef-2132bef84182 /dev/sda4 /home ext4 rw,noatime,discard 0 0 然后跑sudo mkinitcpio -p linux。它似乎有效。我可以通过在第二张磁盘上安装分区来启动。df显示: …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.