小编use*_*029的帖子

使用 PPID 或 PGID 杀死所有子进程是否更好/更可取?

我需要能够杀死在特定父进程下运行的所有子进程。这样做的更好选择是什么?使用 PPID 还是 PGID?

像这样的东西:

pkill -TERM -P

会使用 PPID 杀死孩子。但是我在这里和那里阅读了有关 PGID 的一些零碎内容,并且很想知道一个是否比另一个更好。

linux process ps

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

如何将选项传递给 forcefsck?

我正在尝试使用 /forcefsck 在启动时运行一次磁盘检查,但我想传递一些 FSCK 选项,例如 y、c、f 和 v。我曾尝试将这些选项插入文件中,但我似乎别理他们。有没有办法做到这一点?

linux filesystems fsck disk

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

彩色 bash 不能作为 root 用户工作

我注意到当我 ssh 到服务器然后 su 到 root 用户时,我没有在 bash 中获得颜色。在这种特定情况下,当我说“不要在 bash 中获取颜色”时,我指的是使用 vim 编辑文件。现在,如果我在登录后 sudo 会得到颜色,所以那里没有问题。如果我 su 到 root 和 source /root/.bash_profile 那么我以 root 身份获得颜色。但是我不想在每次 su 到 root 时都必须获取 .bash_profile 文件。这是我的 /root/.bashrc 和 /root/.bash_profile 文件的内容。执行 su 时我该怎么做才能获得颜色?

# .bashrc

# User specific aliases and functions

# You may uncomment the following lines if you want `ls' to be     colorized:
export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

alias rm='rm -i'
alias cp='cp -i'
alias …
Run Code Online (Sandbox Code Playgroud)

shell colors bash

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

如何在详细模式下启动/重启?

我有 Ubuntu 14.04TLS。如何在启动/重启时永久更改 grub 以切换到详细模式,以便我可以看到滚动文本?我想让这个改变坚持下去。谢谢!

linux ubuntu boot-loader grub2

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

我将如何使用 sed 或 awk 来提取文件中的某些行

如果我想搜索文件中以日期开头的所有行,例如“May 1”,我将如何使用 sed 或 awk 进行搜索?我需要提取这些数据并发送到屏幕或文件。谢谢。

sed awk search files

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

在远程系统上显示 X 程序

我有 Ubuntu 14.04 和 Fedora 20 作为测试环境。我正在尝试通过 SSH 会话将 X 程序从 Fedora 发送到 Ubuntu。我的设置如下:

在 Ubuntu 上运行:

Xhost +IP Address of Fedora
Run Code Online (Sandbox Code Playgroud)

这将返回:

10.10.24.153 being added to access control list
Run Code Online (Sandbox Code Playgroud)

然后从 Fedora 系统运行:

DISPLAY=10.10.25.168:0.0
Run Code Online (Sandbox Code Playgroud)

这一步将 Fedora 的 Display 重定向到 Ubuntu 系统。

然后我从 Ubuntu SSH 到 Fedora。此时,当我尝试从 ssh 提示符启动一个程序时,例如 gedit,我得到了这个:(并且没有出现 gedit 窗口)

Unable to init server: Could not connect: Connection refused (gedit:7358): Gtk-WARNING **: cannot open display:
Run Code Online (Sandbox Code Playgroud)

但是,当我直接从 Fedora 启动 gedit 时,它会出现在我的 Ubuntu 系统上,尽管在 Fedora 端出现错误:

** (gedit:7372): WARNING **: Couldn't …
Run Code Online (Sandbox Code Playgroud)

remote x11 display

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

为人类可读的 dmesg 输出调整 perl 脚本

在 RHEL 6 中,我有内核参数:

printk.time=1
Run Code Online (Sandbox Code Playgroud)

这样我的 dmesg 就会有一个时间戳。但是它在重新启动后的几秒钟内显示,如下所示:

[12.23456]
Run Code Online (Sandbox Code Playgroud)

我找到了一个脚本,您将其放置在 .bashrc 中,它将秒数转换为 HR 日期。

dmesg_with_human_timestamps () {
$(type -P dmesg) "$@" | perl -w -e 'use strict;
    my ($uptime) = do { local @ARGV="/proc/uptime";<>}; ($uptime) = ($uptime =~ /^(\d+)\./);
    foreach my $line (<>) {
        printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n",  scalar localtime(time - $uptime + $1), $2 ) : $line )
    }'
}
alias dmesg=dmesg_with_human_timestamps
Run Code Online (Sandbox Code Playgroud)

这很好用,我的 dmesg 输出现在看起来像这样:

[Fri Jun 10 13:07:14 2016]
Run Code Online (Sandbox Code Playgroud)

但是我如何更改代码以使其看起来像这样:

[2016/06/10 13:25:28]
Run Code Online (Sandbox Code Playgroud)

perl text-processing timestamps dmesg

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

如何将新创建的挂载点添加到 fstab?

我刚刚将 sda2 安装到 /mnt。如何强制刷新 fstab 以便它可以获取更改并为 sda2-/mnt 插入新行?

fstab

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

在 Bash 中以设置的间距将列添加到文本文件中

我正在 DNS 中设置一个恶意软件区域文件,它将所有主机指向一个特定的 IP。该文件只是一个主机名列表。这就是我现在所拥有的:

googlle.in                               
greensny.com                  
hoefra.at                    
hotel-sas.ru      
Run Code Online (Sandbox Code Playgroud)

这就是我需要的样子:

googlle.in                IN           A          192.168.100.10                      
greensny.com              IN           A          192.168.100.10     
hoefra.at                 IN           A          192.168.100.10   
hotel-sas.ru              IN           A          192.168.100.10 
Run Code Online (Sandbox Code Playgroud)

我能够将一些东西与 sed 放在一起:

sed -i 's/$/                     IN          A           192.168.155.128/' db.malware-host-only
Run Code Online (Sandbox Code Playgroud)

哪个有效,但它看起来像这样:

vururyuzeifadesi.net   IN          A           192.168.155.128
waseemamrohi.com   IN          A           192.168.155.128
weblab-srv.biz  IN          A           192.168.155.128
weghost.ru   IN          A           192.168.155.128
wnctnr.com   IN          A           192.168.155.128
Run Code Online (Sandbox Code Playgroud)

如何清理它并使列之间的间距相等,以便“IN”从特定点开始,“A”和 IP 地址列的距离也相等?

bash sed awk text-processing

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

从特定列中删除包含 IP 范围的行,同时排除范围

我有一个具有以下格式的日志文件:

Jul 13 21:47:41 192.168.100.254 "user from 192.168.100.101"
Run Code Online (Sandbox Code Playgroud)

我需要删除所有包含 192.168.xx 范围内 IP 的行,但前提是它们出现在第 4 列中。

我还需要从 192.168.xx 范围中排除 3 个 IP。让我们称这些

192.168.125.100
192.168.126.100
192.168.155.240 
Run Code Online (Sandbox Code Playgroud)

如何完成此命令以在第 4 列中查找 192.168.xx 范围内的所有 IP,并删除除包含 192.168.125.100、192.168.126.100 和 192.168.155.240 的行之外的所有行。

awk '{print $4}' file | grep '192.168' | "remove all found except" | > save back to original file
Run Code Online (Sandbox Code Playgroud)

command-line sed awk text-formatting

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

进程‘find’输出解析出某些字段

我发现输出如下:

/var/data/run/stores/user.rstd/info.settings:4: Password = "xxxxxxx";
Run Code Online (Sandbox Code Playgroud)

在此示例中,“user”和“Password”的值(“xxxxxxx”;)需要重定向到新文件。“用户”将始终位于第五目录中,但我不想要 .rstd 扩展名。我的新文件输出应该如下所示

user   "xxxxxxxx";
Run Code Online (Sandbox Code Playgroud)

我怎样才能最好地完成这个任务?

sed awk text-processing text-formatting

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