我很好奇是否可以在没有 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 工具。
GNU coreutils (8.6) 版本有stat变化吗?在最近的更新之后,我写的一些脚本调用 stat 没有按预期工作;特别是,我一直在使用stat -c %Y "${filename}". 这应该以自“Epoch”以来的秒数形式返回上次修改的时间。但是,我可以发誓这曾经采用整数的形式。但是,我现在从这个表单1287630625.956667227而不是1287630625. 由于 Bash 不能处理浮点运算,这有点烦人。这是故意改变吗?还是bug?还是我的记忆模糊了?我尝试搜索有关此的信息,但找不到任何内容。
如果我有以下目录:
$ 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。有什么问题?它应该被认为是一个错误吗?
据我所知,许多Mac OS X的命令行工具(如ls,cp,chmod,chown等)从FreeBSD的进口。
我的目的是构建一个免费环境,其中包含最接近 Mac OS X 的命令行工具,用于在类似 Mac OS X 的环境中测试简单的 shell 脚本行为。文件系统结构、设备或其他方面不需要相似。
当(且仅当)目标不存在时,我想复制单个文件。源文件很少更改,可能每月一次。目的地几乎不存在。
-n和选项之间有什么区别吗-u?(或两者!)
cp直接从 调用crond。cp没有使用其他选项。
同一 cron 作业同时在多台机器上调用,从相同的源读取数据并写入相同的目标(两者都在共享的 GFS 全局文件系统上)。此后不久,目标文件将被另一个进程移动,因此它唯一可能存在的时间是在 cron 作业在多个节点上同时执行的竞赛期间。
哪个会更有效率?:
cp -n source destcp -u source destcp -nu source destcp -pu source dest我目前倾向于简单的-n替代方案。
为什么 GNUchown user.group有效?文档没有说明所支持的语法。背后有什么动人的故事吗?
我正在对大文件(>100Go)进行排序,并且为了减少在磁盘写入上花费的时间,我正在尝试使用 GNU sort 的--compress-program参数。(相关:如何对大文件进行排序?)
但是,在某些情况下似乎只有第一个临时文件被压缩。我想知道为什么,以及我可以做些什么来压缩所有临时文件。
我在用:
sort (GNU coreutils) 8.25lzop 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) 我在 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)
...但是,如图所示,这也不提供输出。
我确信这很简单,但是......怎么办?
谢谢
概括:
~= [type of file].[8-digit date]。find /path/ -name 'file.nnnn*' -print | xargs -e fgrep -nH -e 'text I seek'其中nnnn== 4 位数字年份)find像find /path/ -name 'file.201[89]*' -print | xargs ...find在 2019 年和 2020 年与find /path/ -name 'file.20{19,20}*' -print | xargs ...ls!是否有一种{简洁、优雅}的方式来告诉find我想要什么,而无需进行后期find清理(即我现在正在做的事情)à la
find /path/ -name 'file.*' -print | grep -e '\.2019\|\.2020' | xargs ...
Run Code Online (Sandbox Code Playgroud)
? FWIW,我更喜欢与xargs.
细节: …