假设你想下载一个压缩文件,将其解压缩,并从命令行中将文件从一个位置移动到另一个位置。根据上面的场景,我们可能需要至少三个 Linux 命令,一个用于下载文件,一个用于提取下载的文件,一个用于移动文件。如果你是中高级 Linux 用户,你可以通过一行命令或脚本在几秒钟/分钟内轻松完成这一任务。但是,如果你是一个不懂得太多 Linux 命令的菜鸟你可能就需要一些帮助了。

当然,谷歌的快速搜索可能会找到很多结果。或者,你可以使用手册页。但是有些手册页实在很长,很全面,但缺少有用的示例。当你在特定的标志/选项上寻找特定的信息时,你可能需要向下检索相当长的时间。值得庆幸的是,有一些好的手册页替代品,它们主要关注于实用的命令。一个很好的选择是 TLDR 手册。使用 TLDR 手册,我们可以通过实际示例快速轻松地学习一个 Linux 命令。要使用 TLDR 手册,我们需要 TLDR 客户端。有很多客户。今天我们就来了解一个这样的客户端,名为 “Tldr++”。

Tldr++ 是一个快速和交互式的 Tldr 客户端,用 Go 编程语言编写。与其他 Tldr 客户端不同,它是完全交互式的。这意味着,你可以选择一个命令,读取所有示例,并立即运行任何命令,而不必在终端中重新键入或复制/粘贴每个命令。还是不明白?没有问题。请继续阅读,以便动态学习和实践 Linux 命令。

安装 Tldr++

安装 Tldr++ 非常简单。从发布页面下载 Tldr++ 最新版本。解压它并将 Tldr++ 二进制文件移动到你的 $PATH 中。

$wgethttps://github.com/isacikgoz/tldr/releases/download/v0.5.0/tldr_0.5.0_linux_amd64.tar.gz

$tarxzftldr_0.5.0_linux_amd64.tar.gz

$sudomvtldr/usr/local/bin

$sudochmod+x/usr/local/bin/tldr

现在,运行 tldr 二进制代码将 TLDR 手册部署到本地系统中。

$tldr

示例输出:

Enumeratingobjects:6,done.

Countingobjects:100%(6/6),done.

Compressingobjects:100%(6/6),done.

Total18157(delta0),reused3(delta0),pack-reused18151

Successfullyclonedinto:/home/sk/.local/share/tldr

Tldr++ 可以在 AUR 中使用。如果你使用 Arch Linux 上,你可以使用任何 AUR 助手来安装它,例如YaY。确保你已经从系统中删除了任何现有的 TLDR 客户端,并运行以下命令安装 Tldr++。

$yay-Stldr++

或者,你也可以像下面描述的那样从源代码进行编译。因为 Tldr++ 是用 Go 语言编写的,所以请确保你 Linux 系统中已经安装了 Go 语言。如果还没有安装,请参考下面的指南。

如何在 Linux 系统中安装 Go 语言

在安装好 Go 语言之后, 运行以下的命令来安装 Tldr++。

$goget-ugithub.com/isacikgoz/tldr

该命令在当前工作目录中下载 tldr 代码库中的内容并存储到 go 文件夹中。

现在,运行 tldr 二进制代码将 TLDR 手册部署到本地系统中。

$go/bin/tldr

示例输出:

最后,将 tldr 二进制文件复制到你的路径中。

$sudomvtldr/usr/local/bin

现在是时候看一些例子了。

Tldr++ 用法

输入不带任何选项的 tldr 命令,以字母顺序显示所有命令示例。

使用 向上/向下箭头 来浏览命令,键入任何字母来搜索或键入命令名称来查看相应命令的示例。 ? 以浏览更多消息,按 Ctrl+c 返回/退出。

要显示特定命令的示例命令,例如 apt,可以这样做:

$tldrapt

从列表中选择任意示例命令并按回车键。在选定的命令前会看到一个 * 符号。例如,我选择第一个命令即 sudo apt update。现在,它会问你是否继续。如果命令正确,只需键入 y 继续,并输入 sudo 密码运行所选命令。

看到了吗?你不需要在终端中复制/粘贴或键入实际的命令。只需从列表中选择它,并极速运行!

Tldr 手册中有数百个 Linux 命令示例。你可以每天选择一个或两个命令,并彻底学习它们。每天坚持这样的练习,尽可能多的掌握。

使用 Tldr++ 动态学习和实践 Linux 命令

现在回到我在第一段中提到的场景。你需要下载一个文件,将其解压缩并将其移动到不同的位置,并使其可执行。让我们看看如何使用 Tldr++ 客户端进行交互。

(1) 第一步 – 从网上下载文件

要使用命令行下载文件,我们主要使用 curl 或 wget 命令。让我使用 wget 下载文件。要打开 wget 命令的 TLDR 页面,只需执行以下命令:

$tldrwget

下面是 wget 命令的示例。

你可以使用 向上/向下箭头 来浏览命令列表。一旦你选择了你所选择的命令,按回车键。这里我选择了第一个命令。

现在,输入路径来下载文件。

然后将要求你确认该命令是否正确。如果命令正确,只需键入 yes 或 y 就可以开始下载文件。

我们已经下载了文件。让我们继续解压这个文件。

(2) 第二步 – 解压已下载的文件

我们下载了 tar.gz 文件。所以我将打开 TLDR 手册的 tar 页面。

$tldrtar

你将看到示例命令列表。浏览这些示例,找出哪个命令适合提取 tar.gz(gzip 格式)文件,按回车键。在我们的例子中,它是第三个命令。

现在,系统将提示你输入 tar.gz 文件的路径。只需输入路径并按回车键。Tldr++ 支持智能文件提示。这意味着它会在你键入时自动补全文件名。只需按 TAB 键自动完成。

如果将文件下载到其他位置,只需键入完整路径,例如 /home/sk/Downloads/tldr_0.5.0_linux_amd64.tar.gz。

输入要解压的文件的路径后,按回车键,然后输入 y 进行确认。

(3) 第三步 – 将文件从一个目录移动到另一个目录

我们解压了文件。现在我们需要将文件移动到另一个位置。为了将文件从一个位置移动到另一个位置,我们使用 mv 命令。所以,让我们打开 TLDR 手册的 mv 命令。

$tldrmv

选择正确的命令将文件从一个位置移动到另一个位置。在我们的例子中,第一个命令可以工作,所以让我们选中它。

输入要移动的文件路径,并输入目标路径并按回车键。

附注: 输入 y! 或 yes! 来以 sudo 权限运行命令。

正如你在上面的截图中看到的,我将名为 ``tldr的文件移动到/usr/local/bin/`。

要了解更多细节,请参考项目最后给出的 GitHub 页面。

总结

别误会,毫无疑问 手册页 是伟大的!但是,正如我已经说过的,许多手册页都很全面,缺少有用的示例。我不可能记住带有复杂标志的冗长的所有命令。有时,我花了很多时间在手册页上,却还是一窍不通。Tldr 手册帮助我在几分钟内找到了我需要的东西。而且,我们偶尔会使用一些命令,然后就会完全忘记它们。另一方面,Tldr 手册实际上在使用那些使用率很低的命令时很有帮助。Tldr++ 客户端通过智能的用户交互使这个任务变得更容易。

在linux中tldr的用法,详解 “Tldr++” 客户端:使用 TLDR 手册 快速了解 Linux 命令...相关推荐

  1. linux 中特殊符号用法详解

    # 井号 (comments) #管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh 井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被 ...

  2. linux中grep的用法详解,grep的基本用法详解

    grep是linux上常用的一个文本处理工具之一.它有着强大的文本处理能力,学会它,可以让工作更有效率. 一.初识grep grep: Global search Regular Experssion ...

  3. Linux下的awk用法详解

    Linux下的awk用法详解 一.awk介绍 二.awk的语法 三.awk常见用法 四.awk其他用法 五.awk语言特性 一.awk介绍 1.AWK 是一种处理文本文件的语言,是一个强大的文本分析工 ...

  4. Linux中的ps指令详解

    [时间]2018.12.16 [题目]Linux中的ps指令详解 转载地址:https://www.cnblogs.com/exe19/p/5511733.html 概述 要对进程进行监测和控制,首先 ...

  5. viewstate 解码 php,.NET_asp.net中ViewState的用法详解,在web窗体控件设置为runat = serv - phpStudy...

    asp.net中ViewState的用法详解 在web窗体控件设置为runat = "server",这个控件会被附加一个隐藏的属性_ViewState,_ViewState存放了 ...

  6. C++中substr()函数用法详解

    C++中substr()函数用法详解 原型: string substr (size_t pos = 0, size_t len = npos) const; 返回一个新构造的string对象,其值初 ...

  7. c++中vector的用法详解

    c++中vector的用法详解 vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间 ...

  8. C#中NameValueCollection类用法详解

    C#中NameValueCollection类用法详解,1.NameValueCollection类集合是基于 NameObjectCollectionBase 类. 但与 NameObjectCol ...

  9. c++ memset 语言_C++中memset函数用法详解

    本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常 ...

  10. python中的super用法详解_【Python】【类】super用法详解

    一.问题的发现与提出 在Python类的方法(method)中,要调用父类的某个方法,在Python 2.2以前,通常的写法如代码段1: 代码段1: class A: def __init__(sel ...

最新文章

  1. 4.0 C++远征:重载运算符
  2. 云服务器木马文件该如何应对,云服务器被入侵如何处理
  3. [bzoj2301][HAOI2011]Problem b
  4. python 第一行输入n表示一天中有多少人买水果_Python编程:从入门到实践——【作业】——第五章作业...
  5. wxWidgets:wxCloseEvent类用法
  6. 一文读懂层次聚类(Python代码)
  7. .Net5 WPF快速入门系列教程
  8. SQL server 2008下载+安装详细
  9. 组复制官方翻译六、Upgrading Group Replication
  10. Docker学习总结(53)—— Docker 十个非常实用但又容易忽视的使用技巧
  11. Servlet的API(一)
  12. Android蓝牙开发的一点总结
  13. fortran语言和python_fortran是什么语言吗?
  14. Unity 快速实现镜子效果
  15. Android jetpack DataBinding 与RecyclerView
  16. 程序员的遮羞布:这个需求技术上无法实现
  17. 拨号上网、ISDN、ADSL、光纤上网比较
  18. 几何画板 linux,用几何画板怎么作函数图像
  19. 0成本涨粉过万详细复盘,新手也可100%实操上手!
  20. 微博、信息披露与分析师盈余预测

热门文章

  1. 基于django的web模板系统
  2. php如何调用api接口简单,在PHP中调用API接口|Post数据的方法
  3. 无线AP找不到控制器
  4. 华为手机安装charles证书(以nova 9 Pro为例)
  5. JSON.parse() 的坑!
  6. Latex子公式编号及公式微调汇总
  7. 第八章 管理支付和订单
  8. matlab newff函数弃用了,[转载]MATLAB神经网络函数NEWFF()新旧用法差异
  9. 5种很牛的两位数乘法速算方法
  10. mysql字符集和表字符集_Mysql数据库表引擎与字符集