不寻常但非常有用的 Linux Shell 命令终极清单

Linux 命令终极清单 标题图片

这是一份不太为人所知的Linux shell命令汇编--但确实很有用。有用的是:节省时间,给你额外的工具来做你以前做不到的事情,但也有娱乐性。请享受阅读,并在评论中告诉我们是否有更多的工具需要添加。

安装说明将适用于基于Debian的系统,它们已经在Raspberry Pi操作系统上进行了测试,在一台 树莓派4 / 1 GB.在其他系统上也是如此,但只要尝试一下这些命令就可以了 🙂

sudo !

这将执行带有sudo前缀的前一条命令。如果你忘了在命令前加上sudo,那真是太有用了。

apt-get update
sudo !!

不需要安装它,如果你的系统上有sudo,这应该可以工作。注意sudo和感叹号之间的空格。

sudo-prepended命令也将被添加到你的bash历史记录中,所以你可以方便地通过输入 "向上 "方向键来重复访问它。 (我已经在上面的动画中演示了这一点。 sudo ! 本身不会被添加到你的历史中)

嗒嗒(猫倒)

这个方便的指令与它更著名的兄弟cat一起被内置。传递一个文件给它,让它颠倒文件的行序,先打印最后一行。

tac /etc/magic

例如,如果你在查看日志文件,这个命令应该非常方便。

tldr - manpages, simplified!

manpages很有用,但有时也很冗长。你是否发现自己在Google上搜索而不是看manpage?仅仅是因为你想要每天使用的真实例子,而不是一个命令所能提供的所有花哨的东西? tldr提供了 "控制台命令的协作小抄"

TL;DR: tldr 是获取Linux命令快速摘要的工具。

还有一个 PDF版 (tldr.sh) 其中包括所有当前可用的tldr页面

安装Tldr

注意:这将需要在你的Linux系统上安装npm / node.js。

npm install -g tldr

使用tldr

只需键入 tldr 后面是你感兴趣的命令。在第一次运行时,tldr将更新它的缓存并创建一个索引,这将需要一点时间。例如,要查看关于gzip的tldr页面,运行。

tldr gzip

贡献和tldr替代品

如果你想为tldr做出贡献,请看一下 GitHub - tldr-pages/tldr: 📚 控制台命令的协作性作弊表,以及 他们的贡献准则.

有一些替代品。

  • 骗局
  • 兄弟页 ("直接进入正题")
  • 卫星 - 允许你以互动方式浏览作弊表,并建立你想执行的命令。
  • cheat.sh - 可以在不安装任何东西的情况下使用,通过使用 curl

how2 - 终端的stackoverflow

如果你已经知道你要追求的命令,tldr和cousins确实很有用。但是,如果你只知道你需要做什么,但还不知道怎么做,你能做什么呢?我们都知道浏览器会让人分心。 工具how2 帮助你在不离开命令行的情况下获得快速的答案。

how2安装

需要在你的系统上安装node.js和npm包管理器。

sudo npm install -g how-2

如何2使用

how2 mount an NTFS drive in Raspbian

如果你对答案满意,按回车键退出how2 - 否则按空格获得更多选择。使用键盘上的方向键进行导航,Esc键退出。

howdoi - 从命令行获得编码问题的答案

同样,如果你想在命令行上寻找编码问题的答案,而不需要切换到浏览器,请查看 如何做:

如何安装

sudo apt-get update
sudo apt-get install libxml2-dev libxslt-dev python3-lxml python-lxml python-dev
sudo pip3 install howdoi

如何使用我

howdoi howdoi
howdoi use tensorflow in python
howdoi -c shut down the system with Python

ǞǞǞ -c 标志将启用彩色输出。默认情况下,howdoi将使用谷歌搜索,但你也可以选择使用bing或duckduckgo。

autojump - 一个更快的方法来浏览你的文件系统

自动跳跃 维护一个你从命令行访问最多的目录的数据库,并允许你仅通过给出它的部分名称跳到该目录。不需要反复地 唱片公司 到你的目标目录中去了!

自动跳板的安装

sudo apt-get update
sudo apt-get install autojump

由于政策原因,你将需要在你的~/.bashrc中手动添加autojump,用于非登录的交互式shell,在你的~/.bash_profile中添加autojump,用于登录的shell。

nano ~/.bashrc

并在底部添加以下一行。

. /usr/share/autojump/autojump.sh

注意:你需要重新打开终端/通过SSH重新连接,这样才能应用。

使用自动跳转

autojump带有一个方便的快捷键 "j",可以帮助你减少输入。要开始使用autojump,你需要预先设定目录路径。正常导航,例如

cd /etc/python

在建立了这个你所访问的目录的缓存后(autojump会记录下频率!),你将能够通过输入部分名称来跳转到这些目录,例如。

j pyt

与autojump相似的工具

有几个类似于自动跳跃的应用。

mtr - ping和traceroute的组合

mtr会显示你的网络数据包从你的Raspberry Pi到主机的路径。这对网络诊断很有用,例如分析延迟。但是,看看互联网是如何工作的,把你的数据包从一个主机传到另一个主机,也是非常有趣的 🙂

安装MTR

sudo apt-get update
sudo apt-get install mtr

姆雷特的用法

mtr

mtr会故意用低的TTL(生存时间)发送数据包,继续增加它们,以分析网络路径。数据包丢失或响应时间的突然增加,往往是一个坏的(或简单的过载)链接的迹象。

bat:带语法高亮的cat代码文件

有很多猫咪的克隆体。 蝙蝠是一只有翅膀的猫的克隆体.它的翅膀下有几个额外的功能,使其成为猫的强大替代者。

  • 许多编程和标记语言的语法突出显示
  • 与git集成以显示修改内容
  • 可以选择显示不可打印的字符(使用 -A 旗帜)

默认情况下,bat也会用管道将自己的输出传给寻呼机(如 更少),如果输出对一个屏幕来说太大。

蝙蝠安装

ǞǞǞ 蝙蝠的GitHub页面 给出了不同Linux系统(甚至是Windows!)的安装说明。

bat目前只在Debian的 "sid"(不稳定)版本中可用。要在Raspberry Pi操作系统上安装它,请前往 https://github.com/sharkdp/bat/releases,并下载相应的软件包。(如果你运行的是32位的Raspberry Pi操作系统,请使用bat_*.armhf.deb,64位的请使用bat_*_arm64.deb;如果你是在x86/AMD64系统上设置的,这些软件包也可以使用)。

cd /tmp
wget https://github.com/sharkdp/bat/releases/download/v0.17.1/bat_0.17.1_armhf.deb
sudo apt-get install ./bat_0.17.1_armhf.deb

蝙蝠的使用

只需使用 蝙蝠 就像你会使用 :

bat example.py

语法高亮将由文件的第一行决定(最好是一个shebang,如#!/bin/sh)。

asciinema & svg-term-cli: 从shell交互中创建SVG电影

注意:这是 纪录片, 不是asciicinema 🙂

你可以用 OBS工作室 捕捉你的屏幕,并为YouTube创建一个电影,炫耀外壳。但是--这是一个视频,它有一些缺点。

  • 尺寸
  • 分辨率是固定的

纪录片 允许你捕捉这些文本流,并将其作为所谓的asciicast发布。你可以通过他们提供的一个小的JavaScript片段将它们嵌入到你的网页中。请看 一个asciicast的例子 我们为这篇博文录制的。

当与 svg-term-cli,它允许你创建SVG动画!这些影片是矢量动画,完全适合在外壳中进行互动。它们比视频文件小,而且可以在不损失质量的情况下进行缩放。此外,不需要JavaScript。然而,当包括大量这些asciicasts时,我建议使用JavaScript选项--否则页面的性能会受到影响。

安装asciinema

这里有一个 链接到asciinema的安装说明我们将看看那些用于Raspberry Pi操作系统(Debian)的产品。

sudo apt-get update
sudo apt-get install asciinema

此外,你应该 在asciinema.org上建立一个账户 - 你只需要你的电子邮件地址,并将你的账户与安装在树莓派上的asciinema联系起来,通过运行。

asciinema auth

这将为你生成一个URL--通过访问该URL,在你登录的情况下,你将把本地asciinema安装与你的asciinema.org账户联系起来。这将允许你管理录音(设置标题、编辑描述、设置公开),并避免录音在7天后被自动归档。

安装svg-term-cli

注意:这需要node.js和 包装管理器npm 来工作。只有当你想从你的asciicasts创建动画的.SVG文件时,这才是必要的。

sudo npm install -g svg-term-cli

asciinema的用法

要开始录音,请输入。

asciinema rec

这将产生一个新的shell实例,并开始记录终端互动。要完成记录,请点击 Ctrl + D 或类型 退出

asciinema现在会问你是否要将你的录音上传到asciinema.org(按 进入),或将其保存在本地(通过按 Ctrl + C).在后一种情况下,一个 .铸造 文件将在临时目录下创建。

asciinema:录制完成
asciinema:按上传至asciinema.org,按本地保存。
asciinema: asciicast保存到/tmp/tmp21kux252-ascii.cast中。

你还可以指定要使用的输出文件。

asciinema rec /tmp/example.cast

提示:在开始录制之前,将你的终端窗口调整到你希望在动画中出现的列和行的分辨率;svg-term-cli的选项-width和-height将简单地裁剪输出。

要将文件上传到asciinema,你现在可以运行。

asciinema upload /tmp/example.cast

本页对asciinema的使用有更详细的说明。.

使用svg-term-cli将asciinema.cast文件转换为.svg文件

一种选择(出于性能考虑,推荐使用)是在asciinema.org上托管你的.cast文件--这就是 在他们的网页上有很好的记录.在这里,我们将探讨将录音转换为动画的.svg文件的选项。

svg-term --in /tmp/tmp21kux252-ascii.cast --out /tmp/example.svg

注意:出于安全考虑,WordPress默认禁用SVG上传。有 允许以安全方式上传SVG的插件.

exa:一个现代的ls的替代品

虽然可以让ls显示颜色,但exa以一种真正优化的方式使用颜色,并为你提供额外的信息支持。

例如,它内置了一个树形视图--在层次结构旁边显示你的文件信息。exa也知道不同的文件类型,并将以不同的颜色显示它们。此外,它有内置的Git支持,可以在标准视图中查看阶段性/非阶段性状态。

安装外挂

sudo apt-get update
sudo apt-get install exa

利用外力

exa

exa的工作原理与ls相似,使用标记 -l 来显示关于你的文件和目录的细节列表。 -T 来显示包括子目录在内的树状视图,以及 -Tl 来显示树形/细节的组合视图。请参考 exa文件 欲了解更多信息。

shuf:随机化文件中的行数

比方说,你想通过洗刷文件中的条目来创建一个随机列表(用户、活动,随你挑!)。那么,有了这个工具(应该已经预装了),你就很幸运了。

shuf example.txt

钻井:创建假身份

有时,一个页面迫使你用你的身份注册。这些页面很聪明:例如,它们会检查你的城市是否与你的邮政编码相符。rig允许你管理这一挑战,按要求向你提供无限的假身份(美国),这在地理上应该是有些正确的。rig本身是基于适当命名的 "假 "MSDOS应用程序。

钻机的安装

sudo apt-get update
sudo apt-get install rig

钻机的使用

rig

browsh - 一个现代基于文本的浏览器

我们都知道 猞猁它允许你从命令行中打开任何网页(例如维基百科)。Lynx,截至2020年是仍在维护的最古老的网络浏览器,开始于1992年。

然而,当Lynx不能满足需要的时候,怎么办?当你想回放YouTube视频,使用JavaScript访问网页以渲染内容时,等等?

你很幸运。 眉毛在这个不寻常的命令行工具集合中,有一个特别的亮点,那就是一个完全现代的基于文本的浏览器。它在后台使用Firefox,以无头模式渲染你的页面。

注意:建议使用Pi 4来运行这个特殊的应用程序,它仍然会显得相当慢--你要求Pi执行一些严重的重体力劳动!但它很有趣,我相信对拥有更强大系统的用户来说会很有用。但它很有趣,我相信对拥有更强大系统的用户来说也很有用。

安装Browsh

请到 browsh 下载 页面并获得适当的软件包。例如,对于Debian ARMv7。

cd /tmp
wget https://github.com/browsh-org/browsh/releases/download/v1.6.4/browsh_1.6.4_linux_armv7.deb
sudo apt-get install ./browsh_1.6.4_linux_armv7.deb

如果你还没有Firefox,这也会自动拉入Firefox。

使用Browsh

browsh https://google.com

并准备 等待 相当多。

眉州有 良好的文件.这里有几个提示。

  • 使用 Ctrl+q 撤离眉山
  • 方向键来滚动
  • 退一万步说,回到历史中去
  • ctrl + l 关注URL栏

browsh甚至支持标签式浏览!此外,它还支持一种有趣的技术,称为 混杂 这允许在滞后的链接上实现更快的、预测性的炮弹。

nohup:在你离开SSH会话后保持一个应用程序的运行。

我记得这就是 "不挂断"。通常,当你离开一个SSH会话时,一直在你的会话中运行的应用程序会得到一个 叹气 信号。这通常会导致应用程序的终止。

在某些情况下,你宁愿不要这样做--例如,如果你正在转换一个视频,或运行某种服务器,或任何其他批处理过程。

在该命令前加上 忽悠 将允许它继续运行,即使在shell关闭或SSH断开的情况下。我通常会把它与一个逗号(&),以在后台启动该命令。

nohup ./myscript.sh &

lolcat:给你的外壳输出着色。我的意思是,真的给它上色!

你是否有时觉得这个世界,特别是外壳,缺乏色彩?不用再担心了--lolcat来拯救你。

安装lolcat

sudo apt-get update
sudo apt-get install lolcat

使用lolcat

lolcat可以像cat一样使用,在你的shell上输出文件。

lolcat /etc/magic

另外,像cat一样,它可以从stdin中读取信息,并将输入信息导入其中,为你的生活带来更多色彩。

man lolcat | lolcat
sudo apt-get update | lolcat

cal: 内置日历

Linux有一些小惊喜,比如内置的日历。

cal

如果你想看上个月和下个月的情况,也可以输入

cal -3

总结

就是这样,伙计们!你从不知道自己需要的所有 Linux 命令的终极清单!

想了解更多编程技巧?查看我们的文章"使用Python REPL的9个技巧“!

1评论

  1. [...]如果您还没有掌握 Linux 终端的终极命令,那么像这样构建一个网络甲板一定会给您带来灵感[...]。

发表评论