标签: command-line-interface

复杂进程名称的 pgrep/pidof 用法?

我正在尝试使用 pidof 或 pgrep 将 HUP 发送到我系统中的进程。问题是我只想用一个精确的参数来终止进程。

这是'ps awx'的输出

  657 ?        S      0:00 processname software
  658 ?        S      0:00 processname demo
  659 ?        S      0:00 processname test
Run Code Online (Sandbox Code Playgroud)

通过执行以下操作之一:

pidof processname 
pgrep processname
Run Code Online (Sandbox Code Playgroud)

您将获得以 processname 开头的所有进程的列表,但我想执行以下操作:

pidof processname test
pgrep processname test
Run Code Online (Sandbox Code Playgroud)

仅检索我需要的 PID(在本例中为 659)

更新

通过在 pgrep 上使用 -f 标志可以完成我想要的操作:

pgrep -f "processname test"
Run Code Online (Sandbox Code Playgroud)

你会得到正确的答案。

bash command-line-interface process

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

Sun Grid Engine huhohshdhjha

当我输入时qstat -h,我得到以下选项

   [-s {p|r|s|z|hu|ho|hs|hd|hj|ha|h|a}] show pending, running, suspended, zombie jobs,
                                      jobs with a user/operator/system/array-dependency hold, 
                                      jobs with a start time in future or any combination only.
                                      h is an abbreviation for huhohshdhjha
                                      a is an abbreviation for prsh
Run Code Online (Sandbox Code Playgroud)

世界是什么huhohshdhjha????

command-line-interface gridengine

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

在 linux ls 中更改文件/目录的颜色

我使用黑色背景的腻子,想知道是否有或有办法改变深蓝色的 dirs 的颜色。

我注意到 DIR_COLORS.xterm 和 DIR_COLORS

他们扮演这个角色吗?

linux ssh command-line-interface putty ls

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

如何掌握 UNIX find 命令?

我认为我在使用 find 方面相当先进,但每次使用它时,我终生都无法记住关闭 -exec 选项的方法。每次使用它时,我都会花大量时间阅读。是我不够用还是对自己期望过高?让我们从一个让我感到沮丧的典型例子开始。

目录结构包含所有权限不正确的文件隐藏文件符号链接等。我想将所有权更改为合理的值

find . -type f -exec chown username {} \;
find . -type d -exec chown username {} \;
find . -type d -exec chgrp usergroup {} \;
find . -type f -exec chgrp usergroup {} \;
Run Code Online (Sandbox Code Playgroud)

(如果结局是倒退的话,请原谅我……我一小时前看过它,但我仍然不确定)

但是由于挂载、符号链接等原因,我害怕运行它。我已经把 chmod .* 搞得一团糟,并且以前在我身上递归过。我知道 -xdev 会放弃交叉分区,但我不确定位于作为符号链接的目录中的文件会发生什么。

那么如何掌握这种可以杀死关键文件的野兽呢?

更新修剪下面的最佳建议并总结:

  1. 将练习目录链接并挂载到其他练习目录。
  2. 使用 xargs 而不是非直观的 exec 命令。
  3. 使用 -exec echo {} 来保证完整性和安全性
  4. 分号是特殊的,您正在转义它,因此转义字符是第一个
  5. -or 命令可以帮助您组合选择条件。

我对 print0 有点困惑,但 xargs 一直有点在我试图避免的乍一看不容易理解的练习上。

unix command-line-interface find

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

用于存储键入的命令并清理行的键盘快捷键

您知道这种情况:您正在输入一条长命令(例如提交消息)的一半,并意识到您忘记执行一些无法添加的先决条件命令&&。通常,当我遇到这种情况时,我会选择我用鼠标键入的内容,将其复制到剪贴板,按 Ctrl-U 清除该行,运行我的先决条件命令并从剪贴板粘贴。但也许有更好的方法,最好不需要使用鼠标?我正在寻找 bash 和/或 zsh 的解决方案。

bash command-line-interface zsh

12
推荐指数
3
解决办法
1211
查看次数

PATH 中的环境变量未针对非管理员命令提示符展开?

我有一台 Windows 7 机器,当普通用户运行命令提示符时,它无法在%PATH%. 如果命令提示符改为以管理员身份运行(右键单击,以管理员身份运行),则%PATH%适当展开。

具体来说,%PATH%cmd.exe用户身份运行(通过 显示set path)如下:

Path=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
Run Code Online (Sandbox Code Playgroud)

...而%PATH%cmd.exe管理员身份运行如下:

Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\Wbem;%SYSTEMROOT\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft Windows Performance Toolkit\
Run Code Online (Sandbox Code Playgroud)

我尝试以新用户身份登录以创建新配置文件,该问题也仍然存在于该配置文件中。HKEY_CURRENT_USER\Environment\PATH不存在,并且HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path与计算机属性 -> 环境变量中定义的系统范围路径相匹配。

有没有人知道这可能是什么,或者我可以在哪里看?

windows-7 command-line-interface environment-variables path

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

Windows XP 中的 WebDav 系统错误 67

问题:我在 Windows XP(Service Pack 2 和 Service Pack 3)上让 WebDav 在命令行中工作时遇到问题。

C:\>net use z: https://mywebsite.com/software/
System error 67 has occurred.

The network name cannot be found.
Run Code Online (Sandbox Code Playgroud)

我已经用两个 webdav 服务器对此进行了测试。Ubuntu Apache 和 I Windows Server 2003 IIS。两者得到相同的结果。

没有奏效的事情:

  1. 我在我的 XP 机器上安装了以下 Microsoft KB,但无济于事。
  2. 我还找到了以下注册表项: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters UseBasicAuth REG_DWORD 1

  3. 在尝试使用我在网上挖掘的一些工作时,我尝试了以下方法,所有这些都产生了相同的结果。

    net use z: https://mywebsite.com/software
    net use z: https://mywebsite.com/software#
    net use z: https://mywebsite.com/software/
    net use z: https://mywebsite.com/software/#
    
    Run Code Online (Sandbox Code Playgroud)
  4. 我还尝试了上述所有组合,将用户添加到其中,/user:user并且/user:user@domain.

  5. 我也试过使用http://而不是https://.

  6. 我试过了 "\\server.com@ssl:443\folder"

  7. 正如@WesleyDavid …

windows-xp command-line-interface mapping

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

如何通过命令提示符创建 Windows 2008 高级防火墙规则组定义

有没有办法在 Windows 高级防火墙中的规则中创建组或添加到现有组(最好通过命令提示符或 WSH 脚本)。

编辑:

在此处输入图片说明

scripting windows firewall command-line-interface

12
推荐指数
3
解决办法
6555
查看次数

如果正文不为空,则从命令行发送邮件

我想编写一个简单的脚本,在日志更改时提醒我。为此,我使用 grep 来查找我感兴趣的行。现在它是这样工作的:

grep line /var/log/file | mail -s Log email@domain.tld
Run Code Online (Sandbox Code Playgroud)

问题是即使没有找到匹配的行,这也会发送邮件。mailutils 的邮件实用程序似乎没有开关告诉它丢弃正文为空的邮件。

有没有一种快速简便的方法呢?

email bash command-line-interface cron

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

管理员查看所有映射驱动器

根据我对安全性的理解,管理员应该能够查看与计算机之间的所有连接——就像他们可以查看所有进程/所有者、网络连接/拥有进程一样。但是,Windows 8 似乎已禁用此功能。

作为管理员在 Win Vista+ 中运行提升的运行时,net use您会返回所有映射的驱动器,列为不可用。在 Windows 8 中,从提升的提示运行相同的命令会返回“列表中没有条目”。powershell 的行为是相同的Get-WmiObject Win32_LogonSessionMappedDisk

持久映射的解决方法是运行Get-ChildItem Registry::HKU*\Network*. 这不包括临时映射(在我的特定示例中,它是通过管理员帐户上的资源管理器创建的,我没有选择“登录时重新连接”)

管理员是否有一种直接/简单的方法来查看任何用户的连接(缺少在每个用户上下文下运行的脚本)?我已阅读启用 UAC 时某些程序无法访问网络位置,但我认为它并不特别适用。

我已经看到了这个答案,但它仍然没有解决非持久性驱动器如何判断用户映射了哪些网络驱动器?

command-line-interface mappeddrive uac forensics windows-8

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