标签: gnu

GNU ld 的替代品有哪些?

我很好奇是否可以在没有 GNU 工具链(gcc+autotools)的情况下构建 Linux 内核。

我发现这是可能的:在应用llvm.linuxfoundation.org的补丁后,可以使用 clang 构建 Linux 内核。使用了 GNU 链接器。

其替代方案ld也是goldGNU binutils 的一部分。流行的 musl+clang 工具链 ELLCC 也使用 GNU binutils。

还有更多的选择:(lld没有稳定版本),mclinker(没有稳定版本)。

是否存在 GNU binutils 的替代品?也许,在 Mac OS X 或 FreeBSD 上构建并不涉及 GNU 工具。

compiling gnu linker

4
推荐指数
1
解决办法
2831
查看次数

GNU coreutils stat 工具改变了吗?

GNU coreutils (8.6) 版本有stat变化吗?在最近的更新之后,我写的一些脚本调用 stat 没有按预期工作;特别是,我一直在使用stat -c %Y "${filename}". 这应该以自“Epoch”以来的秒数形式返回上次修改的时间。但是,我可以发誓这曾经采用整数的形式。但是,我现在从这个表单1287630625.956667227而不是1287630625. 由于 Bash 不能处理浮点运算,这有点烦人。这是故意改变吗?还是bug?还是我的记忆模糊了?我尝试搜索有关此的信息,但找不到任何内容。

gnu coreutils stat

3
推荐指数
2
解决办法
378
查看次数

“tar --exclude-backups”不排除末尾带有波浪号的文件

如果我有以下目录:

$ ls -a foo
.  ..  a  #a#  a~  b  b.bkp  c  .git  .hg  .svn
Run Code Online (Sandbox Code Playgroud)

并调用:

$ tar zcf foo-no-bkp.tar.gz --exclude-backups foo/
Run Code Online (Sandbox Code Playgroud)

生成的存档仍然有备份文件(即使是那些根据文档考虑的备份文件)。

$ tar ztf foo-no-bkp.tar.gz 
foo/
foo/a~
foo/.svn/
foo/#a#
foo/.hg/
foo/a
foo/.git/
foo/b.bkp
foo/c
foo/b
Run Code Online (Sandbox Code Playgroud)

我在 Ubuntu 12.04 上使用 GNU tar 1.26。有什么问题?它应该被认为是一个错误吗?

tar backup gnu

3
推荐指数
1
解决办法
1627
查看次数

Mac OS X 命令行工具 - 与 FreeBSD 的区别

据我所知,许多Mac OS X的命令行工具(如lscpchmodchown等)从FreeBSD的进口。

  • 哪个版本的 FreeBSD 包含与 OS X 最兼容的命令行工具?
  • 什么是重要的区别?
  • 有些工具是从不同系统(NetBSD、GNU...)导入的吗?

我的目的是构建一个免费环境,其中包含最接近 Mac OS X 的命令行工具,用于在类似 Mac OS X 的环境中测试简单的 shell 脚本行为。文件系统结构、设备或其他方面不需要相似。

command-line osx freebsd compatibility gnu

3
推荐指数
1
解决办法
1294
查看次数

cp 选项 --no-clobber 与 --update

当(且仅当)目标不存在时,我想复制单个文件。源文件很少更改,可能每月一次。目的地几乎不存在。

-n和选项之间有什么区别吗-u?(或两者!)

cp直接从 调用crondcp没有使用其他选项。

同一 cron 作业同时在多台机器上调用,从相同的源读取数据并写入相同的目标(两者都在共享的 GFS 全局文件系统上)。此后不久,目标文件将被另一个进程移动,因此它唯一可能存在的时间是在 cron 作业在多个节点上同时执行的竞赛期间。

哪个会更有效率?:

  • cp -n source dest
  • cp -u source dest
  • cp -nu source dest
  • cp -pu source dest

我目前倾向于简单的-n替代方案。

gnu cp coreutils

3
推荐指数
1
解决办法
7881
查看次数

为什么有一个 '.' 在重庆工作?

为什么 GNUchown user.group有效?文档没有说明所支持的语法。背后有什么动人的故事吗?

gnu coreutils history chown

3
推荐指数
1
解决办法
426
查看次数

GNU sort --compress-program 只压缩第一个临时文件

我正在对大文件(>100Go)进行排序,并且为了减少在磁盘写入上花费的时间,我正在尝试使用 GNU sort 的--compress-program参数。(相关:如何对大文件进行排序?

但是,在某些情况下似乎只有第一个临时文件被压缩。我想知道为什么,以及我可以做些什么来压缩所有临时文件。

我在用:

  • sort (GNU coreutils) 8.25
  • lzop 1.03 / LZO library 2.09

重现问题的步骤:

你需要一些东西,比如 ~15Go 空闲空间,~10Go ram,一段时间

首先,使用以下 C 代码创建一个 10Go 文件:

#include <stdio.h>
#include <stdlib.h>

int main(void) {
    unsigned long n;
    unsigned char i;
    srand(42);
    for(n = 0; n < 1000000000; n++) {
        for(i = 0; i < 3; i++) {
            printf("%03d", rand() % 1000);
        }
        printf("\n");
    }
    fflush(stdout);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

并运行它:

$ gcc -Wall -O3 -o generate generate.c
$ …
Run Code Online (Sandbox Code Playgroud)

compression gnu sort

3
推荐指数
1
解决办法
1135
查看次数

“--color=auto”和“--color=tty”有什么区别?

我正在使用lsGNU 核心实用程序。该手册页只提到noneautoalways,但我发现tty也适用。这个选项似乎没有被广泛使用,但仍然在这里那里被提及。它是不推荐使用的别名auto吗?如果不是,tty和 和有auto什么区别?我什么时候分别使用它们?

ls gnu

3
推荐指数
1
解决办法
2424
查看次数

如何使用 grep 搜索字符串“-1”

我在 bash 中使用 grep 来搜索字符串 "-1" 。

我通常会像这样搜索“bar”......

glaucon@foo $ grep -irn "bar"
Run Code Online (Sandbox Code Playgroud)

...这工作正常,但是当我尝试搜索“-1”时,我得到了这个...

glaucon@foo $ grep -irn "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Run Code Online (Sandbox Code Playgroud)

...我认为减号可能是一个特殊字符,但看起来不是。我还尝试使用“固定字符串”选项,以防这是我不熟悉的正则表达式的某些方面......

glaucon@foo $ grep -irnF "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
Run Code Online (Sandbox Code Playgroud)

...但是,如图所示,这也不提供输出。

我确信这很简单,但是......怎么办?

谢谢

grep gnu

3
推荐指数
1
解决办法
719
查看次数

新的十年:如何说出类似`find /path/ -name 'file.20{19,20}*'`(但有效)

概括:

  1. 一个给定的系统有很多带有名称的文本文件~= [type of file].[8-digit date]
  2. 要搜索这些文件,我喜欢(并想保留)使用以下习语:(find /path/ -name 'file.nnnn*' -print | xargs -e fgrep -nH -e 'text I seek'其中nnnn== 4 位数字年份)
  3. ......在过去的十年里,我也findfind /path/ -name 'file.201[89]*' -print | xargs ...
  4. ...但现在我无法find在 2019 年和 2020 年与find /path/ -name 'file.20{19,20}*' -print | xargs ...
  5. ...虽然“花括号通配符”(正确的术语?)与ls!

是否有一种{简洁、优雅}的方式来告诉find我想要什么,而无需进行后期find清理(​​即我现在正在做的事情)à la

find /path/ -name 'file.*' -print | grep -e '\.2019\|\.2020' | xargs ...
Run Code Online (Sandbox Code Playgroud)

? FWIW,我更喜欢与xargs.

细节: …

find gnu wildcards

3
推荐指数
2
解决办法
763
查看次数

标签 统计

gnu ×10

coreutils ×3

backup ×1

chown ×1

command-line ×1

compatibility ×1

compiling ×1

compression ×1

cp ×1

find ×1

freebsd ×1

grep ×1

history ×1

linker ×1

ls ×1

osx ×1

sort ×1

stat ×1

tar ×1

wildcards ×1