命令行基础工具的更佳替代品

命令行基础工具的更佳替代品

命令行听起来有时候会很吓人,特别是在刚刚接触的时候,你甚至可能做过有关命令行的噩梦。然而渐渐地,我们都会意识到命令行实际上并不是那么吓人,反而是非常有用。实际上,没有命令行正是每次我使用 Windows 时让我感到崩溃的地方。这种感觉上的变化是因为命令行工具实际上是很智能的。 你在任何一个 Linux 终端上所使用的基本工具功能都是很强大的, 但还远说不上是足够强大。 如果你想使你的命令行生涯更加愉悦, 这里有几个程序你可以下载下来替换原来的默认程序, 它还可以给你提供比原始程序更多的功能。

dfc

作为一个 LVM 使用者, 我非常喜欢随时查看我的硬盘存储器的使用情况. 我也从来没法真正理解为什么在 Windows 上我们非得打开资源管理器来查看电脑的基本信息。在 Linux 上, 我们可以使用如下命令:


  1. $ df -h

该命令可显示电脑上每一分卷的大小、 已使用空间、 可用空间、 已使用空间百分比和挂载点。 注意, 我们必须使用 "-h" 选项使得所有数据以可读形式显示(使用 GiB 而不是 KiB)。 但你可以使用 dfc 来完全替代 df, 它不需要任何额外的选项就可以得到 df 命令所显示的内容, 并且会为每个设备绘制彩色的使用情况图, 因此可读性会更强。

另外, 你可以使用 "-q" 选项将各分卷排序, 使用 "-u" 选项指定你希望使用的单位, 甚至可以使用 "-e" 选项来获得 csv 或者 html 格式的输出.

dog

Dog 比 cat 好, 至少这个程序自己是这么宣称的。 你应该相信它一次。 所有 cat 命令能做的事, dog 都做的更好。 除了仅仅能在控制台上显示一些文本流之外, dog 还可以对其进行过滤。 例如, 你可以使用如下语法来获得网页上的所有图片:


  1. $ dog --images [URL]

或者是所有链接:


  1. dog --links [URL]

另外, dog 命令还可以处理一些其他的小任务, 比如全部转换为大写或小写, 使用不同的编码, 显示行号和处理十六进制文件。 总之, dog 是 cat 的必备替代品。

advcp

一个 Linux 中最基本的命令就是复制命令: cp。 它几乎和 cd 命令地位相同。 然而, 它的输出非常少。 你可以使用 verbose 模式来实时查看正在被复制的文件, 但如果一个文件非常大的话, 你看着屏幕等待却完全不知道后台在干什么。 一个简单的解决方法是加上一个进度条: 这正是 advcp (advanced cp 的缩写) 所做的! advcp 是 GNU coreutils 的一个 补丁版本, 它提供了 acp 和 amv 命令, 即"高级"的 cp 和 mv 命令. 使用语法如下:


  1. $ acp -g [file] [copy]

它把文件复制到另一个位置, 并显示一个进度条。

我还建议在 .bashrc 或 .zshrc 中设置如下命令别名:


  1. alias cp="acp -g"
  2. alias mv="amv -g"

(译者注: 原文给出的链接已貌似失效, 我写了一个可用的安装脚本放在了我的 gist 上, 用的是 AUR 里的patch。)

(译者注:由于 GIST 被封,所以我将这个构建脚本贴到这里,大家可以使用它来构建一个自己用的二进制程序。)


  1. #!/usr/bin/env bash
  2. set -e
  3. tmpdir=$(mktemp -t -d advcp.XXXXXX)
  4. cd ${tmpdir}
  5. wget https://aur.archlinux.org/packages/ad/advcp/advcp.tar.gz
  6. tar xf advcp.tar.gz
  7. source advcp/PKGBUILD
  8. wget http://ftp.gnu.org/gnu/coreutils/coreutils-"${_pkgver}".tar.xz
  9. tar xf coreutils-"${_pkgver}".tar.xz
  10. cd coreutils-"${_pkgver}"
  11. echo "[1mPatching...[0m"
  12. patch -p1 -i ../advcp/advcpmv-"${_pkgver}"_"${pkgver}".patch || exit 1
  13. echo "[1mStart making...[0m"
  14. ./configure || exit 1
  15. make || exit 1
  16. sudo install -Dm 755 "${PWD}"/src/cp /usr/local/bin/acp
  17. sudo install -Dm 755 "${PWD}"/src/mv /usr/local/bin/amv
  18. echo "[1mInstallation succeeded![0m"
  19. echo "[1mDon't forget to add \"alias cp='acp -g'\" and \"alias mv='amv -g'\" in your bashrc![0m"

 

The Silver Searcher

the silver searcher 这个名字听起来很不寻常(银搜索...), 它是一款设计用来替代 grep 和 ack 的工具。 The silver searcher 在文件中搜索你想要的部分, 它比 ack 要快, 而且能够忽略一些文件而不像 grep 那样。(译者注: 原文的意思貌似是 grep 无法忽略一些文件, 但 grep 有类似选项) the silver searcher 还有一些其他的功能,比如彩色输出, 跟随软连接, 使用正则表达式, 甚至是忽略某些模式。

作者在开发者主页上提供了一些搜索速度的统计数字, 如果它们的确是真的的话, 那是非常可观的。 另外, 你可以把它整合到 Vim 中, 用一个简洁的命令来调用它。 如果要用两个词来概括它, 那就是: 智能、快速。

plowshare

所有命令行的粉丝都喜欢使用 wget 或其他对应的替代品来从互联网上下载东西。 但如果你使用许多文件分享网站, 像 mediafire 或者 rapidshare。 你一定很乐意了解一款专门为这些网站设计的对应的程序, 叫做plowshare。 安装成功之后, 你可以使用如下命令来下载文件:


  1. $ plowdown [URL]

或者是上传文件:


  1. $ plowup [website name] [file]

前提是如果你有那个文件分享网招的账号的话。

最后, 你可以获取分享文件夹中的一系列文件的链接:


  1. $ plowlist [URL]

或者是文件名、 大小、 哈希值等等:


  1. $ plowprobe [URL]

对于那些熟悉这些服务的人来说, plowshare 还是缓慢而令人难以忍受的 jDownloader 的一个很好的替代品。

htop

如果你经常使用 top 命令, 很有可能你会喜欢 htop 命令。 top 和 htop 命令都能对正在运行的进程提供了实时查看功能, 但 htop 还拥有一系列 top 命令所没有的人性化功能。 比如, 在 htop 中, 你可以水平或垂直滚动进程列表来查看每个进程的完整命令名, 还可以使用鼠标点击和方向键来进行一些基本的进程操作(比如 kill、 (re)nice 等),而不用输入进程标识符。

mtr

系统管理员的一个基本的网络诊断工具traceroute可以用于显示从本地网络到目标网络的网络第三层协议的路由。mtr(即“My Traceroute”的缩写)继承了强大的traceroute功能,并集成了 ping 的功能。当发现了一个完整的路由时,mtr会显示所有的中继节点的 ping 延迟的统计数据,对网络延迟的定位非常有用。虽然也有其它的 traceroute的变体(如:tcptraceroute 或 traceroute-nanog),但是我相信 mtr 是traceroute 工具里面最实用的一个增强工具。

总的来说, 这些十分有效的基本命令行的替代工具就像那些有用的小珍珠一样, 它们并不是那么容易被发现, 但当一旦你找到一个, 你就会惊讶你是如何忍受这么长没有它的时间! 如果你还知道其他的与上面描述相符的工具, 请在评论中分享给我们。

原文发布时间:2014-10-20

本文来自云栖合作伙伴“linux中国”

时间: 2024-11-07 18:15:58

命令行基础工具的更佳替代品的相关文章

PHPUnit袖珍指南之命令行测试工具

PHPUnit命令行测试工具是通过phpunit命令调用的.如下代码显示如何通过PHPUnit命令行测试工具运行测试. phpunit ArrayTestPHPUnit 2.3.0 by Sebastian Bergmann. Time: 0.067288 OK (2 tests) 对每个测试,PHPUnit命令行测试工具打印一个字符表示进程: ·测试成功打印".". ·运行测试方法是发生了断言失败打印"F". ·运行测试方法是发生了错误打印"E"

PHPUnit的命令行测试工具

PHPUnit命令行测试工具是通过phpunit命令调用的.如下代码显示如何通过PHPUnit命令行测试工具运行测试. phpunit ArrayTest PHPUnit 2.3.0 by Sebastian Bergmann. Time: 0.067288 OK (2 tests) 对每个测试,PHPUnit命令行测试工具打印一个字符表示进程: ·测试成功打印".". ·运行测试方法是发生了断言失败打印"F". ·运行测试方法是发生了错误打印"E&quo

LFCS 命令行基础

本文中包含了很多命令行基础.我们将讨论 TeleTYpe(TTY)和几个命令及其选项.确保做完所有练习,并要知道,除非另有说明,对 CentOS 和 Ubuntu 都是相同的. TTY 当没有图形用户界面(GUI)或当用户在 GUI 之外,Linux 就会使用 TTY.当打开终端窗口时也使用 TTY,但这些是不同类型的 TTY. 有三种类型的 TTY: 物理终端 本地伪终端 远程伪终端 基本上,每个 Linux 系统有大约六个或七个物理 TTY. 通过按住 CTRL + ALT 键,然后在 Ce

Taskwarrior:Linux下一个很棒的命令行TODO工具

Taskwarrior 是 Ubuntu/Linux 下一个简单而直接的基于命令行的 TODO 工具.这个开源软件是我曾用过的最简单的基于命令行的工具之一.Taskwarrior 可以帮助你更好地组织你自己,而不用安装笨重的新工具--这有时丧失了 TODO 工具的目的. Taskwarrior:一个基于简单的基于命令行帮助完成任务的TODO工具 Taskwarrior是一个开源.跨平台.基于命令行的 TODO 工具,它帮你在终端中管理你的 to-do 列表.这个工具让你可以轻松地添加任务.展示列

Zoom Profiler 2.1.2发布 图形界面和命令行分析工具

Zoom Profiler 是一个为Linux节省成本的图形界面和命令行分析工具.它主要特点是具有全系统的配置文件,精确的指令级,捕捉完整的C++/C++/ObjC/http://www.aliyun.com/zixun/aggregation/29818.html">Fortran/汇编代码回溯. Zoom Profiler 可以让你看到时间消耗的确切位置,代码运行(用户或内核),以及代码如何调用.它能够保存配置文件作为一个单一的自成体系的session文件,可以通过电子邮件发送或附加到

Zoom Profiler 2.1.1发布 图形界面和命令行分析工具

Zoom Profiler 是一个为Linux节省成本的图形界面和命令行分析工具.它主要特点是具有全系统的配置文件,精确的指令级,捕捉完整的C++/C++/ObjC/http://www.aliyun.com/zixun/aggregation/29818.html">Fortran/汇编代码回溯. Zoom Profiler 可以让你看到时间消耗的确切位置,代码运行(用户或内核),以及代码如何调用.它能够保存配置文件作为一个单一的自成体系的session文件,可以通过电子邮件发送或附加到

Zoom Profiler 2.1.0发布 图形界面和命令行分析工具

Zoom Profiler 是一个为Linux节省成本的图形界面和命令行分析工具.它主要特点是具有全系统的配置文件,精确的指令级,捕捉完整的C++/C++/ObjC/http://www.aliyun.com/zixun/aggregation/29818.html">Fortran/汇编代码回溯. Zoom Profiler 可以让你看到时间消耗的确切位置,代码运行(用户或内核),以及代码如何调用.它能够保存配置文件作为一个单一的自成体系的session文件,可以通过电子邮件发送或附加到

Zoom Profiler 2.0.5发布 图形界面和命令行分析工具

Zoom Profiler是一个为Linux低开销的图形界面和命令行分析工具.配置文件是全系统的,精确的指令级,捕捉完整的C++/C++/ObjC/http://www.aliyun.com/zixun/aggregation/29818.html">Fortran/汇编代码回溯.可以让你看时间的确切位置.代码运行(用户或内核).以及运行如何代码.深度探讨取到一个特定的符号,并放大显示源代码与汇编在一般和特定处理器的优化建议注明.保存的配置文件作为单一的自成体系的session文件,可以通

Expect-lite 4.2.0发布 命令行自动化工具

Expect-lite是一个简单快速的命令行自动化工具,其功能是直接映射一个交互式终端到自动化脚本. Expect-lite的脚本在每一行的开头使用特殊字符(S)来指示行动,基本的Expect-lite脚本可以简单地创建剪切和粘贴文本,从一个终端窗口到一个脚本,并加入 '>' '<' 字符.Expect-lite以验证测试环境为目标,在脚本末尾产生一个通过/失败结果,它在此环境中使用不受限制.它包含一个强大的断点.步进/跳过的调试器,能够进行复制/粘贴行到正在运行的脚本. Expect-lit