小编U. *_*ndl的帖子

如何在 less 中禁用“v”键绑定?

当我使用less并按下它时v,它会切换到当前设置的编辑器(Emacs 或 vim)。

MISCELLANEOUS COMMANDS
v    Edit the current file with $VISUAL or $EDITOR.
Run Code Online (Sandbox Code Playgroud)

如果我不想在编辑器中打开当前文件,是否可以防止这种行为?

less

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

我使用什么命令来查看文件系统中文件的开始和结束块?

是否有任何命令可以输出文件系统中任何文件的开始和结束块号?

command-line filesystems files

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

如何替换整个文件每一行中特定上下文中的字符?

我有一个大文件,其中包含数百个以下形式的英语短语:

\n
\\phrase\n{.   .    .     *     *   }\n{I shoul-d've stayed home.}\n{a\xc9\xaa \xca\x83\xca\x8ad\xe2\x80\xbf\xc9\x99v \xcb\x88ste\xc9\xaad \xcb\x88ho\xca\x8am.} <- only replace on this line\n\n\\phrase\n{ .   .   *  }\n{Did you eat?}\n{d\xc9\xaad\xca\x92j\xca\x8a\xca\xb7\xcb\x88it? \xe2\x86\x97} <- only replace on this line\n\n\\phrase\n{ *    .  *    .    *  .  .    .     *   .  }\n{Yeah, I made some pas-ta if you're hun-gry.}\n{\xcb\x88j\xc9\x9b\xc9\x99, a\xc9\xaa \xcb\x88me\xc9\xaad s\xc9\x99m \xcb\x88p\xc9\x91 st\xc9\x99\xca\xb7\xc9\xaaf j\xc9\x99r \xcb\x88h\xca\x8c\xc5\x8b gri.} <- only replace on this line\n
Run Code Online (Sandbox Code Playgroud)\n

这是一个 LaTeX.tex文件。我想用符号(十六r进制代码)替换每个音标中的所有字符(通过音标,我的意思是该\\phrase行之后的每三行)\xc9\xb9U+0279

\n

在 Emacs …

text-processing replace

13
推荐指数
5
解决办法
1881
查看次数

Chrony 3.1 拒绝与 ntp 服务器同步

我有 70 台装有 CentOS 7.2 和 chrony 版本 2.1.1 的机器,与我的 NTP 服务器协议 v3 完美同步。

最近我添加了 30 台机器 CentOS 7.4 and chrony version 3.1,但是这 30 台机器拒绝同步,我遵循了所有的故障排除程序,但我完全不知道如何解决这个问题。命令输出:

chronyc tracking
Reference ID    : 00000000 ()
Stratum         : 0
Ref time (UTC)  : Thu Jan 01 00:00:00 1970
System time     : 0.000000013 seconds fast of NTP time
Last offset     : +0.000000000 seconds
RMS offset      : 0.000000000 seconds
Frequency       : 11.390 ppm fast
Residual freq   : +0.000 ppm
Skew            : 0.000 ppm
Root delay …
Run Code Online (Sandbox Code Playgroud)

centos troubleshooting ntpd synchronization chrony

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

打开:cryptsetup 内存不足(“没有足够的可用内存来打开密钥槽。”)

我正在开发 yocto 发行版,包括 2.3.2 版本中的 cryptsetup

我在具有 1 GB RAM 的主板上运行此类发行版,在尝试打开无法正确调试的加密分区时遇到“内存不足”错误。有任何想法吗?

我的发行版从具有 3 个分区的 mSD 运行;第三个 (30 MB) 是加密的。

我使用ArchLinux 指南中描述的步骤来加密该分区,使用 ext3 而不是 ext4

# cryptsetup -y -v luksFormat /dev/sda2
# cryptsetup open /dev/sda2 cryptroot
# mkfs.ext3 /dev/mapper/cryptroot
Run Code Online (Sandbox Code Playgroud)

但尝试在我的主板上打开该分区会引发错误:

cryptsetup --debug open /dev/mmcblk0p3  cryptroot
# cryptsetup 2.3.2 processing "cryptsetup --debug open /dev/mmcblk0p3 cryptroot"
# Running command open.
# Locking memory.
# Installing SIGINT/SIGTERM handler.
# Unblocking interruption on signal.
# Allocating context for crypt device /dev/mmcblk0p3.
# Trying …
Run Code Online (Sandbox Code Playgroud)

encryption luks cryptsetup yocto

8
推荐指数
2
解决办法
5295
查看次数

`declare -a A` 是否在 Bash 中创建一个空数组 `A`?

declare -a A创建一个空的数组A在bash,或者它只是设置的情况下,一个属性A被分配到以后呢?

考虑这个代码:

set -u
declare -a A
echo ${#A[*]}
echo ${A[*]}
A=()
echo ${#A[*]}
echo ${A[*]}
A=(1 2)
echo ${#A[*]}
echo ${A[*]}
Run Code Online (Sandbox Code Playgroud)

预期的输出应该是什么?

在 Bash 4.3.48(1) 中,我bash: A: unbound variable在查询declare. 访问所有元素时,我也会收到该错误。我知道更高版本的 Bash 对此有不同的处理方式。我仍然想知道是否declare实际定义了一个变量(为空)。

bash array variable declare

7
推荐指数
1
解决办法
2541
查看次数

“警告:‘[ob]’形式的范围取决于区域设置”是 gawk 4.1.0 中的错误吗?

在编写一些awk代码时,我使用了4.1.0--lint的选项gawk。令我惊讶的是我收到了警告

警告:“[ob]”形式的范围取决于区域设置

但我的代码只有foo-bar字符类的外部。简化示例:

{ match($2, /^uid=([^,]+),dc=foo-bar$/, m) }
Run Code Online (Sandbox Code Playgroud)

另外我认为 gawk 4.2.1 不再输出该警告,那么这是一个错误吗gawk

awk locale pattern-matching

7
推荐指数
1
解决办法
314
查看次数

是否可以打印命令以便可以解析输出以创建相同的命令?

这个问题听起来可能很复杂,但事实上并非如此!考虑:

% f() { echo "$@"; }
% f a
a
% f cmd -o"value with space"
cmd -ovalue with space
% f cmd -ovalue with space
cmd -ovalue with space
% f cmd -o'value with "quotes"'
cmd -ovalue with "quotes"
% f cmd -ovalue with "quotes"
cmd -ovalue with quotes
Run Code Online (Sandbox Code Playgroud)

显然,“带空间的值”只是一个参数的属性丢失了;同样,双引号在重新输入时也会被“吃掉”。

所需的输出是可以再次用作输入以产生相同输出的输出。

我不认为 BASH 中内置了允许这样做的东西,对吧?

澄清

如果我想要做什么并不明显:我有一个存储在 shell 数组中的命令,并且我想将这样的数组打印到标准输出,以便用户可以复制并粘贴输出以在 shell 提示符(或script),以便重现数组中的相同命令。

考虑这个(愚蠢的)例子:

> X=(echo "Bob's car is named \"Bobby\"")
Run Code Online (Sandbox Code Playgroud)

一个普通的echo "${X[@]}"会输出

echo 鲍勃的车名为“鲍比”

一种可能的正确输出可能是

echo …

bash parameter quoting

7
推荐指数
2
解决办法
630
查看次数

syslog() 写入 /dev/log 时使用什么格式?

我最初想将其发布到 StackOverflow,因为我的兴趣主要来自于编程焦点,但在阅读了历史标签(以及它链接到的问题)后,我将其发布到 softwareengineering.se以深入了解实际/当前-日《软件工程》方面。然而,我的问题的根本历史性质是不可避免的,所以现在就到这里了。

\n
\n

我目前正在了解 Linux 上的日志记录如何工作,并且对RFC 5424RFC 3164似乎未涵盖的实现细节有点困惑:用于将数据写入/dev/log.

\n

TL;DR:我正在尝试确定 a)“/dev/log格式”的名称,以及 b)其语义的正式指定位置。我无法识别任何 RFC 或其他可引用的参考文献 - 仅代码实现特定规则,没有押韵或理由。

\n

syslog()虽然我最初对这个主题感兴趣,同时评估与其他日志记录策略(写入 stdout/stderr 和/或文件;发送到其他类型的日志服务器等)的优缺点,但有一次我意识到我完全无法确定“/dev/log格式”如何/在何处适应更大的情况。关于 syslog 格式或协议的每个问题都讨论了 RFC,并且完全忽略了控制数据如何离开syslog()并发送到 syslog 服务器的规则。

\n

几乎就像 UNIX 的这个特定角落已经完全消失在木制品中一样,就像不再存在一样……而每天都有数万亿条日志消息使用这种“格式”(?)写入。

\n

因此,这个问题是试图消除这个特定细节的歧义,只是为了这样做,描述格式,并确定可引用的参考文献。

\n
\n

日志行似乎需要以非常特定的方式进行格式化才能被接受(在我的例子中是 systemd-journald - 首先是优先级/设施信息(包含在 中<>),然后是一个非常特定格式的时间戳,这似乎是通常提到的to 作为标签,然后是消息:

\n
\n# logger -s hi\n<13>3 月 5 日 14:04:11 i336: hi\n\n#journalctl -qn1 -o Short-iso-precise\n2021-03-05T14:04:11.430504+1100 h0nk …

logs history syslog historical-unix systemd-journald

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

如何避免mailx中的“寻呼机”?

我的收件箱中有很多短邮件,这很烦人,即使是通过寻呼机(较少)发送短消息,也需要按“q”才能查看下一条消息(例如)。

我阅读了有关寻呼机的手册页,但这些都不起作用:

PAGER= mailx
set pager=
unset pager
unset PAGER
Run Code Online (Sandbox Code Playgroud)

如何禁用寻呼机?我正在使用 SLES 15 SP3 的 mailx 12.5。

pager mailx

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