AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-143394

Tom Hale's questions

Martin Hope
Tom Hale
Asked: 2023-06-30 19:14:58 +0800 CST

${parameter:?word} 扩展: `\}` bash 和 zsh 的区别

  • 8

我正在尝试在 中的扩展}的输出中获取文字。${parameter:?word}zsh

在 bash 中,它按预期工作——我可以}用 a引用\:

% bash           
$ echo "${unset_var_name?Here is a close brace >>\}<<}" 
bash: unset_var_name: Here is a close brace >>}<<

但我不知道如何在 zsh 中执行相同的操作:

% zsh                                                                                           
% echo "${unset_var_name?Here is a close brace >>\}<<}" 
zsh: unset_var_name: Here is a close brace >>\}<<

请注意,\上面出现了字面意思。

zsh
  • 1 个回答
  • 43 Views
Martin Hope
Tom Hale
Asked: 2022-01-22 01:56:31 +0800 CST

systemd 单元文件中 `ExecSearchPath=` 的默认值是什么?

  • 3

man systemd.exec说关于ExecSearchPath=:

采用冒号分隔的绝对路径列表,可以找到 Exec*=(例如 ExecStart=、ExecStop= 等)属性使用的可执行文件。如果用户未通过 Environment=、EnvironmentFile= 或 PassEnvironment= 提供 $PATH,则 ExecSearchPath= 将覆盖 $PATH。分配一个空字符串会删除之前的分配,并且多次将 ExecSearchPath= 设置为一个值将附加到之前的设置。

的默认值是ExecSearchPath=多少?

systemd systemd-unit
  • 1 个回答
  • 285 Views
Martin Hope
Tom Hale
Asked: 2022-01-19 21:23:54 +0800 CST

zsh 中的“全局键映射”是什么?

  • 2

在zsh手册18.2.2 Local Keymaps中,它三次引用“全局键映射”。

这个术语在哪里定义?

如何找出我当前的全局键映射,以及如何更改它?

zsh keyboard-shortcuts
  • 1 个回答
  • 268 Views
Martin Hope
Tom Hale
Asked: 2020-02-07 06:53:48 +0800 CST

是否安装了 systemd 自动挂载点?

  • 2

mountpoint即使systemd未挂载自动挂载,也会报告挂载点:

% mountpoint /media/ssd
/media/ssd is a mountpoint
% mount | grep /media/ssd
systemd-1 on /media/ssd type autofs (rw,relatime,fd=35,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=13618)

如何判断挂载点是否实际自动挂载?

mount systemd
  • 2 个回答
  • 224 Views
Martin Hope
Tom Hale
Asked: 2019-11-12 07:44:17 +0800 CST

btrfs 是循环读取还是吞吐量最大化?

  • 0

如果有可用的更快的设备,是否btrfs更喜欢从更快的设备上读取?

我问的理由:

我有一个btrfs关于旋转生锈的 RAID 1。我想使用它bcache来提高性能,并希望只缓存一个驱动器(以获得更大的缓存覆盖率),如果btrfs它足够聪明,可以更喜欢从bcache设备读取而不是旋转的 rust 设备。

linux
  • 1 个回答
  • 109 Views
Martin Hope
Tom Hale
Asked: 2019-09-25 07:44:50 +0800 CST

在 bash 提示符中引用目录名称

  • 0

我想在提示符中引用当前目录。

例如,如果我这样做:

mkdir $'new\nline'; cd $'new\nline'

我希望我的提示显示$'new\nline',而不是打印文字换行符。

我看到尝试在以下位置打印反斜杠 ( \) 的有趣行为bash 5.0.9:

p='\\n'       && echo -E "${p@P}"  # 2 slashes; output = '\n'
p='\\\\n'     && echo -E "${p@P}"  # 4 slashes; output = '\n'
p='\\\\\\n'   && echo -E "${p@P}"  # 6 slashes; output = '\\n'
p='\\\\\\\\n' && echo -E "${p@P}"  # 8 slashes; output = '\\n'

注意:${parameter@P}是一个字符串,它是扩展值的结果,parameter就好像它是一个提示一样

为什么输出与(2 和 4)和(6 和 8)斜杠等效?

鉴于这种混乱,并且:

mkdir '\\n' && cd '\\n'

我不知道如何以编程方式将其转换\\n为字符串,使其在提示符中显示为:\\\\n或$'\\\\n',以及处理文字换行符的情况。


如何获取提示中引用的目录名称,例如:

  • ~为子目录显示$HOME和前导~/
  • 仅在需要时才转义其他路径
  • 显示的字符串的复制粘贴是引用当前目录的有效 shell 令牌

例如"$HOME/dir with spaces"应该显示为:

  • ~/dir\ with\ spaces
  • ~/$'dir with spaces'
  • ~/'dir with spaces'
bash
  • 2 个回答
  • 337 Views
Martin Hope
Tom Hale
Asked: 2019-09-14 23:49:58 +0800 CST

清理文件系统以检查所有使用的扇区是否可读

  • 0

我希望有一种方法可以定期检查我是否确实可以读取驱动器上的所有数据,以便我可以重写任何文件和/或在出现问题时进一步调查。

ZFS 和 Btrfs 都有用于此目的的清理命令。

如何有效地清理 ext* 和 NTFS?

filesystems
  • 1 个回答
  • 138 Views
Martin Hope
Tom Hale
Asked: 2019-09-09 23:36:13 +0800 CST

蓝牙处于活动状态时如何暂停/睡眠?

  • 2

蓝牙处于活动状态时,我无法暂停/睡眠。系统日志中没有错误消息。

但是,在rfkill block bluetooth我可以成功睡眠/挂起之后。

我使用蓝牙鼠标,因此无法永久禁用蓝牙。

如何在仍然具有蓝牙功能的同时休眠/挂起?

linux
  • 1 个回答
  • 2790 Views
Martin Hope
Tom Hale
Asked: 2019-09-06 03:05:42 +0800 CST

GRUB:在 GRUB_CMDLINE_LINUX 中转义 acpi_osi="Windows 2015"

  • 2

如何转义字符串:

acpi_osi="Windows 2015"

保留 GRUB 中的空格和引号GRUB_CMDLINE_LINUX?

[备用搜索词:acpi_os_name=]

grub2 kernel-parameters
  • 1 个回答
  • 1609 Views
Martin Hope
Tom Hale
Asked: 2019-05-04 01:54:12 +0800 CST

在 zsh 中的 stderr 以外的其他地方直接输出 xtrace

  • 7

在 zsh 中,是否可以将跟踪输出从set -x( set -o xtrace) 定向到 stderr 以外的文件描述符?

我正在寻找一种等效的$BASH_XTRACEFD方法或一种方法来模拟相同的行为。

zsh debugging
  • 2 个回答
  • 440 Views
Martin Hope
Tom Hale
Asked: 2019-02-23 01:23:14 +0800 CST

logind.conf `IdleAction=kexec` 究竟做了什么?

  • 4

logind.conf手册页说:

空闲动作=

配置系统空闲时要执行的操作。采用“ignore”、“poweroff”、“rebo​​ot”、“halt”、“kexec”、“suspend”、“hibernate”、“hybrid-sleep”、“suspend-then-hibernate”和“lock”之一。默认为“忽略”。

我没有看到kexec任何地方解释的价值。这里具体做什么kexec?

是否有kexec(8)它运行的等效命令行?

在什么情况下,无论如何在系统空闲时热重启到新内核是有用的?

linux systemd
  • 1 个回答
  • 1656 Views
Martin Hope
Tom Hale
Asked: 2019-02-23 01:15:02 +0800 CST

即使使用 shopt expand_aliases,bash 别名也不会扩展

  • 10

我想在bash -c构造中运行别名。

bash手册说:

当 shell 不是交互式时,别名不会扩展,除非expand_aliasesshell 选项设置为shopt

在这个例子中,为什么显式hi设置时找不到别名expand_aliases?

% bash -O expand_aliases -c "alias hi='echo hello'; alias; shopt expand_aliases; hi"
alias hi='echo hello'
expand_aliases  on
bash: hi: command not found

我在跑步GNU bash, version 5.0.0(1)-release (x86_64-pc-linux-gnu)。

上下文:我希望能够以空闲优先级运行别名,例如包含以下内容的脚本:

#!/bin/bash
exec chrt -i 0 nice -n 19 ionice -c 3 bash -c ". ~/.config/bash/aliases; shopt -s expand_aliases; $(shell-quote "$@")"

我想避免使用bash -i,因为我不想.bashrc被阅读。

bash alias
  • 2 个回答
  • 5473 Views
Martin Hope
Tom Hale
Asked: 2019-02-13 01:00:21 +0800 CST

允许从中断的 `badblocks -n` 中恢复

  • 1

man badblocks说:

   -n     Use non-destructive read-write mode.

这个答案说:

无损读写测试的工作原理是覆盖数据,然后读取验证,然后再将原始数据写回。

badblocks在写入测试数据期间或之后但在它写回原始数据之前,是否有任何方法允许恢复应该被中断(例如内核挂起)?

badblocks
  • 2 个回答
  • 393 Views
Martin Hope
Tom Hale
Asked: 2019-02-05 00:49:28 +0800 CST

非破坏性 badblocks -n 写入什么模式?

  • 1

man badblocks说:

   -n     Use non-destructive read-write mode.  By default only a non-
          destructive read-only test is done.  This option must not be
          combined with the -w option, as they are mutually exclusive.

这个答案说:

无损读写测试的工作原理是覆盖数据,然后读取验证,然后再将原始数据写回。

-n如果没有明确指定,则使用什么模式-t?

badblocks
  • 1 个回答
  • 433 Views
Martin Hope
Tom Hale
Asked: 2019-01-29 18:37:40 +0800 CST

确保内置命令在异常情况下运行

  • 1

给定一个恶劣的环境,例如:

for word in builtin command type unfunction declare set unset alias; do
    eval "$word(){ echo $word function; };  alias $word='echo $word alias'"
done 

是否可以访问内置命令?例如,是否可以执行以下操作:

\command \builtin \type echo

仍然看到:

echo is a shell builtin

敌对(或锁定)环境是否有可能完全重新定义事物,从而永远无法访问底层的内置函数或路径名?

bash shell
  • 1 个回答
  • 62 Views
Martin Hope
Tom Hale
Asked: 2019-01-26 15:16:14 +0800 CST

RAID1 上的 btrfs 替换速度非常慢,存在故障磁盘

  • 2

我正在尝试替换 RAID1 btrfs 文件系统中的故障磁盘。

我仍然可以挂载分区rw(大约 5 分钟延迟和大量 I/O 内核错误之后)。

我开始replace尝试-r让故障磁盘不影响操作速度:

      -r
           only read from <srcdev> if no other zero-defect mirror exists.
           (enable this if your drive has lots of read errors, the access
           would be very slow)

不过,我的表现真的很差。分区为 3.6TiB,在 9.25 小时内我得到:

3.8% done, 0 write errs, 0 uncorr. read errs

按照这个速度,需要10多天才能完成!!!

由于我无法控制的情况,等待的时间太长了。

我经常看到有关故障磁盘的内核错误,平均每 5 分钟左右:

Jan 26 09:31:53 tara kernel: print_req_error: I/O error, dev sdc, sector 68044920
Jan 26 09:31:53 tara kernel: BTRFS warning (device dm-3): lost page write due to IO error on /dev/mapper/vg4TBd2-ark
Jan 26 09:31:53 tara kernel: BTRFS error (device dm-3): bdev /dev/mapper/vg4TBd2-ark errs: wr 8396, rd 3024, flush 58, corrupt 0, gen 3
Jan 26 09:31:53 tara kernel: BTRFS error (device dm-3): error writing primary super block to device 2
Jan 26 09:32:32 tara kernel: sd 2:0:0:0: [sdc] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
Jan 26 09:32:32 tara kernel: sd 2:0:0:0: [sdc] tag#0 Sense Key : Medium Error [current]
Jan 26 09:32:32 tara kernel: sd 2:0:0:0: [sdc] tag#0 Add. Sense: Unrecovered read error
Jan 26 09:32:32 tara kernel: sd 2:0:0:0: [sdc] tag#0 CDB: Read(10) 28 00 02 eb 9e 23 00 00 04 00
Jan 26 09:32:32 tara kernel: print_req_error: critical medium error, dev sdc, sector 391967000

我猜测错误是由于 btrfs 试图将会计数据写入磁盘(即使它完全空闲)。

即使是 mount ro, btrfs 也可能会尝试写入磁盘。挂载选项-onologreplay:

        Warning
           currently, the tree log is replayed even with a read-only
           mount! To disable that behaviour, mount also with nologreplay.

我怎样才能加快这个过程?

这篇文章说replace重启后会继续。

我在想:

  1. 取消当前replace
  2. 移除故障磁盘
  3. mount -o degraded,rw
    • 鉴于这种一次性安装选项的问题,希望没有停电)

在这个时间点,我建议同时:

  1. 允许replace在不存在故障磁盘的情况下继续(最近scrub显示好磁盘具有所有数据)
  2. 转换数据以single允许rw在过程中断电的情况下再次安装

这是一个replace提前完成的合理计划吗?

我的计算表明,考虑到磁盘 I/O 速度,6.5 小时(而不是 10 天)是可行的。

linux btrfs
  • 3 个回答
  • 1130 Views
Martin Hope
Tom Hale
Asked: 2019-01-25 19:54:18 +0800 CST

btrfs 替换“错误:目标设备小于源设备”

  • 3

为什么我看到:

btrfs replace "ERROR: target device smaller than source device"

当我已经通过以下方式将源设备文件系统缩小为小于目标时:

btrfs filesystem resize <devid>:<small-size> /mountpoint
linux btrfs
  • 3 个回答
  • 749 Views
Martin Hope
Tom Hale
Asked: 2018-12-26 23:47:59 +0800 CST

pacman: <filename> 存在于文件系统中

  • 10

使用 安装软件包时pacman,我看到:

error: failed to commit transaction (conflicting files)
station: /usr/bin/station exists in filesystem

无论如何,我如何告诉pacman安装包,覆盖现有文件?

arch-linux manjaro
  • 1 个回答
  • 26399 Views
Martin Hope
Tom Hale
Asked: 2018-12-10 18:08:36 +0800 CST

为什么我的 readline / .inputrc 配置被忽略?

  • 3

我的配置行中有.inputrc:

set enable-bracketed-paste on  # Insert paste as a string rather than possibly running it

这在命令行中键入时有效:

bind 'set enable-bracketed-paste on'

但是,当我开始时没有设置变量bash v4.4.23。

为什么这条线被忽略了?

readline inputrc
  • 2 个回答
  • 533 Views
Martin Hope
Tom Hale
Asked: 2018-11-06 03:28:03 +0800 CST

geoclue2:如何获取位置和配置

  • 8

在命令行中,如何获取geoclue2要报告的当前位置?

bin/我的 Arch 包中没有手册页或可执行文件。

redshift(使用geoclue2)将我的位置报告为:

7.98 98.37

但是谷歌地图给了我:

9.749160, 99.975484

有没有办法配置什么来源geoclue2使用以获得更好的准确性?

大多数谷歌geoclue2搜索redshift都没有太大帮助:(

geolocation geoclue
  • 3 个回答
  • 8243 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve