小编use*_*329的帖子

$PATH 环境变量中的百分比

我的 $PATH 看起来像这样:

/home/torbjorr/deployed/vector/x86_64-GNU%2fLinux:/home/torbjorr/deployed/typewriter/x86_64-GNU%2fLinux:/home/torbjorr/deployed/mustudio/x86_64-GNU%2fLinux:/home/torbjorr/deployed/mathext/x86_64-GNU%2fLinux:/home/torbjorr/deployed/doxymax/x86_64-GNU%2fLinux:/home/torbjorr/deployed/c2tex/x86_64-GNU%2fLinux:/home/torbjorr/deployed/x86_64-GNU%2fLinux/wand:/home/torbjorr/deployed/x86_64-GNU%2fLinux/spellesc:/home/torbjorr/deployed/x86_64-GNU%2fLinux/projinit:/home/torbjorr/deployed/x86_64-GNU%2fLinux/herbs:/home/torbjorr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
Run Code Online (Sandbox Code Playgroud)

在 bash 中,我可以毫无问题地调用位于

/home/torbjorr/deployed/x86_64-GNU%2fLinux/wand
Run Code Online (Sandbox Code Playgroud)

喜欢

$ wand
(i) Mål från "main.cpp" har registrerats
(i) Skapar katalog "__wand_targets_dbg"
(i) Kör g++ "main.cpp" -fpic -L"/home/torbjorr/deployed"  -g -Wall -std=c++11 -I"/home/torbjorr/deployed" -o "__wand_targets_dbg/cb-template
Run Code Online (Sandbox Code Playgroud)

但是,在 bourne shell 兼容模式下,找不到 wand:

$ wand
sh: 2: wand: not found
Run Code Online (Sandbox Code Playgroud)

问题似乎是这些路径中的 % 符号。此符号已通过 URL 编码添加,因此名称“GNU/Linux”可以在目录名称中使用,即使它不是有效的文件名。是否可以让名称在 sh 中工作,或者使 sh 命令作为 bash 工作。也就是说,即使使用 /bin/sh 命令调用 bash 的行为也相同,该命令无论如何都指向 bash 的符号链接。

shell path dash ash

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

将作业置于后台而不冻结

说你这样开始工作

foo
Run Code Online (Sandbox Code Playgroud)

然后希望你想把它放在背景中。键入Ctrl+Z然后bg就可以了,但会fooCtrl+Z和之间冻结bg。如何在不先冻结的情况下将 foo 放在后台?

bash

9
推荐指数
2
解决办法
1742
查看次数

将 grub 放在虚拟磁盘上

为了了解 Linux 启动过程,我将 grub 放在磁盘映像文件中并尝试使用 qemu 启动。我目前还没有将任何内核映像放入驱动器中,只是 grub。我安装了 grub 使用

kpartx -av mydrive.img
losetup /dev/loop1 /dev/mapper/loop0p1
mount /dev/loop1 mnt/mydrive/
cd mnt/mydrive/boot
grub-install --no-floppy --boot-directory=. -v /dev/loop0
Run Code Online (Sandbox Code Playgroud)

我想逐步完成引导序列,所以我希望 grub 声称缺少内核,然后我想通过安装内核来修复它,并继续添加东西直到 X。

现在我得到

错误:没有这样的设备

但预计

错误:没有配置文件

形成救援提示,ls给出

(hd0) (fd0)
Run Code Online (Sandbox Code Playgroud)

问题: * grub 在寻找什么设备?那是指主机系统吗?【部分解决,UUID和虚拟文件系统的UUID是一样的】 *为什么Grub找不到设备?

如果我从 VM 内的 live-cd(我选择 Bodhi-linux,因为这是一个小型二进制发行版)安装 grub(除了 grub),一切正常。qemu 会不会给boot分区一个不同的uuid,不在外面用?

这是虚拟驱动器的分区表:

Disk mydrive.img: 264 MB, 264241152 byte
32 huvuden, 63 sektorer/spår, 256 cylindrar, totalt 516096 sektorer
Enheter = sektorer av 1 · 512 = 512 byte
Sector size …
Run Code Online (Sandbox Code Playgroud)

linux boot grub2 qemu

6
推荐指数
1
解决办法
4207
查看次数

重新编译内核,不含当前未使用的模块

有没有一种巧妙的方法来剥离 Linux 内核以仅支持当前正在使用的设备。在 NVIDIA 抱怨 GCC 版本不匹配之后,我决定使用当前版本的 GCC 重新编译内核。现在,既然知道当前内核实际使用哪些模块,我可以自动生成一个.config为本机定制的文件吗?这样展位可以节省一些空间和时间。就像是

lsmod [options] | sed [a good regexp] > .config
Run Code Online (Sandbox Code Playgroud)

kernel-modules linux-kernel

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

标签 统计

ash ×1

bash ×1

boot ×1

dash ×1

grub2 ×1

kernel-modules ×1

linux ×1

linux-kernel ×1

path ×1

qemu ×1

shell ×1