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

dfc

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

$ df -h

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

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

dog

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

$ dog --images [URL]

或者是所有链接:

dog --links [URL]

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

advcp

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

$ acp -g [file] [copy]

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

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

alias cp="acp -g"

alias mv="amv -g"

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

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

#!/usr/bin/env bash

set -e

tmpdir=$(mktemp -t -d advcp.XXXXXX)

cd ${tmpdir}

wget https://aur.archlinux.org/packages/ad/advcp/advcp.tar.gz

tar xf advcp.tar.gz

source advcp/PKGBUILD

wget http://ftp.gnu.org/gnu/coreutils/coreutils-"${_pkgver}".tar.xz

tar xf coreutils-"${_pkgver}".tar.xz

cd coreutils-"${_pkgver}"

echo "[1mPatching...[0m"

patch -p1 -i ../advcp/advcpmv-"${_pkgver}"_"${pkgver}".patch || exit 1

echo "[1mStart making...[0m"

./configure || exit 1

make || exit 1

sudo install -Dm 755 "${PWD}"/src/cp /usr/local/bin/acp

sudo install -Dm 755 "${PWD}"/src/mv /usr/local/bin/amv

echo "[1mInstallation succeeded![0m"

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。 安装成功之后, 你可以使用如下命令来下载文件:

$ plowdown [URL]

或者是上传文件:

$ plowup [website name] [file]

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

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

$ plowlist [URL]

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

$ 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 工具里面最实用的一个增强工具。

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

本文由 LCTT 原创翻译,Linux中国 荣誉推出

acp cp linux命令,系统运维相关推荐

  1. linux查看网络连接命令,系统运维|使用netstat检测及监测网络连接

    大家好,我是邪恶君子!今天,邪恶就给大家分享一下,使用小小的一个netstat命令,就能让你检测出系统是否处于安全状态!!! 这篇文档,复杂°:简单:难易°:易.坚决让小白都看得懂,学得会,掌握牢,上 ...

  2. 逼格高又实用的 Linux 命令,运维同仁一定要懂

    前言 在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭,像一些高级点的命令,比如说 Xargs 命令. ...

  3. 运维工程师必会的linux命令下载,运维工程师必会的109个Linux命令.pdf

    Linux公社 运维工程师必会的109 个Linux 命令 版本 1.0 崔存新 目录 1 文件管理 5 1.1 basename 5 1.2 cat 5 1.3 cd 6 1.4 chgrp 6 1 ...

  4. 运维Linux redis,系统运维|如何在 CentOS 7 上安装 Redis 服务器

    大家好,本文的主题是 Redis,我们将要在 CentOS 7 上安装它.编译源代码,安装二进制文件,创建.安装文件.在安装了它的组件之后,我们还会配置 redis ,就像配置操作系统参数一样,目标就 ...

  5. 计划任务linux时间,系统运维|在 Linux 中怎么使用 cron 计划任务

    没有时间运行命令?使用 cron 的计划任务意味着你不用熬夜程序也可以运行. 系统管理员(在许多好处中)的挑战之一是在你该睡觉的时候去运行一些任务.例如,一些任务(包括定期循环运行的任务)需要在没有人 ...

  6. 很实用的Linux 系统运维常用命令及常识(超实用)

    很实用的Linux 系统运维常用命令及常识(超实用) 作为Linux运维,需要了解Linux操作系统的基本使用和管理知识,下面脚本之家小编给大家介绍下Linux运维需要掌握的命令,想成为Linux运维 ...

  7. Linux系统运维常用命令

    Linux 系统运维常用命令 1 文件管理2 软件管理3 系统管理 4 服务管理5 网络管理6 磁盘管理 7 用户管理8 脚本相关9 服务配置 ============================ ...

  8. 作为一个linux系统运维师必须掌握的定期任务执行命令cront

    定期执行任务的相关命令 作为一个linux系统运维师,在我们工作的时候需要定期去执行一些脚本或是命令,比如早上几点我们要开启什么服务,我们不可能守在计算机旁等到那个时候去手动执行那些需要脚本或是命令, ...

  9. linux怎么用命令打开wine,Linux系统运维:10分钟教你如何使用Wine在Linux下玩魔兽世界...

    本文主要向大家介绍了Linux系统运维的如何使用Wine在Linux下玩魔兽世界,通过具体的步骤向大家展现,希望对大家学习Linux系统运维有所帮助. 目标:在 Linux 中运行魔兽世界 发行版:适 ...

  10. route命令linux详解,Linux系统运维关于route命令的详解

    Linux系统运维涉及到各方面的知识,比如工作中需要测试网络环境,本文介绍Linux系统运维关于Linux测试工具route的使用方法,希望能给大家的工作带来一定更多帮助. 在配置网络时,要为机器指定 ...

最新文章

  1. 身为 Java 程序员必须掌握的 10 款开源工具!
  2. 数据文件实验#OCP#
  3. JAVA.Properties了解一下
  4. Linux、Windows、Mac下Docker的安装与使用
  5. finalizer_Java Finalizer和Java文件输入/输出流
  6. python __slots__ [转]
  7. matlab hrv,利用ECG信号进行HRV分析
  8. 一个有很多QT免费应用例程的网站
  9. Intellij IDEA 修改默认配置
  10. 移远EC20中SD卡无法开机后自动识别是否拔插
  11. SQL 获取当前日期上一个月的日期
  12. Diff 算法的执行过程数据响应式模拟routerSnabbdom
  13. 1000年出现了哪些闰年C语言,C语言判断“1000年―2000年”之间的闰年
  14. shell脚本检查域名证书是否过期
  15. 计算机维修要学英文吗,学计算机编程需要英文吗?
  16. 聚类与分类方法的主要区别是什么?
  17. 【Linux操作系统基础】第六章 Linux中的进程管理
  18. 新手C语言开发详细教程
  19. 华为项目管理10大模板Excel版(可直接套用_非常实用)
  20. 大话手游苹果系统多少个服务器,《大话西游》手游iOS系统官服开服公告!

热门文章

  1. 2022年高压电工考试题模拟考试平台操作
  2. 【C++】字体文件解析(FreeType)
  3. 横向对比22款思维导图工具,最好用的我觉得是这款!
  4. Linux挂载Linux网络共享文件夹
  5. Remoting基本原理及其扩展机制(上)
  6. MATLAB学习笔记(1):MATLAB简介
  7. 如何用Python实现电影售票系统
  8. Ladon for Kali 2019
  9. 魅族 android版本升级,魅族系统更新APP
  10. 达梦数据库ODBC连接异常问题