小编lcd*_*047的帖子

在 htop 输出中将减号作为命令的第一个字符是什么意思?

在 htop 或其他显示进程状态的命令中,所有 bash 进程都在命令列中

/bin/bash
Run Code Online (Sandbox Code Playgroud)

但是一个进程在命令列中

-bash
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

shell process

24
推荐指数
1
解决办法
4643
查看次数

在邮件功能中设置发件人姓名

如何在 shell 脚本中使用 mail 命令设置发件人姓名和电子邮件地址。

linux mail-command

15
推荐指数
3
解决办法
6万
查看次数

NFS 与自定义接口共享

我的服务器中有 4 个 NIC:eth0eth1eth2eth3。它是一个有多个磁盘的存储服务器。我有三个卷组:vg_share1, vg_share2, vg_share3。我想与不同的 NIC 共享这些卷组,如下所示:

vg_share1 --(NFS Share)--> Shared via eth1
vg_share2 --(NFS Share)--> Shared via eth2
vg_share3 --(NFS Share)--> Shared via eth3
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

nfs

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

如何在 bash shell 脚本中获取子进程的 PID 到父进程?

我的shell脚本如下:

#!/bin/bash
./process1 #It will create a sub process: sub_process1
while [ condition ]; do
    break
done
kill -9 process1 and sub_process1
Run Code Online (Sandbox Code Playgroud)

在我的脚本中,它将创建一个进程:process1。process1 将创建一个子进程:sub_process1。
在脚本完成之前,需要杀死process1和sub_process1。
杀死 process1 很容易,因为它会将 PID 写入文件。但 sub_process1 不会。由于 sub_process1 是第三方组件,因此我无法触及源代码。
有一个解决方案可以获取sub_process1的PID:

  1. 使用命令枚举所有进程ps aux
  2. 使用命令获取每个进程的 PPID(父进程 ID)ps -f [PID]。如果PPID等于process1的PID,则该进程一定是sub_process1。
    上面的解决方案有点复杂。有没有一个简单的解决方案可以获取子进程ID?
    多谢。

linux process shell-script

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

tars 是否可以在块级别进行重复数据删除?

很简单,当在磁盘上制作 tar 文件时,这些范围是否可以与 tar 内部和/或外部的范围进行重复数据删除?我在理论上问,所以如果数据的范围在 tar 内是相同的(没有移位,或在范围内分裂以进行压缩)那么理论上,范围将与 tar 外的范围相等,因此可以重复数据删除.

例如,如果我要对目录进行 tar 处理,然后使用块级重复数据删除,那么 tar 的有效大小会是附加标头、元数据和存档结束标记的大小。

显然我在谈论未压缩的 tar,特别是 GNU tar。我已经查看了GNU tar 标准,它似乎确实保留了我所阅读的原始块数据,但也许我误解了我所阅读的内容。

tar btrfs deduplication

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

快速定位特定字符的 Bash 快捷方式

我知道在vim编辑器中,按f a会定位角色a,这对我来说是一个很好的捷径。但是我在 linux bash( emacs mode ) 中没有找到类似的快捷方式。我使用 xshell 作为我的终端。

bash

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

如何通过“重命名”向文件名添加一些字符?

例如,我有一个名为5.jpg. 如何将其重命名为aaaaa.jpgchar a5 次。

我试过了,rename -v 's/(\d{1,})/a{$1}/g' *但这重命名5.jpga{5}.jpg,这不是我想要的。我知道函数的第二部分不是正则表达式,这只是一个尝试。

linux rename files

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

在固定长度文件的特定列中搜索多个模式并输出整行

我需要 Unix 中的命令来查找固定长度文件中特定列中的模式并将整行输出到不同的文件。

示例文件 1

2345abcdef450022677
1234sdfght350022677
3456abcdef350022677

如果第 5 至 10 列 = abcdef 且第 15 至 16 列 = 22,我需要提取行。

我希望输出文件具有以下数据。

2345abcdef450022677
3456abcdef350022677

我可以使用带有 grep 的 cut 命令来查找模式,但不确定如何输出整行。

grep

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

将所有文件从子目录批量移动到父目录,但文件名称相同

我在子目录中有很多文件,我想将它们全部移到父目录中。

前任:

20150530XXXX/1.jpg
20150530XXXX/2.jpg
20150530XXXX/3.jpg
20150530XXXX/4.jpg
20150531XXXX/1.jpg
20150531XXXX/2.jpg
20150531XXXX/3.jpg
20150531XXXX/4.jpg
Run Code Online (Sandbox Code Playgroud)

我在 stackexchange 的另一个问题中发现了以下命令:

find ./ -mindepth 2 -type f -exec mv -t A {} +
Run Code Online (Sandbox Code Playgroud)

但是,这似乎覆盖了图像文件,因为每个文件都具有相同的名称 ( 1-4.jpg)。有没有办法将子目录的名称与文件名连接起来,例如移动20150531XXXX/4.jpg./20150531XXXX_4.jpg

shell

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

标签 统计

linux ×3

process ×2

shell ×2

bash ×1

btrfs ×1

deduplication ×1

files ×1

grep ×1

mail-command ×1

nfs ×1

rename ×1

shell-script ×1

tar ×1