在这里推荐10款强大的命令行工具和6款虚拟终端软体,文末有「惊喜」。

专注Python、AI、大数据 @七步编程


命令行工具

1.跳转神器:autojump

为什么第一名给了autojump?因为实在太实用了,我们在Linux下开发时会频繁的切换工作目录,要一步一步的cd,pwd实在太麻烦了,autojump通过卫华命令行中使用最多的目录并给定相应权重的数据块来进行工作,不需要完全输入目录名,甚至输错目录名都没问题。

使用方法:

跳转到包含foo的路径只需下面这个命令即可,autojump会通过维护的资料库进行跳转,

j foo

wting/autojump?

github.com图标

2.终端记录器:script

很多时候,为了安全,需要对工作内容进行备份和保存。而script就是一个隐藏的记录器,它可以记录终端会话的所有内容,形成文件,对总是忘记工作内容的同学真是福音。

使用方法:

在终端输入script,

$ script

会显示:

Script started, file is typescript

接著可以开始自己的操作,想退出输入exit即可,当前目录下会生成一个名为trypescript的文件,里面记录了刚才的操作。

3.标记语言转换工具:Pandoc

这是一个强大的命令行标记语言转换工具,可以轻松把LaTeX、markdown、html等几十种文档格式转化成其他格式。

使用方法:

pandoc test1.md -f markdown -t html -s -o test1.html
pandoc -s --toc -c pandoc.css -A footer.html MANUAL.txt -o example3.html

jgm/pandoc?

github.com图标

4.树形目录:tree

刚接触非桌面Linux的同学大多数会感觉Linux没有Windows或Mac那么直观,的确,我们面对的就是一行行命令,文件夹、应用图标什么的都没有,自然不直观。但是可以借助一些工具来增强目录的直观性,这里推荐的就是tree,可以以类似于图像的树状图排列目录和文件。

# tree #以树状图列出当前目录结构
. #当前目录结构
|-- README
|-- examples.desktop
|-- file
|-- file.new
|-- index.htm
|-- test
| |-- README
| |-- file
| |-- testfile
| |-- testfile1

5.命令手册:tldr

用Linux的过程中难免会和各种参数打交道,距离比如ps -aux、tar -jxvf、find -name,每个"-"后面的就是各种命令参数,大家比较熟悉的查看命令解释的方法有"command ?" "man command",就是命令后面加?或者man加命令。以man为例,解释很详细,但是带来的问题就是冗余,有很多信息是我们不想看到的,所以tldr就凸显出它的优点,简洁、实用。

tldr-pages/tldr?

github.com图标

6.git替代工具:tig

Tig是一个基于ncurses的git文本模式介面。它的功能主要是作为一个Git存储库浏览器,但也可以帮助在块级别上分段提交更改,并充当各种Git命令输出的分页器。

jonas/tig?

github.com图标

7.代码统计工具:cloc

cloc计算许多编程语言中源代码的空行、注释行等。

AlDanial/cloc?

github.com图标

8.视频下载工具:you-get

You-Get是一个很小的命令行实用程序,用于从Web下载媒体内容(视频、音频、图像),支持YouTube、哔哩哔哩、爱奇艺、央视、芒果TV、腾讯视频、秒拍、抖音、快手、网易等几十种网站视频下载。同时,you-get还可以把视频导入到自己的播放器进行播放。

$ you-get https://www.youtube.com/watch?v=jNQXAC9IVRw
site: YouTube
title: Me at the zoo
stream:
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]

Downloading Me at the zoo.webm ...
100% ( 0.5/ 0.5MB) ├██████████████████████████████████┤[1/1] 6 MB/s

Saving Me at the zoo.en.srt ... Done.

此外,如果你不想下载视频,还可以选择指定播放器在线播放,这样和网页端有什么区别?可以去广告!而且缓冲速度非常快!

you-get -p vlc https://www.youtube.com/watch?v=jNQXAC9IVRw

举个例子,以youku为例,这个视频需要观看75秒广告,

本地应用打开能直接观看。

soimort/you-get?

github.com

9.命令行纠错工具:the fuck

这是一款控制台命令纠错工具。

nvbn/thefuck?

github.com图标

10.分屏文档对照:icdiff

对比两个文档的差异性常用的就是diff file1 file2,这样可视化效果较差,icdiff可以分屏对比icdiff,直观效果更好。

jeffkaufman/icdiff?

github.com图标

虚拟终端工具

1.命令行工具:cmder

推荐理由:全面的linux命令、好看的界面和字体

习惯于用linux的同学可能会有一种感受,当用过了命令和键盘操作,突然回到windows下感觉cmd和powershell命令很差劲,而且界面很丑陋,这里给大家推荐一款cmder,常用的linux命令都有,而且集成的有git、putty等。

http://cmder.net/?

cmder.net

2.全能终端神器:mobaxterm

推荐理由:全能

可能有的人喜欢用putty远程伺服器,我更喜欢用mobaxterm,支持SFTP文件传输、支持xserver,能够弹出伺服器窗口,支持宏录制等等,全面而强大。

MobaXterm free Xserver and tabbed SSH client for Windows?

mobaxterm.mobatek.net图标

3.强大的安全终端模拟软体:Xshell

推荐理由:功能全面,操作流程

它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议,Xshell可以在Windows界面下用来访问远端不同系统下的伺服器,从而比较好的达到远程控制终端的目的。除此之外,其还有丰富的外观配色方案以及样式选择。

https://xshell.en.softonic.com/?ex=DSK-1262.7?

xshell.en.softonic.com

4.分散式版本控制系统:Git Bash

推荐理由:分散式版本控制

经常用到github之类的版本控制的可以选择Git Bash,它不仅支持Git各种命令,而且经过适当的调整配色,也可以作为一个终端命令行工具。

Git for Windows?

gitforwindows.org图标

5.轻量终端神器:putty

推荐理由:轻量、便捷

PuTTY是一款集成虚拟终端、系统控制台和网路文件传输为一体的自由及开放源代码的程序。它支持多种网路协议,包括SCP,SSH,Telnet,rlogin和原始的套接字连接。它也可以连接到串列埠。

a free SSH and telnet client for Windows?

www.putty.org

6.简介强大的命令行神器:ConEmu

推荐理由:集成、全面

小巧而简洁,但不失强大的功能,可以更换字体、缩放字体、更改背景色或背景图片、设置透明度、复制+粘贴。

ConEmu?

www.fosshub.com图标

更多我的作品

Jackpop:有哪些堪称「神器」,却鲜为人知的APP?

Jackpop:Windows 下有什么用过之后就离不开的冷门软体?

Jackpop:你读过哪些令你有跪感的书?

Jackpop:你的研究生导师是什么样的?


重要通知:

域名变更为:d.supjohn.com 了, v2en.co 以后就弃用了。伺服器搬美国去了,可能速度下降了一些,请见谅。

原回答里所有用到 v2en.co 这个域名的地方都请替换为 d.supjohn.com 哈,如果用 bash script 就方便很多了,把脚本里的域名改一下就可以。快捷操作依然可行。

HTTPS 也保持了,各位放心使用。

------ 以下为原回答 -------

工程师装逼必备,命令行查单词:

$ curl v2en.co/cool
╔══════════════════════════════════
║ _____ ____ ____ _
║ / ____| / __ / __ | |
║ | | | | | || | | || |
║ | | | | | || | | || |
║ | |____ | |__| || |__| || |____
║ \_____| \____/ \____/ |______|

║──────────────────────────────────
║ ku:l(英)| kul(美)
║──────────────────────────────────
║ cooled(过去式)| cooled(过去分词)| cooling(现在分词)
║ cools(第三人称单数)
║ cooler(更)| coolest(最)
║──────────────────────────────────
║ adj. 冷静的、凉爽的、一流的、孤傲冷漠的
║ vt. vi. (使)变凉、(使)冷静,使冷却、变凉,冷却、平息
║ n. 凉气,凉快的地方、凉爽,凉爽的空气
║──────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚══════════════════════════════════

查中文:

$ curl v2en.co/凉爽的
╔══════════════════════════════════
║ 凉爽的
║──────────────────────────────────
║ 解释:
║ cool、pleasantly cool
║──────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚══════════════════════════════════

查英文片语:

$ curl v2en.co/cool%20down
╔═════════════════════════════════════════════
║ _____ ____ ____ _ _____ ____ __ __ _ _
║ / ____| / __ / __ | | | __ / __ / /| | |
║ | | | | | || | | || | | | | || | | | / / / | | |
║ | | | | | || | | || | | | | || | | | / / / | . ` |
║ | |____ | |__| || |__| || |____ | |__| || |__| | / / | | |
║ \_____| \____/ \____/ |______| |_____/ \____/ / / |_| \_|

║─────────────────────────────────────────────
║ 发音:
║ ku:l daun(英)| kul da?n(美)
║─────────────────────────────────────────────
║ 解释:
║ (使)变凉、冷静下来、消气、降温
║─────────────────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚═════════════════════════════════════════════

原答案的 bash 和 zsh 脚本不是最佳版本,已删除;现在显示的是 @拆封 提供的脚本:

v2() {
declare q="$*";
curl --user-agent curl "https://v2en.co/${q// /%20}";
}

v2-sh() {
while echo -n "v2en&> ";
read -r input;
[[ -n "$input" ]];
do v2 "$input";
done;
}

v2-sh 可以直接进入交互模式,不用重复输入 v2 前缀

现在,你可以开始装逼了:

$ v2 cool down
╔═════════════════════════════════════════════
║ _____ ____ ____ _ _____ ____ __ __ _ _
║ / ____| / __ / __ | | | __ / __ / /| | |
║ | | | | | || | | || | | | | || | | | / / / | | |
║ | | | | | || | | || | | | | || | | | / / / | . ` |
║ | |____ | |__| || |__| || |____ | |__| || |__| | / / | | |
║ \_____| \____/ \____/ |______| |_____/ \____/ / / |_| \_|

║─────────────────────────────────────────────
║ 发音:
║ ku:l daun(英)| kul da?n(美)
║─────────────────────────────────────────────
║ 解释:
║ (使)变凉、冷静下来、消气、降温
║─────────────────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚═════════════════════════════════════════════

$ v2-sh
v2en&> cool down
╔═════════════════════════════════════════════
║ _____ ____ ____ _ _____ ____ __ __ _ _
║ / ____| / __ / __ | | | __ / __ / /| | |
║ | | | | | || | | || | | | | || | | | / / / | | |
║ | | | | | || | | || | | | | || | | | / / / | . ` |
║ | |____ | |__| || |__| || |____ | |__| || |__| | / / | | |
║ \_____| \____/ \____/ |______| |_____/ \____/ / / |_| \_|

║─────────────────────────────────────────────
║ 发音:
║ ku:l daun(英)| kul da?n(美)
║─────────────────────────────────────────────
║ 解释:
║ (使)变凉、冷静下来、消气、降温
║─────────────────────────────────────────────
║ Try curl v2en.co/:help for more commands.
╚═════════════════════════════════════════════
v2en&> niubility
╔═════════════════════════════════════════════
║ _ _ _____ _ _ ____ _____ _ _____ _______ __ __
║ | | ||_ _|| | | || _ |_ _|| | |_ _||__ __| / /
║ | | | | | | | | || |_) | | | | | | | | | \_/ /
║ | . ` | | | | | | || _ &< | | | | | | | | / ║ | | | _| |_ | |__| || |_) | _| |_ | |____ _| |_ | | | | ║ |_| \_||_____| \____/ |____/ |_____||______||_____| |_| |_| ║ ║───────────────────────────────────────────── ║ 解释: ║ 牛逼;牛B ║───────────────────────────────────────────── ║ Try curl v2en.co/:help for more commands. ╚═════════════════════════════════════════════

好玩不忘点赞扩散哇!


以下命令可以看到更多的功能

$ v2 :help

Enjoy~


推荐几个堪称神器的命令行软体,记得看完哈,越到后面越精彩!

  1. WordGrinder:它是一款使用起来很简单,但拥有足够的编写和发布功能的文字编辑器。它支持基本的格式和样式,并且你可以将你的文字以 Markdown、ODT、LaTeX 或者 HTML 等格式导出;

2. Proselint:它是一款全能的实时检查工具。它会找出行话、大话、不正确日期和时间格式、滥用的术语等等。它也很容易运行并忽略文本中的标记;

3. GNU Aspell:它能够互动式地检测文本文档,能高亮显示拼写错误,还能在拼写错误的上方提供正确的拼写建议。Aspell 在进行拼写检查的时候,同样能够忽略许多语法标记;

4. tldr:你能通过这个工具,快速查看查看各种命令的常用命令行例子:

5. Alex:它是一个简单但很有用的小工具。适用于明文文本或者格式为 Markdown 或 HTML 的文档。Alex 会对「性别偏好、极端主义、种族相关、宗教,或者文章中其他不平等的措辞」产生警告。如果你想要试试看 Alex,这里有一个在线 demo;

6. nmon:它能够帮你进行电脑的性能监控,包括 CPU,内存,磁碟 IO,网路 IO,并且界面很炫酷,是不是很像黑客,快去试试吧 nmon for Linux | Main

7. axel:多线程断点下载工具,非常好用。例如下图中这样,指定了 8 个线程同时下载。

8. SpaceVim:这是一个 vim 插件,使你的 Vim 变成带代码自动补全等功能的更加强大的代码编辑器!

9. thefuck:你 git branch 打成 branch 了,然后命令行报错,你是不是心里会冒出一句 fuck?那你就在命令行里输入 fuck 然后回车!咦,成功了!

apt-get update 打成 aptget update 报错?输入 fuck 然后回车!就解决了!爽吧哈哈哈

我的其他相关回答:

  • 什么能力很重要,但大多数人却没有?
  • 程序员如何用专业技术来表白?
  • 程序员最大的悲哀是什么?
  • 有哪些命令行的软体堪称神器?
  • 为什么祖传代码被称为屎山?
  • 有哪些新手程序员不知道的小技巧?
  • 程序员如何用专业来表白?
  • 程序员如何高效读代码?
  • 学习编程照著别人的代码敲进去有效率吗?
  • 程序员如何心平气和的坐在电脑面前长时间写代码?


熟练使用命令行,是成为一个老司机必备的技能。

这里有一份入门进阶指南,名字叫「命令行的艺术」,在GitHub收获了5万标星

技巧覆盖面广,且富含具体的例子。主要为Linux所写,却也有Mac和Windows的专用章节。

项目作者Joshua Levy说:

文章并不长,但当你掌握这里列出的所有技巧时,你就学会很多关于命令行的东西了。

他还说了:

这份资源不仅能帮助刚接触命令行的新手,对有经验的人也大有裨益。

从诞生之初到今天,项目被翻成了16种语言。就是说,如果感觉中文有翻译腔,可以回去看英文原版 (手动狗头) 。

那么,先来观察一下,老司机是怎样炼成的。

基础篇 日常篇

这份资源主要专注在互动式 Bash,但也有许多技巧可以用在其他shell和普通Bash脚本里。

基础篇

所以,萌新就从Bash的基础知识开始学习。然后:

要熟悉一种基于文本的编辑器;学会用man命令阅读文档。

还有,用apropos查找文档。要知道有些命令不对应可执行文件,而是Bash内置好的。可以用help和help-d来获得帮助信息。另外,要学会用&>和&……

包括Bash中的任务管理工具,文件管理工具,网路管理工具等等,都要在这一篇里熟络起来。

此篇共分12条技能,算是比较短的一篇了。

基础打好之后,进入:

日常使用篇

顾名思义,这里实现的是一些日常技巧。

比如,为了方便长命令的编辑,用ctrl-x ctrl-e打开一个编辑器,来输入当前正编辑的命令;

比如,用xargs (或parallel)。这个非常给力。你可以控制每行的参数个数 (-L) 和最大并行数 (-P) 。如果不确定它会不会照你想的做,就先用xargs echo查一下。另外,用-I{}也很方便。比如,对ssh设置做些小优化可能很有用,比如这个~/.ssh/config文件包含了防止特定网路环境下连接断开、压缩数据、多通道等选项:

1TCPKeepAlive=yes
2 ServerAliveInterval=15
3 ServerAliveCountMax=6
4 Compression=yes
5 ControlMaster auto
6 ControlPath /tmp/%r@%h:%p
7 ControlPersist yes

注意,日常部分有44条技能。请君坚持修炼完成,然后前往下一章节。

各类专门技巧

首先,是文件及数据处理技能,一共33条:

比如,用ag在源代码或数据文件里检索 (grep -r 同样可以做到,但相比之下 ag 更加先进) 。

比如,将HTML 转为文本:lynx -dump -stdin。比如,当你要处理棘手的 XML 时候,xmlstarlet 算是上古流传下来的神器了。……

后面还有系统调试技巧20条,和单行脚本技巧7条 (每条都有例子) 。

以及别忘了,冷门但有用的工具,是一个大大大大大列表。

至此,各种技巧已分类仔细,就算是老司机也可以按照自己的需要,找到一些好用的方法了。

还有更多

学到这里,Linux用户可能已经吃饱了。

项目里还有Mac的专用技巧,以及Windows的专用技巧,决定先不详述,大家可以自行探索。

最后,作者毫不吝惜地列举了其他人类出品的各种命令行指南:

各路资源排山倒海向你涌来,再不学习可能就要被淹了。

传送门:

https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md

量子位 · QbitAI?? ? 追踪AI技术和产品新动态量子位?

www.zhihu.com图标

欢迎大家关注我们,以及订阅我们的知乎专栏


awk 没有之一
推荐阅读:
相关文章