小编Ram*_*esh的帖子

在 systemd 脚本中分叉

我希望 systemd 服务处理分叉(我的文件本身不处理分叉。所以我依靠 systemd 来处理)

我的 .service 文件:

[Unit]
Description=swamp services management service
After=syslog.target

[Service]
Type=forking
ExecStart=/usr/bin/swamp

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

Type=forking为我想要实现的目标指定足够了吗?或者它是否类似于新贵中的分叉,它实际上告诉新贵(如果我理解正确,不确定我是否这样做,我是编写 initscripts 的新手)我的服务将处理分叉/守护进程。

systemd

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

了解pid_max、ulimit -u 和thread_max 之间的区别

我正在尝试了解 Linux 进程。我对各自的术语感到困惑pid_max,ulimit -uthread_max

这些术语之间究竟有什么区别?有人可以澄清这些差异吗?

process thread linux-kernel ulimit

12
推荐指数
2
解决办法
4万
查看次数

递归地为所有字母创建目录

我想以这样一种方式创建一个目录,我需要将目录标记为从az。里面每个目录下,我需要创建子目录,这样它们标记为aaab等等。

因此,例如,对于 directory m,我的子目录将被标记为ma, mbupto mz

shell-script mkdir

12
推荐指数
2
解决办法
6598
查看次数

删除 awk 显示中的空行

我试图找出这个问题的解决方案。我想awk用于解决方案。

我的输入文件如下所示。

-bash-3.2$ cat file
ramesh
ramesh_venkat
ramesh3_venkat3
ramesh4
ramesh5
venkat
venkat3
venkat4
Run Code Online (Sandbox Code Playgroud)

我使用awk命令来提取第二个值_,如下所示。

awk -F "_" '{print $2}' file
Run Code Online (Sandbox Code Playgroud)

但是,虽然上面的命令打印了正确的值,但我的输出中却出现了空行。我有2个问题。

问题 1

如何删除输出中的空行,以便只获得venkatvenkat3输出?

如果我在 my 中使用printf而不是,我会得到我不想实现的输出。我想要这样的输出,printawkvenkatvenkat3

venkat
venkat3
Run Code Online (Sandbox Code Playgroud)

问题2

使用这些值作为关联数组或其他东西,我如何找到这些值是否实际出现在$1列中?

我想实现类似的目标,

awk -F "_" '$2==1{print $1}' file
Run Code Online (Sandbox Code Playgroud)

编辑

我没有注意到awk斯蒂芬的解决方案。它是在做我提到的同样的事情吗?

awk

11
推荐指数
4
解决办法
2万
查看次数

如何计算正在运行的外壳/终端数量?

我正在尝试计算当前正在运行的 shell 或终端窗口的数量。

我试过 ps a|grep bash; ps a|grep tty;

但它可能不准确。

bash ps

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

仅提取双引号后的子字符串 - grep

我有一个文件,如下所示。

<a href="http://firstlink.com" title="title1">
<a href="http://secondlink.com" title="title2">
<a href="http://thirdlink.com" title="title3">
<a href="http://fourthlink.com" title="title4">
Run Code Online (Sandbox Code Playgroud)

我正在尝试仅从上述文件中提取 URL。我正在使用以下命令。

grep -o '\".*\"' new.txt
Run Code Online (Sandbox Code Playgroud)

但是,上面的命令给了我输出,

"http://firstlink.com" title="title1">
"http://secondlink.com" title="title2">
"http://thirdlink.com" title="title3">
"http://foruthlink.com" title="title4">
Run Code Online (Sandbox Code Playgroud)

我试图只提取没有"". 所以,我的预期输出是,

http://firstlink.com
http://secondlink.com
http://thirdlink.com
http://fourthlink.com
Run Code Online (Sandbox Code Playgroud)

我应该如何更改 grep 命令?或者是否可以在 perl、awk 或 sed 命令中执行此操作?

grep sed perl

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

只下载源页面的前几个字节

我正在使用cURL命令下载网站的 HTML 源页面。问题是,我不想要页面中的大部分内容。我只需要源页面的前 100 行。有没有办法在前几行后停止下载页面?

目前,我有以下命令工作,但它似乎没有时间有效。

curl -r[0-1] "http://www.freebase.com/m/045c7b" > foo.txt
Run Code Online (Sandbox Code Playgroud)

我尝试将值从 更改1.5.05,但仍然下载了整个网页。

我正在查看执行上述命令的时间不到一秒钟。

编辑

从 的手册页中cURL,我看到“您还应该知道许多 HTTP/1.1 服务器没有启用此功能,因此当您尝试获取范围时,您将获取整个文档。 ”因此,如果服务器不支持范围查询,nix环境中是否还有其他命令可以帮助我完成我想要做的事情?

wget curl

10
推荐指数
1
解决办法
4622
查看次数

ssh 进入没有主目录的帐户

作为对我上一个问题的跟进,我决定创建如下本地用户帐户。

adduser --system --no-create-home USERNAME
Run Code Online (Sandbox Code Playgroud)

现在,我希望本地用户能够使用ssh. 根据我的理解,ssh工作如下。

假设我有 2 台机器(比如alphabeta)。

  • 阿尔法机器:ssh user@beta
  • alpha 的公钥将出现~/.ssh/authorized_keysbeta机器下。
  • alpha 的私钥将出现/~/.sshalpha机器下。

现在我计划为用户实现无家。因此,假设我adduser在没有任何用户家的情况下进入beta机器,我是否仍然能够从alpha ssh 进入beta 版

ssh key-authentication

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

在 KVM 中设置访客网络以与外界交互(google.com)

我试图更好地了解我机器中的网络设置。

主机设置

  1. 我的主机上有一个无线接口 ( wlan0 ),其 IP 地址为192.168.1.9.
  2. 这台主机的默认网关是通过我的ISP去外面世界的路由器,它的IP地址是192.168.1.1
  3. 主机中的 route -n 命令将输出返回为,

    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
    169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 wlan0
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
    192.168.1.160   0.0.0.0         255.255.255.224 U     0      0        0 virbr2
    
    Run Code Online (Sandbox Code Playgroud)

来宾机器设置

现在,我在 KVM 中设置了一个访客操作系统,如下所示。

  1. KVM 位于子网络中,其详细信息为 192.168.1.160/27.
  2. DHCP 开始是192.168.1.176DHCP 结束是192.168.1.190
  3. 我还为我的 KVM 配置执行了以下命令。

    arp …
    Run Code Online (Sandbox Code Playgroud)

networking

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

ip rule show 命令中的数字是什么意思

如果我ip rule show在我的机器上输入命令,我得到的输出是,

0:  from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default
Run Code Online (Sandbox Code Playgroud)

数字03276632767是什么意思?

我明白这些是一些优先级,0是特殊优先级,不能删除。

此外,如果我添加一个新策略,它将以32765的优先级创建。我的理解正确吗?

另外,我ip rule add这里看到了一些关于优先级的信息。

实际上,由于历史原因,ip rule add 不需要优先级值,并且允许它们是非唯一的。如果用户未提供优先级,则由内核选择。如果用户创建的规则具有已经存在的优先级值,内核不会拒绝该请求。它在所有具有相同优先级的旧规则之前添加新规则。这是设计错误,不再是。而且总有一天会修复的,所以不要依赖这个功能。使用明确的优先级。

networking ip iproute

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