作者:Jackpop
链接:https://www.zhihu.com/question/41115077/answer/624385012
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

命令行工具

1.跳转神器:autojump

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

使用方法:

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

j foo
wting/autojumpgithub.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/pandocgithub.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/tldrgithub.com

6.git替代工具:tig

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

7.代码统计工具:cloc

cloc计算许多编程语言中源代码的空行、注释行等。
AlDanial/clocgithub.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-getgithub.com

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

这是一款控制台命令纠错工具。
nvbn/thefuckgithub.com

10.分屏文档对照:icdiff

对比两个文档的差异性常用的就是diff file1 file2,这样可视化效果较差,icdiff可以分屏对比icdiff,直观效果更好。
jeffkaufman/icdiffgithub.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 Windowsmobaxterm.mobatek.net

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

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

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

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

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

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

5.轻量终端神器:putty

推荐理由:轻量、便捷

PuTTY是一款集成虚拟终端、系统控制台和网络文件传输为一体的自由及开放源代码的程序。它支持多种网络协议,包括SCP,SSH,Telnet,rlogin和原始的套接字连接。它也可以连接到串行端口。
a free SSH and telnet client for Windowswww.putty.org

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

推荐理由:集成、全面

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