标签: gnu

有什么方法可以使用 sed 设置“详细模式”或“调试模式”?

有没有办法gnu sed详细说明运行的内容和完成的内容?
我想要一个类似“调试模式”的东西,这样我就可以看到 - 对于每一行输入 - 脚本运行前后的保持空间和模式空间的内容等。

debugging sed gnu

17
推荐指数
1
解决办法
8257
查看次数

GNU/Linux 笔记本电脑的理想硬件

找到具有适合安装和运行 GNU/Linux 的硬件的笔记本电脑的最佳方法是什么?我正在寻找最适合与 GPL 驱动程序和/或固件一起使用的东西。

例如,我快速浏览了linux-on-laptops.com,但它们没有列出联想的一些较新型号。大多数测试用例似乎已经过时了。此外,鉴于如此多的信息,不清楚从哪里开始寻找。

不幸的是,FSF 网站没有列出许多笔记本电脑的可能性。来自 FSF 网站的LAC没有提到无线连接是他们笔记本电脑的一项功能,可能是因为固件问题。

我一直在寻找能够接受 ath9k 驱动程序的笔记本电脑,因为这些卡不需要固件,但从通用规格页面获取型号类型并不总是可能的。在线搜索 lspci 转储可能是掷骰子。

然后是从 FSF 的角度来看哪种显卡是理想的问题。来自 FSF 网站:

此页面并非详尽列表。此外,某些视频卡可以使用免费软件,但没有 3D 加速。

linux laptop hardware-compatibility gnu free-software

16
推荐指数
2
解决办法
1881
查看次数

是否可以更改 UNIX/Linux 系统中的内核?

我想知道是否可以更改内核,例如,将 Fedora 的 Linux 内核替换为 FreeBSD 的内核。

现在,已经存在Debian GNU/kFreeBSD。我是否可以自定义 Linux 发行版以包含 BSD 内核?

linux fedora kernel gnu linux-kernel

16
推荐指数
2
解决办法
3286
查看次数

为什么`find . -type f` 比 `find .` 花费的时间更长?

似乎find必须检查给定的路径是否与文件或目录相对应,以便递归地遍历目录的内容。

这是一些动机以及我在本地所做的事情,以说服自己find . -type f确实比find .. 我还没有深入研究 GNU 查找源代码。

所以我正在备份我$HOME/Workspace目录中的一些文件,并排除属于我的项目或版本控制文件的依赖项的文件。

所以我运行了以下快速执行的命令

% find Workspace/ | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' > ws-files-and-dirs.txt
Run Code Online (Sandbox Code Playgroud)

find管道传输到grep可能是不好的形式,但它似乎是使用否定正则表达式过滤器的最直接方式。

以下命令仅包含 find 输出中的文件,并且花费的时间明显更长。

% find Workspace/ -type f | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' > ws-files-only.txt
Run Code Online (Sandbox Code Playgroud)

我编写了一些代码来测试这两个命令的性能(使用dashtcsh,只是为了排除 shell 可能产生的任何影响,即使不应该有任何影响)。的tcsh,因为他们基本上是相同的结果已被忽略。

我得到的结果显示了大约 10% 的性能损失 -type f

下面是程序的输出,显示了执行 1000 次各种命令迭代所花费的时间。

% perl tester.pl
/bin/sh -c find Workspace/ >/dev/null
82.986582

/bin/sh -c find Workspace/ | grep -v '/vendor\|/node_modules/\|Workspace/sources/\|/venv/\|/.git/' …
Run Code Online (Sandbox Code Playgroud)

performance find gnu

15
推荐指数
1
解决办法
664
查看次数

如何在 Bash 中运行 N 次中的 1 个命令

我想要一种随机运行命令的方法,比如 10 次中的 1 次。是否有内置或 GNU coreutil 来执行此操作,理想情况下是这样的:

chance 10 && do_stuff

哪里do_stuff只执行了 10 次?我知道我可以写一个脚本,但这似乎是一件相当简单的事情,我想知道是否有一种定义的方式。

bash gnu coreutils random shell-builtin

15
推荐指数
4
解决办法
2639
查看次数

为什么 bash 时间比 GNU 时间更精确?

buitin bash 命令time提供毫秒精度的执行和 GNU time(通常是 /usr/bin/time)提供厘秒精度。的times(2)系统调用给出时钟倍,100个时钟= 1秒(通常),所以精度等GNU time。所以问题是 bashtime使用什么以使其更精确?

bash gnu time

12
推荐指数
1
解决办法
2277
查看次数

是否可以保存`bc` 命令行历史记录?

bash有一个方便的文件.bash_history,它保存命令的历史记录,并且在下次执行bash历史记录时填充保存的命令。

是否可以以bc相同的方式将命令历史记录保存到文件中,然后在启动时加载它以便保留 bc 历史记录?

我尝试阅读GNU bc 手册,它提到了readlinelibedit。从ldd /usr/bin/bc我看到我的使用readline,并readline具有write_historyread_history功能。这个功能是在里面实现的bc还是我需要修补的bc

gnu readline bc

12
推荐指数
1
解决办法
565
查看次数

为什么 GNU 日期的`-`(减号)解释与指定日期时的直观解释不同?

如果我从当前日期中减去一个时间量,GNU 日期的工作方式很直观:

date '+%F %R'; date '+%F %R' --date='- 1 hour'
2021-04-19 15:35
2021-04-19 14:35
Run Code Online (Sandbox Code Playgroud)

但是,当我使用日期作为操作数时,结果出乎意料:

$ date '+%F %R' --date='2000/1/2 03:04:05 - 1 hour'
2000-01-02 06:04

$ date '+%F %R' --date='2000/1/2 03:04:05 + 1 hour ago'
2000-01-02 02:04
Run Code Online (Sandbox Code Playgroud)

怎样date理解$date - 1 hour表达?

linux gnu date

12
推荐指数
2
解决办法
1315
查看次数

GNU OS 中的缓冲(命名)管道

在 GNU OS 中,如果另一个进程同时读取相同的数据(从同一管道),则进程只能将数据写入管道。

是否有类似管道的东西可以让第一个进程写入并缓冲数据,直到第二个进程读取它?

linux cache gnu buffer fifo

11
推荐指数
2
解决办法
5917
查看次数

关于改变参数和选项的含义的困惑,是否有正式的标准定义?

我在理解命令语法方面的选项和参数方面遇到了令人困惑的变化。

例如,我遇到了如下定义:

  • command -a -b -c d e f

    有些在 之间有所不同-a -b -c,将它们称为选项或开关,d e f并将它们称为参数。

  • command -a -b -c d e f

    有些,例如bash手册,调用所有-a -b -c d e f参数并解释说,它们都可以$1 $2 $3 $4 $5 $6分别从脚本中访问。

  • command -a b=c

    有些调用-a一个选项,b一个参数和c值,但其他人像前两点一样将它们混合在一起,在一个变体中调用所有-a b c参数。

这三个版本只是大量不同调用变体的示例,我什至不知道如何将它们全部列出,但我注意到肯定没有固定的命名约定。

或者至少,我知道没有标准化的命名约定,因为我遇到了不同的随机来源,但即使在官方 Linux 和 GNU 附属站点或手册中,我也可能遇到这种不一致的情况。

有没有毫无疑问的官方命名方案可以参考?

command-line standard gnu

11
推荐指数
1
解决办法
576
查看次数