小编Rhy*_*oid的帖子

为什么允许“who mil”不产生任何输出?

在 IEEE Std 1003.1-2008(又名 The Open Group Base Specifications Issue 7,或仅 POSIX 标准)的 2016 版中,该who实用程序的基本原理部分提到了以下内容:

实现不为调用who mil产生任何输出是可以接受的。

谁或什么是“mil”?为什么允许实现不产生任何输出who mil

history posix who

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

如何在没有循环的情况下在常规文件中对卷进行分区?

我正在尝试进行操作系统开发,我从引导加载程序开始,其中阶段 0 从 ext4 分区(由第一个 LBA 指定)上的文件(由 inode 指定)加载阶段 1。当然,我需要一些东西来启动,所以我抓住了 QEMU。怎么办?

到目前为止效果很好的是:

truncate -s64M /tmp/SomeVolume
/sbin/mke2fs -t ext4 -F /tmp/SomeVolume
yasm phase0.asm
dd if=phase0 of=/tmp/SomeVolume conv=notrunc
Run Code Online (Sandbox Code Playgroud)

我制作了一个大约 64 MB 的卷,将其格式化为 ext4,并用 phase0(大小始终为 1024 字节)覆盖前 1024 个八位字节。这工作正常。

但是现在我想制作一个正确分区的文件,以针对更现实的场景对其进行测试。我知道我可以使用/sbin/cfdisk我的卷文件,但mke2fs没有一个参数可以让我在文件中选择一个跨度。

现在我知道使用 loop解决方案,但不幸的是,它似乎对我不起作用(似乎我无法max_part在 Debian jessie 中进行更改)。似乎还有另一个名为 的模块nbd,但我没有安装该模块的服务器和客户端。我需要 root 权限才能在用户空间中明确完成某些事情,这有点荒谬。

作为用户,我该如何做到这一点?或者我应该围绕我创建的 ext4 格式文件构建 MBR/GPT 分区卷?

partition ext4 loop-device

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

为什么 awk split() 使第一个字段成为数组中的最后一个元素?

我可能在这里遗漏了一些非常简单的东西,但是当我说

echo 'The quick brown fox jumped over the lazy dog.' | \
    awk '{
        split($0, WORDS, " ");
        for ( WORD in WORDS ) {
            print $WORD;
        }
    }'
Run Code Online (Sandbox Code Playgroud)

我得到这个回报:

quick
brown
fox
jumped
over
the
lazy
dog.
The
Run Code Online (Sandbox Code Playgroud)

为什么第一个字最后打印?

$ awk --version
awk version 20070501
Run Code Online (Sandbox Code Playgroud)

awk

1
推荐指数
2
解决办法
4295
查看次数

标签 统计

awk ×1

ext4 ×1

history ×1

loop-device ×1

partition ×1

posix ×1

who ×1