标签: command

<defunct> 在 ps 的输出中是什么意思?

我发出了ps -ef|grep java命令,这是我得到的条目之一:

subhrcho   875   803  0 Jan23 pts/5    00:02:27 [java] <defunct>
Run Code Online (Sandbox Code Playgroud)

这里是什么<defunct>意思?该进程是 PID=875 的进程是什么状态?

process ps process-management command

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

xkcd 笑话中这个特定的“rm”序列的原因是什么?

这是这个 xkcd 漫画的一部分,其中的想法是作者无法编写排序程序,因此他添加了删除所有文件的代码

system("rm -rf ./");
system("rm -rf ~/*");
system("rm -rf /");
Run Code Online (Sandbox Code Playgroud)

AFAIK 删除所有内容的规范方法是删除rm /从 root 开始的所有内容。这是最后一个命令和之前的两个命令,尝试访问rm当前目录和主目录的内容。

为什么不只是rm /

rm command

15
推荐指数
2
解决办法
1623
查看次数

在 bash 中启动的可执行文件的顺序

如果我test在 bash 中执行命令,test(评估条件表达式)内置实用程序将启动:

$ type test
test is a shell builtin
$ type -a test
test is a shell builtin
test is /usr/local/bin/test
test is /usr/bin/test
$ 
Run Code Online (Sandbox Code Playgroud)

但是,如type -a test上面的输出所示,test在 /usr/local/bin 目录中有另一个,在 /usr/bin 目录中有另一个。可执行文件是如何排序的,即总是首选内置命令,然后其余命令取决于 $PATH 变量中的目录顺序?此外,是否可以更改启动的可执行文件的顺序,例如,如果我输入test,则启动 /usr/bin/test 而不是 bash-builtin test

shell bash shell-builtin command

15
推荐指数
2
解决办法
5004
查看次数

滚动到终端上的最后一个命令?(如 OS X 终端标记)

Mac OS X 终端标记非常有用。

例如,当我键入一个回显大量输出的命令时,很容易阅读以Cmd+Up. 它会滚动到最后一个命令,并强调它,因为有选项自动标记提示线,并Cmd+Up会滚动到最后关口

是否有具有此功能的终端模拟器?或者一些插件,什么的。你如何快速进入最后一个命令,突出显示它?

command-history terminal-emulator terminal command

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

在远程活动终端中执行命令

假设您打开了一个终端仿真器 (T1),PID 为 6350。

从另一个终端,键入以下命令 (C1):

echo "ls\n" > /proc/6350/fd/0
Run Code Online (Sandbox Code Playgroud)

这会写入lsT1 中的新行,但不会执行它。为什么?

我也尝试使用cat|bashwithecho "ls\n" > /proc/catid/fd/0但它仍然没有执行。

如何将命令回显到另一个终端并执行命令?

可能的答案:

$ mkfifo toto;
$ bash < toto;
$ echo "ls" > toto;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您不能再直接在终端中写入(所有内容的显示方式都与命令 (C1) 在此终端中显示的内容相同。

terminal file-descriptors stdout command

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

bash 脚本中的命令和终端中的命令之间的区别

您在终端中键入的命令与包含在脚本中的命令之间有什么区别吗?

linux scripting terminal command

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

你如何记住命令选项?

我很想知道您使用什么技巧来记住各种命令的选项?一直查找手册页既费时又不酷!

shell command

14
推荐指数
2
解决办法
9679
查看次数

使用 type 命令时“被散列”是什么意思?

我正在阅读这篇文章并尝试第一个答案中的所有命令......我现在真的没有其他更好的事情要做。

无论如何,我都浏览了它们关于rm. 引起我兴趣的是:

root@headdesk:~# type ls
ls is /bin/ls
root@headdesk:~# hash ls
root@headdesk:~# type ls
ls is hashed (/bin/ls)
root@headdesk:~#
Run Code Online (Sandbox Code Playgroud)

跑步help/man hash不是很有帮助,help type也不是真的(它没有提到hash任何地方)。由于我似乎无法在 man/info/help 页面中找到关系,除非我遗漏了一些东西,有人可以解释一下hashing 对type命令做了什么吗?

bash shell-builtin command

14
推荐指数
2
解决办法
2789
查看次数

打印末尾没有“-”的 SHA 和?

是否可以在没有-附加到末尾的情况下打印 SHA 总和?

$ echo test | sha1sum 
4e1243bd22c66e76c2ba9eddc1f91394e57f9f83  -  <--- this "-" dash/hyphen
Run Code Online (Sandbox Code Playgroud)

我知道我们可以使用awk和其他命令行工具,但是可以不使用其他工具来完成吗?

$ echo test | sha1sum | awk '{print $1}'
4e1243bd22c66e76c2ba9eddc1f91394e57f9f83
Run Code Online (Sandbox Code Playgroud)

command-line hashsum checksum command sha1sum

14
推荐指数
3
解决办法
6445
查看次数

ssh 是否在登录 shell 中运行命令(而不是 shell 本身)?

根据man sshd

\n
 LOGIN PROCESS\n      When a user successfully logs in, sshd does the following:\n\n      <...>\n\n            9.   Runs user's shell or command.  All commands are run under the\n                 user's login shell as specified in the system password data\xe2\x80\x90\n                 base.\n
Run Code Online (Sandbox Code Playgroud)\n

不过,尚不清楚“在用户的登录 shell 下运行”字面意思是“登录 shell,如bash -l”?我的实验表明,不,不是:

\n
$ ssh u@h shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'\nNot login shell\n
Run Code Online (Sandbox Code Playgroud)\n

我不明白为什么会这样?它导致运行的命令无法获得通常的环境,就像登录到 shell 一样。这很麻烦。

\n

shell login ssh command

14
推荐指数
2
解决办法
3453
查看次数