好的。如果我想将程序的输出重定向到文件,我会做这样的事情
prog > file
Run Code Online (Sandbox Code Playgroud)
如果我想将 stdout 和 stderr 都重定向到该文件,那么我会这样做
prog > file 2>&1
Run Code Online (Sandbox Code Playgroud)
如果您希望输出转到文件,这一切都很好。但是,如果您希望输出转到文件但仍然转到 stdout/stderr 怎么办?因此,输出保存在文件中,但您仍然可以在程序运行时在控制台上看到它。有没有办法做到这一点?如果是这样,如何?
是否有程序可用于根据进程当前的网络 I/O 使用情况列出进程?top做 CPU,至少在 FreeBSD 上,如果你通过它,它也会做磁盘 I/O -m io(我认为在 Linux 上有某种等价的东西,但我不记得它了)。但是我特别想要的是网络 I/O,这样我就可以看到哪些进程正在使用它以及使用了多少。有没有程序可以用来以这种方式列出进程?如果没有,最好的选择是什么?
在典型的 *nix 框(在 /user/share/zoneinfo 中)上有超过一千个时区文件。其中许多仅在历史日期上有所不同,这与只关心最近日期或什至只关心当前时间的程序几乎没有关系。但无论如何,它们有很多,通过设置 TZ 环境变量,选择它们中的任何一个作为系统的时区以及将它们中的任何一个用于特定程序或 shell 是完全合法的。它们都是有效的。
然后是 zone.tab 文件(/usr/share/zoneinfo/zone.tab)。它只列出了 400 多个时区(在我的系统上是 414 个)。它缺少很多时区。那么,问题是为什么?为什么他们都不在里面?而且由于它们并不都在那里,如何决定将哪些放在那里?
zone.tab 确实包括一个国家代码以及它列出的每个时区的经度和纬度(这大概是文件存在的原因),并不是所有的时区都真的有这些(例如 UTC 没有那些,并且它不在 zone.tab 中),所以很明显,并不是每个时区都可以在 zone.tab 中列出。但是为什么文件中没有列出所有与实际城市或地区相对应的(大多数都这样做)?为什么只有 414 而不是实际可用的 1000+?
很明显,如果你把很多文件放在一个文件夹里,各种文件操作的效率就会下降(比如ls需要很长时间)。但是,在文件夹卡住您之前,您可以将多少文件放入文件夹中的限制是多少?显然,这可能因文件系统而异,但我认为它们至少在限制上是相似的。你能在那里塞满文件,直到你的磁盘空间用完,或者会遇到某种限制,比如在你的文件系统窒息之前你只能将 65536 个(或 2 个的其他倍数)文件放在一个文件夹中?
我对 jfs 最感兴趣,因为这是我主要用于我的大分区的东西,但一般来说知道 *nix 文件系统会很好。