小编use*_*270的帖子

Bash命令在光标前复制并粘贴到后?

我不知道如何表达,但我经常发现自己输入这样的命令:

cp /etc/prog/dir1/myconfig.yml /etc/prog/dir1/myconfig.yml.bak
Run Code Online (Sandbox Code Playgroud)

我通常只输入两次路径(使用制表符完成),或者我将使用光标复制并粘贴路径。是否有一些 bashfoo 使输入更容易?

command-line bash clipboard line-editor

24
推荐指数
5
解决办法
2678
查看次数

整个内核是否在启动时加载到内存中?

我通读了这个流行的 IBM 文档(我在网上经常看到它被引用),解释了初始 RAM 磁盘的功能。

不过,我在概念化其工作原理时遇到了障碍。

在文档中它说

引导加载程序(例如 GRUB)识别要加载的内核并将内核映像和任何关联的 initrd复制到内存中

我已经很困惑了:它是将整个内核复制到内存中还是只是其中的一部分?如果整个内核都在内存中,那么为什么我们甚至需要初始 RAM 磁盘?

我认为 initrd 的目的是能够拥有一个小的通用内核映像,initrd 将在加载内核映像之前在其中安装正确的模块。但是如果整个内核已经在内存中,为什么我们还需要 initrd?

这也带来了另一件让我困惑的事情——加载到内核中的模块在哪里?是否所有内核模块都存储在 initrd 中?

linux grub kernel initrd initramfs

15
推荐指数
2
解决办法
8056
查看次数

在 bash 历史记录中搜索已经输入的命令

当我输入 ctrl+r然后开始输入时,我可以看到历史匹配中哪些命令很棒。

现在有没有办法搜索我已经在终端中输入的命令的历史记录?

例如,如果我输入 ctrl+r,然后输入 ping,我可以在我 ping 的服务器之间循环。但是如果我先输入“ping”然后按 ctrl+r 它会忽略我已经输入的“ping”。

有时,尽管输入一串命令,我会半途而废,然后想“哦,我已经输入了这个,在我已经输入的内容上搜索历史记录而不是重新开始肯定会很好”。

这对我的要求有意义吗?

shell bash command-history autocomplete

6
推荐指数
2
解决办法
8425
查看次数

yum 安装多个包,包括 groupisntall

我想要一个安装所有我需要的包的衬垫,但我不确定如何在这个(groupinstall'开发工具')中包含 groupinstall 命令。

现在我运行这个:

sudo yum install perl-CPAN wget zlib-devel tcp_wrappers
Run Code Online (Sandbox Code Playgroud)

然后这个:

sudo yum groupinstall 'Development Tools'
Run Code Online (Sandbox Code Playgroud)

我怎样才能把它做成单衬里?

yum

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

对 ls 命令中星号的行为感到困惑

在 Centos 和 Debian 上我试过这个。

ls 命令中的 * 是否意味着递归搜索?

如果我开始输入目录名称并点击选项卡,我会看到:

# ls /etc/rc<tab>
rc0.d/    rc1.d/    rc2.d/    rc3.d/    rc4.d/    rc5.d/    rc6.d/    rc.local  rcS.d/
Run Code Online (Sandbox Code Playgroud)

我想如果我在路径中放一个星号,我会看到同样的东西,但它进行了递归搜索:

# ls /etc/rc*
/etc/rc.local

/etc/rc0.d:
K50netconsole  K90network

/etc/rc1.d:
K50netconsole  K90network

/etc/rc2.d:
K50netconsole  S10network

/etc/rc3.d:
K50netconsole  S10network
...
Run Code Online (Sandbox Code Playgroud)

windows dir 命令只会向我显示与 /etc/rc* 匹配的目录,我怎样才能从 ls 获得这种行为(不使用 tab 键)?

****编辑/更新:

好的,现在我明白 * 是由 bash 而不是命令解释的,但它是否总是被解释为“枚举文件和文件夹条目”,或者如果我在不同的上下文中使用它,它会做其他事情吗? bash 中的 if 语句表示“如果 * 与文件系统路径一起使用返回文件和文件夹名称,如果 * 与 rpm 一起使用(如rpm -qa post*)返回包名称等”

ls shell bash

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

文件系统中的符号链接与硬链接如何表示?

我想确保我对此的理解是正确的:

  • 创建一个硬链接会创建另一个指向同一个 inode 的 dentry
  • 制作符号链接是创建一个全新的文件对象/inode,它指向另一个 inode 的 dentry。文件系统以一种特殊的方式处理这个文件(将某些操作重定向到另一个 inode 的 dentry)

filesystems symlink

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

如何通过数字范围过滤行?

该文件只有一列:

fs://derps123/20210103/
fs://derps123/20210104/
fs://derps123/20210105/
fs://derps123/20210106/
fs://derps123/20210107/
fs://derps123/20210108/
fs://derps123/20210109/
Run Code Online (Sandbox Code Playgroud)

我想过滤20210105和之间的行20210108

我尝试使用 awk 进行过滤,date但这会引发语法错误:

awk -v date='gs://derps123/''$1!=date{next};/20210105/,/20210108/' folders.txt
Run Code Online (Sandbox Code Playgroud)

awk

-1
推荐指数
1
解决办法
445
查看次数