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-364311

Cruise5's questions

Martin Hope
Cruise5
Asked: 2022-10-15 11:33:01 +0800 CST

如何找到没有依赖关系的已安装 debian 软件包列表?

  • 1

我正在尝试比较两个 debian 11 系统(服务器 1 和服务器 2)、一个 debian 9 和一个 11 系统(服务器 3 和服务器 2),并确保它们具有相同的软件包。我打算使用 ansible 安装缺少的软件包。

我查看了Debian 在哪里存储已安装软件包的列表?但它不显示 apt 包版本,也显示依赖项。我只需要安装在 system1 上的带有版本号的 debian 软件包,这样我就可以在 system2 上进行比较并安装缺少的软件包。

debian package-management
  • 3 个回答
  • 45 Views
Martin Hope
Cruise5
Asked: 2022-07-07 18:47:26 +0800 CST

将正在运行的文件系统克隆到图像文件

  • 3

如何将正在运行的 Linux 文件系统 (Debian 10) 克隆到.img文件中?我想将其闪存到另一个 SSD 并希望新系统运行完全相同。Clonezilla 对我不起作用。新机器硬件将完全相同。

linux filesystems
  • 5 个回答
  • 193 Views
Martin Hope
Cruise5
Asked: 2022-06-30 10:16:11 +0800 CST

IP地址字符串操作问题

  • 1

我正在尝试10.AB.C9从 5 位数字构建三个八位字节12ABC:

  • 12= 第一个八位字节
  • AB= 第二个八位字节
  • C= 第三个八位字节

我现有的代码有两种情况会导致生成正确的 IP。如果 C 有一个前导零,例如:02,那么第三个八位字节将为 027,并且 IP 不能有硬编码的前导零。

five_digits=12620

if [ "${five_digits:4:1}" -eq 0 ]; then
  ip_main="10.${five_digits:2:2}.9"
  gateway_ip_prefix="10.${five_digits:2:2}.2"

elif [ "${five_digits:4:1}" -ne 0 ]; then
  
  ip_main="10.${five_digits:2:2}.${five_digits:4:1}9"
  gateway_ip_prefix="10.${five_digits:2:2}.${five_digits:4:1}2"

上面的代码解决了 C 中的前导零问题

第二种情况是 A 为零,这意味着第二个八位字节将具有前导零。我不确定如何处理这种情况并希望使脚本更简单。

bash shell-script
  • 1 个回答
  • 60 Views
Martin Hope
Cruise5
Asked: 2022-06-29 05:36:38 +0800 CST

如何检查流量是否通过 VPN 并返回?

  • 2

如何在中间的 OpenVPN 服务器提供的同一虚拟子网上的一个 OpenVPN 客户端和另一个客户端之间编写回显语句?就像我想从客户端回显一个字符串,而另一个客户端应该用一个字符串回复?

networking openvpn
  • 1 个回答
  • 83 Views
Martin Hope
Cruise5
Asked: 2022-06-25 08:25:01 +0800 CST

转换IP的更好方法?

  • 0

我正在尝试转换10.AB.C9.XYZ为10.AB.C2.252.

现在我正在提取每个字符并将它们拼凑在一起。

ip_main=10.AB.C9.XYZ

A_char=${ip_main:3:1}
B_char=${ip_main:4:1}
C_char=${ip_main:6:1}

new_ip="10.${A_char}${B_char}.${C_char}2.252"

有没有更好的方法来实现这一点?

bash shell-script
  • 3 个回答
  • 75 Views
Martin Hope
Cruise5
Asked: 2022-06-20 05:28:08 +0800 CST

SSH 密钥中的回车 ^M 会有所不同吗?

  • 1

我将一个 git repo 克隆到一个服务器,该服务器具有分散在不同地方的相同文件。然后我比较了两个目录(一个克隆到现有的),以确保它们完全相同。该comp命令显示只有一个区别,那就是远程服务器文件上的 ssh 密钥。^M远程文件中存在回车符。这会改变密钥吗?如果是,如何删除vim中的回车符。

ssh vim
  • 1 个回答
  • 69 Views
Martin Hope
Cruise5
Asked: 2022-06-17 09:03:16 +0800 CST

x=( $@ ) 和 x="$@" 的赋值差异

  • 4
#!/bin/bash

if [ $# -gt 0 ]; then
    snum=( $@ ) 
    echo $snum
fi

./testscript.sh 1234 4568 当我像The output of echo command is only那样运行脚本时1234,所以我想我没有构建所有位置参数的数组?

#!/bin/bash

if [ $# -gt 0 ]; then
    snum="$@" 
    echo $snum
fi

并运行./testscript.sh 1234 4568 输出是1234 4568

我想知道为什么snum=( $@ )只采用第一个位置参数?

bash
  • 2 个回答
  • 607 Views
Martin Hope
Cruise5
Asked: 2022-06-05 07:26:01 +0800 CST

无法理解 sed 命令在此脚本中的作用

  • -2

我有一个脚本,它的函数来源于其他脚本。我正在尝试逐行但 sed 正则表达式太复杂了。

#!/usr/bin/env bash

# This function will update the value associated with a key,
# remove a comment from the beginning of the line,
# or append the key value pair to the end of the file if the key is not found

# To use this function in a script
# source this script:
#   . lineinfile
#
# To invoke the function:
#   lineinfile "key=value" "filename"
# OR
#   lineinfile "key value" "filename"


lineinfile() {
  [ -s $2 ] || echo "${1}" >> ${2}
  if [[ "$1" == *"="* ]]; then
    sed -i -e "/^#\?.*\(${1%%=*}\).*/{s@@${1}@;:a;n;ba;q}" -e "\$a${1}" ${2}
  elif [[ "$1" == *" "* ]]; then
    sed -i -e "/^#\?.*\(${1%% *}\).*/{s@@${1}@;:a;n;ba;q}" -e "\$a${1}" ${2}
  elif [[ "$1" == *$'\t\t'* ]]; then
    sed -i -e "/^#\?.*\(${1%%$'\t\t'*}\).*/{s@@${1}@;:a;n;ba;q}" -e "\$a${1}" ${2}
  fi
}

函数的第一行[ -s $2 ] || echo "${1}" >> ${2}- 检查第二个位置参数是否是一个存在且大小非零的文件,然后将内容附加$1到$2文件末尾。为什么||在这里使用?

我真的不确定 if-elif 块正在测试什么。在 if 条件中是什么*"="* *" "*并*$'\t\t'*试图匹配?此外,我不知道 sed 命令在做什么。正则表达式很复杂。任何人都可以为我分解 sed 命令。

bash sed
  • 1 个回答
  • 143 Views
Martin Hope
Cruise5
Asked: 2022-04-27 20:28:26 +0800 CST

无法在 shell 脚本中正确地从 IP 地址中提取八位字节

  • 0

ipfile.txt格式如下:

ServerA 127.0.0.1
ServerB 192.168.1.254
ServerC 4.2.2.1

shell脚本的期望输出:

ServerA   Class A
ServerB   Class C
ServerC   Class A

我想不出更好的方法来只提取第一个八位字节。到目前为止,我的脚本是:

#!/bin/bash

# Take input IP from file and classify according to classful addressing. 

while read ip;do
        octet=$(awk -F'[ .]' '{print $2}' ipfile.txt)
        if [[ "$octet" -ge 1 && "$octet" -le 127 ]];then
                echo "ServerA Class A"
        fi
        if [[ "$octet" -ge 128 && "$octet" -le 191 ]];then
                echo "ServerB Class B"
        fi
        if [[ "$octet" -ge 192 && "$octet" -le 223 ]];then
                echo "ServerC Class C"
        fi
done < ipfile.txt

我收到语法错误:

./ipclassgen.sh: line 7: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 10: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 13: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 7: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 10: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 13: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 7: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 10: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 13: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 7: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 10: [[: 127
192
4: syntax error in expression (error token is "192
4")
./ipclassgen.sh: line 13: [[: 127
192
4: syntax error in expression (error token is "192
4")

如何在不使用 awk 和指定文件的情况下做到这一点。我也不确定语法错误在哪里。

shell-script
  • 1 个回答
  • 128 Views
Martin Hope
Cruise5
Asked: 2022-04-05 07:18:23 +0800 CST

在单个命令中使用两个分隔符从 awk 获取结果

  • 3

仅 ping 命令的输出:

[root@servera ~]# ping -c 4 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=128 time=8.04 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=128 time=7.47 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=128 time=7.72 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=128 time=7.50 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3007ms
rtt min/avg/max/mdev = 7.473/7.683/8.037/0.225 ms

我只想从“收到的 4”中捕获整数 4。

ping -c 4 8.8.8.8 | awk -F ',' '/received/ { print $2 }'

结果是 4 received。我只想从上面的命令中捕获数字 4。我怎样才能做到这一点?分隔符现在是空格。

shell-script awk
  • 8 个回答
  • 882 Views
Martin Hope
Cruise5
Asked: 2022-03-18 15:11:17 +0800 CST

在 fstab 条目后挂载 lvm 不会在新的 lvm 中创建 SElinux 标签

  • 0

在 RHEL8 上,我用 ext4 文件系统创建了一个 lvm。将其添加到/etc/fstab但当我使用时mount -av,我收到以下错误:

You just mounted an file system that supports labels which does not
       contain labels, onto an SELinux box. It is likely that confined
       applications will generate AVC messages and not be allowed access to
       this file system.  For more details see restorecon(8) and mount(8).
/lvext4                  : successfully mounted

如果我在里面创建一个文件/lvext4,它的 SELinux 上下文是unconfined_u:object_r:unlabeled_t:s0 file1

挂载 XFS lvm 时出现同样的错误。

linux selinux
  • 1 个回答
  • 438 Views
Martin Hope
Cruise5
Asked: 2022-02-01 23:17:59 +0800 CST

lvremove 不会删除以前的 LV 文件系统签名。使用 lvcreate 时删除它是否安全?

  • 1

我删除了一个没有数据格式化的逻辑卷ext4。然后我开始创建一个swapLVM,但它警告我存在ext4签名。我假设该lvremove命令不会删除 fs 签名。提示使用时删除签名是否安全lvcreate?

[root@workstation ~]# lvs
  LV   VG   Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home cl   -wi-ao----  <6.52g                                                    
  root cl   -wi-ao----  19.00g                                                    
  swap cl   -wi-ao----   2.00g                                                    
  lv01 vg01 -wi-a----- 404.00m                                                    
  lv02 vg01 -wi-a----- 100.00m                                                    
[root@workstation ~]# lvremove /dev/vg01/lv02
Do you really want to remove active logical volume vg01/lv02? [y/n]: y
  Logical volume "lv02" successfully removed.
[root@workstation ~]# 
[root@workstation ~]# 
[root@workstation ~]# lvcreate -n swap1 -L 100M vg01
WARNING: ext4 signature detected on /dev/vg01/swap1 at offset 1080. Wipe it? [y/n]: 

partition lvm
  • 1 个回答
  • 195 Views
Martin Hope
Cruise5
Asked: 2022-01-30 20:42:15 +0800 CST

gdisk 是否使用 xfs 进行分区和格式化?

  • 0

使用 CentOS 8.5

我在没有数据或分区表的新磁盘上尝试了这个。

GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries.

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-4194270, default = 2048) or {+-}size{KMGTP}: 
Last sector (2048-4194270, default = 4194270) or {+-}size{KMGTP}: +500M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/nvme0n7.
The operation has completed successfully.
[root@workstation ~]# 
[root@workstation ~]# lsblk -fp
NAME                    FSTYPE      LABEL UUID                                   MOUNTPOINT
/dev/sr0                                                                         
/dev/nvme0n1                                                                     
├─/dev/nvme0n1p1        xfs               c932c155-e3a9-4852-aad1-d545778b46c6   /boot
└─/dev/nvme0n1p2        LVM2_member       KwN1Pf-Jf3R-l7HW-Qed3-DLSl-olMr-rVdD3n 
  ├─/dev/mapper/cl-root xfs               e6d63656-cd58-40a8-aadf-b0416e36c8d4   /
  ├─/dev/mapper/cl-swap swap              3b26e208-9846-4c20-8b90-60bb0ce68869   [SWAP]
  └─/dev/mapper/cl-home xfs               7cb2b8a0-fe6b-4c6c-9d8f-124780be79c9   /home
/dev/nvme0n2                                                                     
/dev/nvme0n3                                                                     
/dev/nvme0n4                                                                     
/dev/nvme0n5                                                                     
/dev/nvme0n6                                                                     
/dev/nvme0n7                                                                     
└─/dev/nvme0n7p1        xfs               25552944-4b61-44d6-a1bd-ca0ae3cfc89f   
/dev/nvme0n8                                                                     
/dev/nvme0n9                                                                     
[root@workstation ~]# 

如您所见,分区上已经创建了 xfs 文件系统。我以为我必须在使用mkfs.xfs后使用fdiskor gdisk。

linux partition
  • 1 个回答
  • 334 Views
Martin Hope
Cruise5
Asked: 2022-01-13 23:57:34 +0800 CST

yum group install 将强制安装和默认安装包。如何安装可选包?

  • 0

yum group info <name of group>列出强制、默认和可选包。然而,当尝试使用 安装组时yum group install <group>,它只安装强制和默认包。如何安装可选包?

linux software-installation
  • 1 个回答
  • 301 Views
Martin Hope
Cruise5
Asked: 2022-01-07 17:50:46 +0800 CST

/etc/systemd/journald.conf 中的存储设置已被注释掉,但仍在执行操作

  • 1

#Storage=auto在journald.conf文件中设置并且没有/var/log/journal目录。一旦我手动创建了该目录,ryslog就开始写入它。如果仍在执行该操作,那么注释掉该行的意义何在?里面的所有行都/etc/systemd/journald.conf被注释掉了。这是否意味着所有线路都处于活动状态?

linux systemd
  • 1 个回答
  • 642 Views
Martin Hope
Cruise5
Asked: 2021-12-28 16:50:25 +0800 CST

cp、mv 和重命名或由其他用户创建硬/符号链接需要文件或目录的哪些权限?

  • 1

root我可以使用以下权限将拥有的 /etc/passwd 文件复制到我的主目录:

-rw-r--r--. 1 root root 2751 Dec 24 21:26 /etc/passwd

我不能这样做:

-rw-------. 1 root root 43591 Dec 27 18:32 /var/log/messages

所以我猜测读取权限others使复制成为可能?

为了制作硬链接,我在我的主目录中将 file1 创建为 root 用户,并尝试以普通用户的身份创建硬链接。我没能。

-rw-r--r--. 1 root root 0 Dec 27 18:39 file1

是什么阻止了硬链接的创建?

file1所在的目录权限为: drwx------. 18 student student 4096 Dec 27 18:42 .

我可以将file1重命名为file2,所以我猜,与复制一样,读取权限others是否会发生这种情况?

最后,我无法将 file2 移动到其他位置。为什么?

编辑:我看过一个解释硬链接权限的问题,但我不明白复制、移动和重命名其他用户的文件和目录需要什么权限。

linux permissions
  • 3 个回答
  • 1477 Views
Martin Hope
Cruise5
Asked: 2021-12-19 16:23:23 +0800 CST

创建符号链接时,什么时候应该使用绝对路径名?

  • 0

我在这里和几本书中读过,首选使用相对路径制作符号链接,因为如果您移动链接和文件,它不会中断。我想知道我们是否应该始终创建相对路径符号链接?例如,如果我想链接/etc/passwd到当前目录,我应该使用绝对路径还是相对路径?

ln -rs /etc/passwd passwd-symlink将创建相对路径链接,但这是必要的吗?

linux symlink
  • 1 个回答
  • 168 Views
Martin Hope
Cruise5
Asked: 2019-07-28 09:07:24 +0800 CST

扩展正则表达式说明

  • 1

这是 Linux Command Line 一书中的一个示例

如果我尝试匹配 (555) 123-4567 或 555 123-4567 - 可以使用以下扩展正则表达式。

^\(?[0-9][0-9][0-9]\)?  [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9]$

简化为

^\(?[0-9]{3}\)?  [0-9]{3}-[0-9]{4}$

在第一个示例中,第二个示例是否?适用于包含在 ? 中的整个表达式()?这意味着它将匹配555或(555)。

在第二个例子中:

echo "This works." | grep -E '[[:upper:]][[:upper:][:lower:] ]*\.'

*星号适用于整个表达式还是仅适用于包含大写和小写字符类的表达式的第二部分?

如果前面的表达式是这样的:

grep -E '[[:upper:][:upper:]][:lower:]*\.'

*仅适用于较低的字符类吗?

regular-expression
  • 1 个回答
  • 48 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