小编dan*_*an3的帖子

`unbuffer` 或 `stdbuf` 用于删除标准输出缓冲?

unbuffer(1) 和 stdbuf(1) 之间有区别吗?从我收集的信息来看,unbuffer 不仅仅是在开始时调用 libc 函数 set(X)buf 的“最大努力”,然后让事情发生?

io utilities buffer stdout

16
推荐指数
1
解决办法
6069
查看次数

来自 shell 的 getaddrinfo() ?

当你调用ping name.domain,它通过两个 /etc/hosts和DNS解析器来获取IP。它可以是硬编码在 中的 IP /etc/hosts,也可以是来自 DNS 服务器的 IP 。当然,它是通过调用 getaddrinfo() 或等价物来实现的,而不是直接调用。

我如何getaddrinfo()从shell调用?如何重现“普通”网络实用程序从地址获取 IP 的效果?

这不是关于使用dig/host只通过 DNS,或者getent只通过hosts. 我想ping在收到需要解析的名称时重现常见的应用程序行为(例如)。还有其他关于dig/ 的问题host。这个问题不是那些的重复。

更新:这是我的发现(部分基于其他问题的答案)

  • 在 Ubuntu(和 Debian?)上有gethostip -d name.domain来自syslinux.
  • perl -MSocket -le 'print inet_ntoa inet_aton shift' name.domain 工作可靠并且比接受的答案更简洁。
  • 使用getent 也可能有效:getent ahostsv4 name.domain | grep STREAM | head -1 | cut -f1 -d' '

这似乎是最好的办法。

shell networking dns

9
推荐指数
1
解决办法
6606
查看次数

LD_PRELOAD 或类似以防止网络访问

我想启动一个与网络断开连接的程序(因为它在启动后立即尝试下载大量数据,这可以通过在稳定下来后立即更改设置来防止)。但是,我真的不想为这个程序实际关闭网络

是否有一些 LD_PRELOAD 或类似的东西给程序一个网络关闭的印象?我宁愿不创建虚拟机。

networking process

6
推荐指数
1
解决办法
1596
查看次数

同步两个 zip 存档(使用最少的 I/O)?

zip 本身可以刷新存档以反映当前的文件系统(例如-FS)。它仅更新具有过时时间戳的 zip 条目。

是否有一种工具可以更新2.zip文件,使其1.zip与底层内容相同,且 I/O 最少?它应该忽略具有最新时间戳的条目。

当然,rsync可以做到这一点,但代价是实际完全读取两个档案(可能是千兆字节),即使大多数相应的条目具有相同的时间戳 - 而且rsync无法识别以不同方式压缩的相同条目。

或者,是否有其他存档格式/工具可以按照我描述的方式促进增量备份?

注意:我知道的另一个明显的解决方案是使用一些基于 FUSE 的文件系统挂载 1.zip,并运行类似zip -r -FS 2.zip /mnt/zip/.

backup zip rsync

5
推荐指数
0
解决办法
1055
查看次数

标签 统计

networking ×2

backup ×1

buffer ×1

dns ×1

io ×1

process ×1

rsync ×1

shell ×1

stdout ×1

utilities ×1

zip ×1