标签: gnu

将 /usr/bin 和 /usr/sbin 合并到 /bin (GNU/Linux)

我已经阅读了很多关于人们想要将 /bin 和 /sbin 合并到 /usr/bin 的讨论。反过来做就不是这样了。

是否有任何技术原因不想将 /usr/bin 和 /usr/sbin 合并到 /bin 中,还是主要是个人偏好/设计选择?

linux filesystems gnu

5
推荐指数
2
解决办法
1777
查看次数

什么类型的正则表达式支持(例如)负向后视?

抨击 GNU:

我正在使用一组find命令,其中大部分-regex用于进行匹配。每次我在正则表达式中尝试不同的功能时,我都必须循环浏览这些值,-regextype直到一个工作正常为止。在这种情况下,我特别需要一个支持负面后视的人。很难验证我对这个功能的测试的(零)结果,所以我想简单地参考一个列表,而不是重复不断增加的一系列测试。

我已经找到了Javascript和其他平台的许多参考支持负回顾后,但我似乎无法找到那些中央的位置

很高兴在某处看到一个图表,列出了许多流行的正则表达式样式以及它们支持和不支持的功能,但我也找不到。

bash find gnu regular-expression

5
推荐指数
1
解决办法
1535
查看次数

如何查找在 GNU 屏幕中打开了多少个窗口?

我正在尝试自动化我的工作流程。我有一个脚本,可以为列表中的每个 IP 在屏幕中打开单独的窗口。想象一下setupscreen.sh <IP1> <IP2> ...。在所有窗口打开后,每个窗口都ssh转到正确的服务器并将标题设置hostname为该特定服务器上。我将窗口 0 作为我执行其他脚本的实用程序窗口。例如,我向所有窗口发送命令,以 1 秒的间隔循环遍历每个窗口,依此类推。这一切都很好,但问题是,当我创建它们时,我会从脚本中获取窗口计数。如果我关闭一个窗口,这将不再准确。问题是我怎样才能(通过脚本编写)我的窗口计数以及剩余的窗口索引(如果可能)。

ps 我需要登录和执行任务的所有集群都有screen,几乎没有,tmux而且很忙。

scripting gnu-screen gnu window

5
推荐指数
1
解决办法
1262
查看次数

GNU 在 GNU/Linux 操作系统中的主要贡献是什么?

我在GNU/Linux FAQ中读到,他们要求每个人将整个系统称为 GNU/Linux 的原因之一是:

  • GNU 在开发操作系统方面的主要贡献。

这让我想知道,GNU 在 GNU/Linux 操作系统的开发中做出了哪些主要贡献?

换句话说,GNU/Linux 操作系统中哪些是 GNU 的主要/主要组件?

linux gnu

5
推荐指数
1
解决办法
1512
查看次数

GNU Sed 版本历史(更新日志)——如何确定哪个版本引入了哪个特性?

我发现了以下更改日志,但所有这些都根据日期而不是版本号列出了更改/新功能:

例如,我试图找出在哪个 GNUsed版本中引入了-z/--null-data选项,虽然上面告诉我 2012-02-05,但我无法确定映射到哪个版本号。

version sed gnu

5
推荐指数
1
解决办法
874
查看次数

如何在每个作业的记录中并行运行 GNU,每个内核有 1 个进程

我真正想做的是运行 X 个作业,并行运行 X 个数量以测试 API 竞争条件。

我想出了这个

echo {1..10} | xargs -n1 | parallel -m 'echo "{}"';
Run Code Online (Sandbox Code Playgroud)

哪个打印

7 8 9
10
4 5 6
1 2 3
Run Code Online (Sandbox Code Playgroud)

但我真正想看到的是(注意顺序实际上并不重要)。

1
2
3
4
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)

并且这些将一次并行处理 4 个(或任何数量的 CPU/核心,我有,例如--jobs 4)。总共 10 次单独执行。

我试过这个

echo {1..10} | xargs -n1 | parallel --semaphore --block 3  -m 'echo -n "{} ";
Run Code Online (Sandbox Code Playgroud)

但它似乎只打印一次。如果您的解决方案不需要 xargs ,这似乎是对默认记录分隔符是换行符的想法的一种破解,但我也无法获得像我想要的那样工作的空间。

10 是一个相当小的数字,但可以说它要大得多, 1000

echo {1..1000} | xargs -n1 | parallel …
Run Code Online (Sandbox Code Playgroud)

gnu parallelism gnu-parallel

5
推荐指数
1
解决办法
2062
查看次数

dd_rescue 和 ddrescue 之间有什么区别,什么时候更喜欢哪一个?

有两个类似的工具可用于在不良硬件上执行 dd 操作:

dd_rescue 和 ddrescue 之间有什么区别,什么时候更喜欢哪一个?

software-rec gnu data-recovery forensics

5
推荐指数
1
解决办法
3960
查看次数

如何使用 GNU make 部分序列化

当我有一个需要在另一个目标之前制作特定目标的 make 任务时,在并行模式下,使用 SunPro Make (dmake) 时这很简单。以下生成文件:

install:  dir dir/file

dir:
    mkdir dir

dir/file:
    cp source dir/file
Run Code Online (Sandbox Code Playgroud)

通过将第一行更改为:

install: dir .WAIT dir/file
Run Code Online (Sandbox Code Playgroud)

或通过使用:

.NO_PARALLEL: install
Run Code Online (Sandbox Code Playgroud)

makefile 的其余部分仍将在并行模式下处理,即使是左侧或右侧的目标列表.WAIT也将以并行模式处理。

参见:http : //schlytools.sourceforge.net/man/man1/make.1s.htmlhttp://schlytools.sourceforge.net/man/man1/dmake.1.html

但是 GNU make 似乎没有类似的选项。真的没有办法用 GNU make 做到这一点吗?

更具体地说,该解决方案需要以允许使用其他 make 实现处理 makefile 的方式编写。

特殊目标 .WAIT 可以例如在称为 $(WAIT) 的 make 程序相关宏中

请注意,有一个明显的解决方案无济于事:

从理论上讲一个可以使dir的依赖dir/file,以实施创建dir试图复制之前dir/file,,但如果以后另一个文件复制到dir,这使得dir比新dir/file。因此,make多次调用会dir/file一次又一次地复制,而没有预期的结果,make只有在源变得更新的情况下才进行复制dir/file.

这提出了另一个问题,是否可能存在强制在复制之前make创建的依赖关系拓扑而不依赖于 …

make gnu gnu-make sunpro

5
推荐指数
3
解决办法
6042
查看次数

在 MacOS 上,使用 iTerm2 终端时,`Esc+` 或 `+Esc` 对应于 Bash 中的什么字符?

我读过该映射Left OptionEsc+应该可以解决 MacOS 上 Bash 用户使用 GNU Readline 键绑定所遇到的许多问题。

不过,我从来没有遇到过Esc+,或者以前没有遇到过+Esc,所以这意味着Esc、、、还是其他什么意思?如何测试启用后我映射到的键或?MetaCtrlLeft OptionEsc++Esc

”

shell bash gnu readline macos

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

为什么在 GNU xargs 中与 `-0` 一起使用时 `-r` 似乎被忽略了?

打印换行、xargs调用printf和某些内容的常规情况:

>>printf "foo\n" | xargs -r printf "->%s\n"
->foo
>>
Run Code Online (Sandbox Code Playgroud)

随着空输入代替,-r使得xargs不是在所有调用命令:

>>printf "\n" | xargs -r printf "->%s\n"
>>
Run Code Online (Sandbox Code Playgroud)

使用空值而不是换行符,如果有以下输入,一切都是一样的xargs

>>printf "foo\0" | xargs -r -0 printf "->%s\n"
->foo
>>
Run Code Online (Sandbox Code Playgroud)

但是如果没有输入,无论如何都会打印一些东西:

>>printf "\0" | xargs -r -0 printf "->%s\n"
->
>>
Run Code Online (Sandbox Code Playgroud)

所以,要么

  • 我错过了一些东西(什么?)

  • -r当与-0(但哪个)一起使用时,有一些很好的理由可以忽略?

  • 我的xargs(findutils 4.6.0.225-235f)中有一个错误,但很难决定:

    • 我在另外两个实例(Ubuntu 16.04 上的 4.7.0-git 和 Windows 上的另一个 4.6.0)中发现了相同的行为,
    • 我不敢相信这种事情会通过回归测试。
    • 另一方面,这个问题暗示它在过去可能有效

那么, 的真正预期行为是xargs什么?

gnu xargs

5
推荐指数
1
解决办法
254
查看次数