小编OJF*_*ord的帖子

为什么管道到 cat 只是为了重定向?

我偶尔会看到这样的事情:

cat file | wc | cat > file2
Run Code Online (Sandbox Code Playgroud)

为什么要这样做?

结果(或性能)何时会(有利地)不同于:

cat file | wc > file2
Run Code Online (Sandbox Code Playgroud)

pipe io-redirection cat

29
推荐指数
4
解决办法
8148
查看次数

杀死挂起的进程?

我有点困惑:

% vim tmp
zsh: suspended   vim tmp
% kill %1
% jobs
[1]  + suspended   vim tmp
% kill -SIGINT %1
% jobs
[1]  + suspended   vim tmp
% kill -INT %1
% jobs
[1]  + suspended   vim tmp
Run Code Online (Sandbox Code Playgroud)

所以我辞职只是“自己做”,后来想知道为什么:

% fg
[1]  - continued   vim tmp
Vim: Caught deadly signal TERM
Vim: Finished.
zsh: terminated   vim tmp
%
Run Code Online (Sandbox Code Playgroud)

哦!

确实有道理,现在我想起来了,它vim必须运行才能让它的信号处理程序被告知退出,并这样做。

但显然不是我想要的。

有没有办法在单个命令中“唤醒和退出”?即,内置别名kill %N && fg %N

为什么在后台恢复不起作用?如果 Ibg而不是fg,Vim 会一直活着直到 I …

kill signals process-management background-process

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

如果由于某种原因提交失败,git 提交消息是否可以恢复?

git commit可能会因gpg.commitsign = true&&gpg失败(无论出于何种原因)等原因而失败。重试该命令会打开一个空白编辑器;消息丢失。

发生这种情况时,是否有任何方法可以恢复写入的提交消息,以使用相同的消息重试提交?

git

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

在 GPG 中更改密钥的允许操作?

当您--gen-key在 GPG 中时,您可以选择密钥可用于签名、认证、加密和身份验证的哪些操作。

以后是否可以修改这些(即,如果当前密钥具有 C,并且旧密钥被撤销,则显然可以创建一个新密钥,但这不是问题)以删除或添加操作?

gpg

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

启用延迟/禁用延迟的配置文件?

我知道loginctl enable-linger <user>,并且loginctl disable-linger <user>可以用于启用/禁用用户的逗留,状态显示为loginctl show-user <user>( Linger=<yes/no>)。

我还知道这些(至少在撰写本文时)通过操作 来工作/var/lib/systemd/linger/<user>,并且在( 或)loginctl中有一些配置。/etc/systemd/logind.conf[...].d/*.conf

但是,中提到的所有配置选项man 5 logind.conf似乎都是“全局”选项,不包括Linger; 是否没有基于文件(in/etc或类似而不是/var)的方式来为用户设置逗留选项?

login systemd logind

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

如何查看`pushd`和`popd`使用的堆栈?

我想使用最近访问的目录列表进行日志记录。

目录堆栈是否被使用pushdpopd存储在某处,也许作为文本文件中的文件夹列表?如果有,在哪里?

shell-builtin pushd

3
推荐指数
2
解决办法
548
查看次数

交换 i3 窗口改变分割结构

假设您在 i3 窗口管理器中打开了三个窗口,如下所示:

 1 |
---| 2
 3 |
Run Code Online (Sandbox Code Playgroud)

1焦点。什么命令将您从那里带到:

   1
-------
 3 | 2
Run Code Online (Sandbox Code Playgroud)

也就是说,一种合并,或者通过将其从水平更改为垂直来重组分割,并将窗口交换21

i3

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