你最喜欢的 Linux 终端技巧是什么?

参与我们的投票,或告诉我们你最喜欢的终端技巧。它是一个巧妙的生产力快捷方式还是一个有趣的彩蛋?
111 位读者喜欢这个。
新年的开始总是评估提高效率的新方法的好时机。 许多人尝试新的生产力工具,或者弄清楚如何优化他们最平凡的流程。 要评估的一个领域是终端。 尤其是在开源世界中,有很多方法可以通过快捷方式和命令使终端上的生活更有效率(也更有趣!)。 
 
我们询问了我们的作者他们最喜欢的终端技巧。 他们分享了他们的省时技巧,甚至是一个有趣的终端彩蛋。 你会采纳这些键盘快捷键或命令行技巧中的一个吗? 你有想要分享的最爱吗? 通过参与我们的投票或留下评论来告诉我们。 
 
“我无法选择最喜欢的; 我每天都使用这三个: 
  • Ctrl + L 清除屏幕(而不是输入“clear”)。
  • sudo !! 以 sudo 权限运行上一个命令。 
  • grep -Ev '^#|^$' <file> 将显示文件内容,不包含注释或空行。”
—Mars Toktonaliev
 
“对我来说,如果我在终端文本编辑器中,并且我想让它消失以便我可以快速做其他事情,我使用 Ctrl + Z 将其放入后台,做任何我需要做的事情,然后使用 fg 将其带回前台。 我有时也会对 tophtop 做同样的事情。 我可以将其放入后台,并在我想检查当前性能时随时将其带回前台。 我在实际应用中不太常见到后台和前台操作,但它确实可以增强终端上的多任务处理能力。”
—Jay LaCroix
 
“因为我倾向于在给定的一天在终端上做很多相同的事情,所以有两件事是我每天的常数
  • Ctrl + R 反向搜索我的 Bash 历史记录,以查找我已经运行过并希望再次运行的命令
  • Caret 替换是最好的,因为我经常做类似 sudo dnf search <package name> 的事情,然后如果我以这种方式找到合适的软件包,我就会做 ^search^install 来重新运行命令,将 search 替换为 install。
当然,这些东西都是基本的,但对我来说非常省时。”
—Steve Morris
 

“我酷炫的终端技巧不是我在终端中做的事情,而是我使用的哪个终端。 有时我只是想要使用 Apple II 或旧的琥珀色黑色终端的感觉。 那时我会启动 Cool Retro Term。 屏幕截图在网站上。”

—Jim Hall
 
“可能是 ssh -X 在其他机器上运行图形程序。 复制/粘贴(在某些终端模拟器上,例如 gnome-terminal)C-S c 和 C-S v。 我不确定这是否算数(因为它在有趣的部分变成了图形界面,但以 ssh 开始)。 最近,我需要登录到另一台机器,但让我的孩子们能够从我的笔记本电脑上的更大屏幕上跟随。 这个链接 向我展示了我以前从未见过的东西:通过本地网络 (x11vnc -desktop) 将另一台计算机屏幕上的活动会话镜像到我的笔记本电脑上,并且能够同时从两台机器控制它。”
—Kyle R. Conway
 
“你可以安装 Install 'sl' $ sudo apt install sl$ sudo dnf install sl,并且 当在 Bash 提示符下输入命令 sl 时,一个基于文本的蒸汽机车会横穿显示器。”
—Don Watkins
接下来读什么
User profile image.
Opensource.com 发布关于创建、采用和分享开源解决方案的故事。 在 Twitter 上关注我们 @opensourceway。

23 条评论

我不知道什么被认为是“技巧”,但我想说使用 ! 运行历史记录项,当然还有 !! 运行最后一个项目。

但我最喜欢 *nix shell 的地方是管道,这是一个如此简单但又聪明的想法。

使用 !$ 作为最后一个参数改变了我的终端生活。

发现 !$ 组合作为调用上一个命令的最后一个参数改变了我的生活。

在按下回车键输入我知道我将再次需要的长命令之前,我输入 # 符号开始注释,然后输入标签(例如 #aaa)。 这样,稍后我可以按“ctrl-R aaa 回车”来搜索我的命令历史记录以查找该注释并执行该命令。

我想说使用 BASH 时,ESC + 下划线是一个非常有用的键绑定。 它在先前命令的参数之间循环,因此您不必再次键入它们。

我最喜欢的“技巧”是 shell 函数。

有用,而且命名很有趣 :)

“fluck”是我最喜欢的 - 只是一个 rsync 工具。

最棒的是……任何人问“帮助”,我都告诉他们直接 fluck it。

...忽略了“alias”@ 也使用并喜欢这个!

Ctrl+D 注销。 这意味着我已经完成我的工作 8-)

screen 或 byobu 或 tmux 或它们的组合...

我最喜欢的技巧是输入 ctrl-x ctrl-e 打开编辑器来编写一个快速脚本!

不是纯粹的终端技巧,但我经常从终端使用它。 有没有注意到你积累了多少旧的小文件的垃圾? 像 test.txt 或 testtext.ps 或有时是奇怪的名字。 因此,以防万一,你必须浏览这些文件并打开它们以确保它们不值得保留。
这是技巧——如果你只是创建一些东西来尝试一个过程,并且真的不在乎保留输出,请将其保存到 /tmp。 你仍然可以在计算机上的当前会话中使用它,但是你保存在 /tmp 目录中的任何内容都会在您重新启动时被擦除——就像在马桶上自动冲水一样!

我最喜欢的 shell 技巧是运行 fish。

像所有发现 !$ 的人一样,我一直很喜欢它 - 直到我发现它的交互式小兄弟:ALT+。 然后我就再也没有回头看。

ALT+. 对于 !$ 就像 CTRL+R 对于 !! 一样 - 像 !$ 一样,它会抓取上一个命令的最后一个参数,但是你不需要运行命令来获取替换(很高兴 shell 在运行之前回显完整的命令),在启用 readline 的 shell 上,ALT+. 将抓取上一个命令的最后一个参数并将其显示在你的编辑行中。 如果你不喜欢它,再次按下组合键以抓取之前命令的最后一个参数,依此类推。

对我来说,这非常简单。 在命令开头添加一个空格,它就不会进入历史记录文件。 如此简单,并且在您忘记什么在哪里以及什么是什​​么时,可以保持您的命令历史记录的清洁,免受混乱。

像那些 !$ 改变了他们生活的人一样,我也爱上了它和它的朋友 !!,直到我发现了 ALT+。 - 在启用 readline 的 shell 上(但在 MacOS 上不行,因为他们不能拥有美好的事物),它会抓取上一个命令的最后一个参数,但是你无需盲目发送命令,然后在看到你得到什么(很高兴 shell 在运行之前将完整的命令回显回来) - ALT+. 将最后一个参数放在命令行上,如果你不喜欢你得到的,你可以再次点击 ALT+. 以获取之前命令的最后一个参数。

你还可以使用 ALT+ 后跟 ALT+. 从之前的命令中抓取任何其他编号的参数。

我最喜欢的命令技巧是 sudo apt-get install kde-plasma-desktop

哇哇哇哇……Ctrl +u 不仅仅是取消输入。 它是光标前剪切。 Ctrl +k 是光标后剪切。 Ctrl+y 是粘贴上次剪切的文本。

Ctrl+退格键是撤消上一步,目前为止我的最爱

对我来说,Ctrl+z 和 fg 是救命稻草,然后当我意识到我需要在已经输入的长命令之前输入一些命令时,Ctrl+u 和 Ctrl+y 变得非常方便,Ctrl+a 与 Ctrl+e 结合使用也提升了编辑效率,因为我经常通过服务器进行文件传输,scp 是最好的便捷命令。
我也爱上了 !! 和 !$ 以及 Ctrl+r
在 vi 中编辑时,如果我记得我需要运行一些东西,:! 用于在不离开 vi 的情况下执行。
Linux shell 非常有趣!

`tmux` 总是,尤其是在安全 shell 进入另一台机器时。

`set -o vi` 用于命令行上的 vim 而不是 emacs。

大括号扩展,绝对是。 有史以来保守得最好的秘密……还有,'set -o vi'

我是参数扩展运算符的忠实粉丝,并且使用 $IFS 和 set -- arg1 arg2 argn... 处理任意文本数据……不需要在野外使用那么多 sed & awk……shell 可以做到!

mv prog1.{c,orig}
fping -nAg 172.{{16..18},{29..31}}.0.0/16
dirname() { echo ${1%/*}; }
basename() { echo ${1##*/}; }

ssh -X 在我的系统上不起作用

Ctrl - R 将为您节省大量时间,因为您可以在历史记录中循环浏览,我在末尾添加 #Labels,这样我可以更快地搜索。

© . All rights reserved.