我有一个关于块大小和簇大小的问题。关于我所读到的内容,我假设如下:
如果我有以下输出:
$ stat test
File: `test'
Size: 13 Blocks: 4 IO Block: 2048 regular file
Device: 700h/1792d Inode: 15 Links: 1
Run Code Online (Sandbox Code Playgroud)
大小是以字节为单位的实际空间,块是物理使用的块(每个 512 字节),IO 块与创建 FS 时指定的块大小有关,这是否正确?
我正在用音频文件做一些事情,大多数但不是全部都是 mp3 文件。现在我只想对不是 mp3 文件的文件或没有.mp3
扩展名的文件运行一些命令。
我认为自己非常擅长正则表达式,但不太擅长文件通配,这在意想不到的方面有着微妙的不同。
我环顾四周,从其他 SO & SE 的答案中了解到,Bash 已经“扩展了通配符”,可以让我做到这一点:
file ../foo/bar/*.!(mp3)
Run Code Online (Sandbox Code Playgroud)
但是除了形成文件扩展名的文件名之外,我的一些文件名中还有点:
../foo/bar/Naked_Scientists_Show_19.10.15.mp3
../foo/bar/YWCS_ep504-111519-pt1_5ej4_41cc9320.mp3_42827d48daefaa81ec09202e67fa8461_24419113.mp3
../foo/bar/eLife_Podcast_19.09.26.mp3
../foo/bar/gdn.sci.080428.bg.science_weekly.mp3
Run Code Online (Sandbox Code Playgroud)
似乎 glob 从第一个点开始匹配,而不是从最后一个点开始。我查看了文档,但似乎它们远不如正则表达式强大。但是我并没有真正理解所有内容,因为我没有在 *nix shell 上花费太多时间。
我是否错过了一些我仍然可以使用 Bash globbing 做到这一点的方法?如果没有,使用 find 或其他工具实现相同目的的方法仍然值得了解。
可以在 Linux 下挂载 Apple HFS+ 和 Microsoft NTFS 文件系统。
两个文件系统都支持每个文件的多个内容流,尽管这并没有被广泛使用。
是否有(半)标准方法可以从 Linux 访问这些文件系统功能?如果是这样,两个文件系统之间的方法是统一的还是只有神秘的临时方法可用?(也许有ioctl
s 的东西?)
filesystems ×2
api ×1
bash ×1
block-device ×1
ext3 ×1
filenames ×1
ntfs ×1
terminology ×1
wildcards ×1