专栏首页机器学习算法与Python学习一文了解十大 Linux 命令行工具!

一文了解十大 Linux 命令行工具!

源: CSDN

作为一名程序员,Linux命令行是每天必用的工具。我整理了一些能够提高日常生产力的小工具。一些工具可以作为系统自带命令的替代品,另一些则提供操作系统没有的功能。希望能对大家有帮助。

所有命令均在Ubuntu 18.04上测试过。

▌1.grep => ack, ag

ack和ag是两个文本搜索工具,比自带的grep要好用得多。在指定目录下搜索文本时,它们不需要像grep那样指定各种命令行选项,输出结果也会包含文件名和行号,并且会高亮显示搜索关键字。

两者的基本功能很相似,所以可以任选一个安装。在Ubuntu 18.04上可以使用以下命令安装:

在Ubuntu 16.04上,ack的包名是ack-grep,所以你需要使用 sudo apt install ack-grep来安装。

▌2.fzf: 模糊查找

fzf是个模糊查找工具,主要用于命令行自动补齐,它可以查找文件名、进程名甚至环境变量。与系统自带的自动补齐相比,fzf能用列表的方式显示备选项,并且会即时根据输入内容进行过滤,不用像自带的自动补齐那样反复按tab键并在密密麻麻的结果中找了。

fzf不在Ubuntu的包里,所以需要从源代码来安装:

安装之后,可以用**<TAB>的格式来完成大部分补齐:

更多用法请参见项目主页:https://github.com/junegunn/fzf。

▌3.TheFuck:命令行拼写更正

输入命令时最让人头疼的就是输入了很长的命令之后发现开头打错了一个字母,或者忘了写sudo。TheFuck就是用来解决这个问题的。

用以下命令安装:

然后需要将下面的命令加入到~/.bashrc中:

重新登录(或者通过 source ~/.bashrc重新加载)后,试试下面的操作:

▌4.top => htop

htop命令十分出名,这里就不再赘述了。可以完全替换top命令。

▌5.traceroute => mtr

在查找网络问题时,mtr命令更好用,而且比系统自带的traceroute命令更快。

跟踪路由只需要输入:

该命令将启动一个GUI,显示路由跟踪的过程和结果。如果你喜欢文本界面,可以加入-t参数:

▌6.df => pydf

pydf可以用更简洁的方式显示磁盘使用状态。

▌7.mc:文件管理器

mc的全称是GNU Midnight Commander,是个命令行下非常好用的文件管理器。它采用左右两个窗口的形式管理文件,并且还支持FTP和SFTP。当你需要操作许多文件却又无法访问GUI时,比如在远程服务器上,那么mc是最好的选择。

提示:mc使用了F1~F10功能键。如果你的环境中F1~F10无法使用(比如通过终端模拟器使用mc,而功能键被绑定到了菜单上),那么可以使用Esc -> 0~9代替。

▌8.ftp => lftp

尽管现在FTP协议已经不流行了,但有时候访问旧的资源时还是需要的。lftp是个非常优秀的命令行FTP客户端。与系统自带的ftp相比,lftp支持mput和mget命令,可以用通配符上传和下载文件,还有强大的mirror命令可以下载或上传整个目录。它甚至可以用torrent下载BitTorrent协议的文件!

▌9.wget => aria2

aria2是个轻量级的下载工具,支持HTTP/HTTPS、FTP、SFTP、BitTorrent,而且最重要的是支持多线程下载。因此一般来说它的下载速度比wget快得多。它还支持断点续传。使用示例请参见aria2的主页(https://aria2.github.io/)。

▌10.nnn:文件分析工具

磁盘空间紧张时我经常会用du -sh *命令找出占用空间很大的文件和目录并删除它们。nnn可以做得更好。只需执行nnn然后按大写的S,即可看到所有目录和文件的大小。

本文分享自微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SVM大解密(附代码和公式)

    昱良
  • Python最简编码规范

    昱良
  • 谷歌拓展心愿清单:覆盖人造肉无人驾驶等新领域

    一向把“改变世界”看作己任的谷歌,开始计划利用其计算能力,在医疗诊断、人造肉、无人驾驶等7个方面展开新探索。 美国当地时间6月8日,彭博社报道称,谷歌母公司Al...

    昱良
  • Linux中IO多路复用机制

    之前的面试有问到主线程在 ActivityThread 里初始化 Looper 后调用了 Looper.loop() 这个死循环为什么不会阻塞主线程,当时回答因...

    萬物並作吾以觀復
  • Java中IO和NIO的本质和区别

    终于要写到java中最最让人激动的部分了IO和NIO。IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所...

    程序那些事
  • python并发编程

    py3study
  • 彻底搞懂Java的网络IO

    应用程序向操作系统发出IO请求:应用程序发出IO请求给操作系统内核,操作系统内核需要等待数据就绪,这里的数据可能来自别的应用程序或者网络。一般来说,一个IO分为...

    全菜工程师小辉
  • linux下的IO模型---学习笔记

      文件系统—一种把数据组织成文件和目录的存储方式,提供了基于文件的存取接口,并通过文件权限控制访问。

    用户6754675
  • 你所不知道到的NVMe

    NVMe SSD具有高性能、低时延等优点,是目前存储行业的研究热点之一,但在光鲜的性能下也同样存在一些没有广为人知的问题,而这些问题其实对于一个生产系统而言至关...

    Linux阅码场
  • IO FILE之劫持vtable及FSOP

    之前的文章对IO FILE相关功能函数的源码进行了分析,后续将对IO FILE相关的利用进行阐述。

    迅达集团

扫码关注云+社区

领取腾讯云代金券