不寻常但非常有用的 Linux Shell 命令终极清单
这是一份不太为人所知的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: 📚 控制台命令的协作性作弊表,以及 他们的贡献准则.
有一些替代品。
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
使用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个技巧“!
[...]如果您还没有掌握 Linux 终端的终极命令,那么像这样构建一个网络甲板一定会给您带来灵感[...]。