iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >在 Linux上如何安装moreutils
  • 264
分享到

在 Linux上如何安装moreutils

2023-06-16 11:06:45 264人浏览 独家记忆
摘要

这篇文章给大家分享的是有关在 linux上如何安装moreutils的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们都了解GNU 核心实用程序GNU Core Utilities,所有类 Unix 操作系统都预

这篇文章给大家分享的是有关在 linux上如何安装moreutils的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

我们都了解GNU 核心实用程序GNU Core Utilities,所有类 Unix 操作系统都预装了它们。它们是 GNU 操作系统中与文件、shell 和 文本处理相关的基础实用工具。GNU 核心实用程序包括很多日常操作命令,例如 catlsrmmkdirrmdirtouchtailwc 等。除了这些实用程序,还有更多有用的实用程序没有预装在类 Unix 操作系统中,它们汇集起来构成了 moreutilis 这个日益增长的集合moreutils 可以在 GNU/Linux 和包括 FreeBSD,openBSD 及 Mac OS 在内的多种 Unix 类型操作系统上安装。

截至到编写这份指南时, moreutils 提供如下实用程序:

  • chronic – 运行程序并忽略正常运行的输出

  • combine – 使用布尔操作合并文件的行

  • errno – 查询 errno 名称及描述

  • ifdata – 获取网络接口信息,无需解析 ifconfig 的结果

  • ifne – 在标准输入非空的情况下运行程序

  • isutf8 – 检查文件或标准输入是否采用 UTF-8 编码

  • lckdo – 带运行程序

  • mispipe – 使用管道连接两个命令,返回***个命令的退出状态

  • parallel – 同时运行多个任务

  • pee – 将标准输入传递给多个管道

  • sponge – 整合标准输入并写入文件

  • ts – 为标准输入增加时间戳信息

  • vidir – 使用你默认的文本编辑器操作目录文件

  • vipe – 在管道中插入信息编辑

  • zrun – 自动解压并将其作为参数传递给命令

在 Linux 上安装 moreutils

由于 moreutils 已经被打包到多种 Linux 发行版中,你可以使用发行版对应的软件包管理器安装 moreutils

Arch Linux 或衍生的 AntergosManjaro Linux 上,运行如下命令安装 moreutils:

$ sudo pacman -S moreutils

Fedora 上,运行:

$ sudo dnf install moreutils

RHELCentOSScientific Linux 上,运行:

$ sudo yum install epel-release$ sudo yum install moreutils

DebianUbuntuLinux Mint 上,运行:

$ sudo apt-get install moreutils

Moreutils – 打包更多有用的 Unix 实用程序

让我们看一下几个 moreutils 工具的用法细节。

combine 实用程序

正如 combine 名称所示,moreutils 中的这个实用程序可以使用包括 andnotorxor 在内的布尔操作,合并两个文件中的行。

  • and – 输出 file1file2 都包含的行。

  • not – 输出 file1 包含但 file2 不包含的行。

  • or – 输出 file1file2 包含的行。

  • xor – 输出仅被 file1file2 包含的行

下面举例说明,方便你理解该实用程序的功能。这里有两个文件,文件名分别为 file1file2,其内容如下:

$ cat file1iswaswerewherethere $ cat file2iswerethere

下面,我使用 and 布尔操作合并这两个文件。

$ combine file1 and file2iswerethere

从上例的输出中可以看出,and 布尔操作只输出那些 file1file2 都包含的行;更具体的来说,命令输出为两个文件共有的行,即 is,were 和 there。

下面我们换成 not 操作,观察一下输出。

$ combine file1 not file2waswhere

从上面的输出中可以看出,not 操作输出 file1 包含但 file2 不包含的行。

ifdata 实用程序

ifdata 实用程序可用于检查网络接口是否存在,也可用于获取网络接口的信息,例如 IP 地址等。与预装的 ifconfigip 命令不同,ifdata 的输出更容易解析,这种设计的初衷是便于在 Shell 脚本中使用。

如果希望查看某个接口的 IP 地址,不妨以 wlp9s0 为例,运行如下命令:

$ ifdata -p wlp9s0192.168.43.192 255.255.255.0 192.168.43.255 1500

如果只查看掩码信息,运行如下命令:

$ ifdata -pn wlp9s0255.255.255.0

如果查看网络接口的物理地址,运行如下命令:

$ ifdata -ph wlp9s0A0:15:46:90:12:3E

如果判断接口是否存在,可以使用 -pe 参数:

$ ifdata -pe wlp9s0yes
pee 命令

该命令某种程度上类似于 tee 命令。

我们先用一个例子看一下 tee 的用法。

$ echo "Welcome to OSTechNIx" | tee file1 file2Welcome to OSTechNIx

上述命令首先创建两个文件,名为 file1file2;接着,将 “Welcome to OSTechNix” 行分别附加到两个文件中;***,在终端中打印输出 “Welcome to OSTechNix”。

pee 命令提供类似的功能,但与 tee 又稍微有些差异。查看下面的例子:

$ echo "Welcome to OSTechNIx" | pee cat catWelcome to OSTechNIxWelcome to OSTechNIx

从上面的命令输出中可以看出,有两个 cat 命令实例获取 echo 命令的输出并执行,因而终端中出现两个同样的输出。

sponge 实用程序

这是 moreutils 软件包中的另一个有用的实用程序。sponge 读取标准输入并写入到指定的文件中。与 Shell 中的重定向不同,sponge 接收到完整输入后再写入输出文件。

查看下面这个文本文件的内容:

$ cat file1IYouMeWeUs

可见,文件包含了一些无序的行;更具体的说,这些行“没有”按照字母顺序排序。如果希望将其内容安装字母顺序排序,你会怎么做呢?

$ sort file1 > file1_sorted

这样做没错,对吧?当然没错!在上面的命令中,我将 file1 文件内容按照字母顺序排序,将排序后的内容保存在 file1_sorted 文件中。但如果使用 sponge 命令,你可以在不创建新文件(即 file1_sorted)的情况下完成同样的任务,命令如下:

$ sort file1 | sponge file1

那么,让我们检查一下文件内容是否已经按照字母顺序排序:

$ cat file1IMeUsWeYou

看到了吧?并不需要创建新文件。在脚本编程中,这非常有用。另一个好消息是,如果待写入的文件已经存在,sponge 会保持其权限信息permissions不变。

ts 实用程序

正如名称所示,ts 命令在每一行输出的行首增加时间戳timestamp

查看如下命令的输出:

$ ping -c 2 localhostPING localhost(localhost.localdomain (::1)) 56 data bytes64 bytes from localhost.localdomain (::1): icmp_seq=1 ttl=64 time=0.055 ms64 bytes from localhost.localdomain (::1): icmp_seq=2 ttl=64 time=0.079 ms --- localhost ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1018msrtt min/avg/max/mdev = 0.055/0.067/0.079/0.012 ms

下面,结合 ts 实用程序运行同样地命令:

$ ping -c 2 localhost | tsAug 21 13:32:28 PING localhost(localhost (::1)) 56 data bytesAug 21 13:32:28 64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.063 msAug 21 13:32:28 64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.113 msAug 21 13:32:28Aug 21 13:32:28 --- localhost ping statistics ---Aug 21 13:32:28 2 packets transmitted, 2 received, 0% packet loss, time 4msAug 21 13:32:28 rtt min/avg/max/mdev = 0.063/0.088/0.113/0.025 ms

对比输出可以看出,ts 在每一行行首增加了时间戳。下面给出另一个例子:

$ ls -l | tsAug 21 13:34:25 total 120Aug 21 13:34:25 drwxr-xr-x 2 sk users 12288 Aug 20 20:05 DesktopAug 21 13:34:25 drwxr-xr-x 2 sk users 4096 Aug 10 18:44 DocumentsAug 21 13:34:25 drwxr-xr-x 24 sk users 12288 Aug 21 13:06 Downloads[...]
vidir 实用程序

vidir 实用程序可以让你使用 vi 编辑器(或其它 $EDITOR 环境变量指定的编辑器)编辑指定目录的内容。如果没有指定目录,vidir 会默认编辑你当前的目录。

下面的命令编辑 Desktop 目录的内容:

$ vidir Desktop/

在 Linux上如何安装moreutils

vidir

上述命令使用 vi 编辑器打开了指定的目录,其中目录内的文件都会对应一个数字。下面你可以按照 vi 的操作方式来编辑目录中的这些文件:例如,删除行意味着删除目录中对应的文件,修改行中字符串意味着对文件进行重命名。

你也可以编辑子目录。下面的命令会编辑当前目录及所有子目录:

$ find | vidir -

请注意命令结尾的 -。如果 - 被指定为待编辑的目录,vidir 会从标准输入读取一系列文件名,列出它们让你进行编辑。

如果你只想编辑当前目录下的文件,可以使用如下命令:

$ find -type f | vidir -

只想编辑特定类型的文件,例如 .PNG 文件?你可以使用如下命令:

$ vidir *.png

这时命令只会编辑当前目录下以 .PNG 为后缀的文件。

vipe 实用程序

vipe 命令可以让你使用默认编辑器接收 Unix 管道输入,编辑之后使用管道输出供下一个程序使用。

执行下面的命令会打开 vi 编辑器(当然是我默认使用的编辑器),你可以编辑 echo 命令的管道输入(即 “Welcome to OSTechNix”),***将编辑过的内容输出到终端中。

$ echo "Welcome to OSTechNIx" | vipeHello World

从上面的输出可以看出,我通过管道将 “Welcome to OSTechNix” 输入到 vi 编辑器中,将内容编辑为 “Hello World”,***显示该内容。

好了,就介绍这么多吧。我只介绍了一小部分实用程序,而 moreutils 包含更多有用的实用程序。我在文章开始的时候已经列出目前 moreutils 软件包内包含的实用程序,你可以通过 man 帮助页面获取更多相关命令的细节信息。举个例子,如果你想了解 vidir 命令,请运行:

$ man vidir

感谢各位的阅读!关于“在 Linux上如何安装moreutils”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: 在 Linux上如何安装moreutils

本文链接: https://www.lsjlt.com/news/283252.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 在 Linux上如何安装moreutils
    这篇文章给大家分享的是有关在 Linux上如何安装moreutils的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们都了解GNU 核心实用程序GNU Core Utilities,所有类 Unix 操作系统都预...
    99+
    2023-06-16
  • 在Linux上如何安装 Fabric
    这篇文章主要介绍在Linux上如何安装 Fabric,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Fabric 是一个用 Python 编写的命令行工具库,它可以帮助系统管理员高效地执行某些任务,比如通过 SSH &...
    99+
    2023-06-16
  • 在Linux上如何安装PostgreSQL
    这篇文章主要介绍了在Linux上如何安装PostgreSQL,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PostgreSQL 的官方下载地址为:ftp://ftp.post...
    99+
    2023-06-13
  • 如何在Linux上安装GitHub
    GitHub是一款流行的代码托管平台,它提供了优秀的版本控制和协作功能,让团队开发项目更加高效。而Linux系统是广泛应用的操作系统之一,许多开发者也喜欢在Linux上工作。那么本文将介绍如何在Linux上安装GitHub,让你可以享受Gi...
    99+
    2023-10-22
  • 在Linux上如何安装s3cmd
    这篇文章主要为大家展示了“在Linux上如何安装s3cmd”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在Linux上如何安装s3cmd”这篇文章吧。在Linux上安装s3cmd在Ubuntu或...
    99+
    2023-06-16
  • 如何在Linux上安装Node.js8
    这篇文章主要讲解了“如何在Linux上安装Node.js8”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在Linux上安装Node.js8”吧! ...
    99+
    2023-05-25
    linux node.js
  • 如何在Linux上安装Java?
    在Linux上安装Java是一项非常常见的操作,因为Java是一种广泛使用的编程语言,它适用于各种应用程序和操作系统。在本文中,我们将介绍在Linux上安装Java的步骤。 首先,我们需要下载Java安装包。你可以到Java官方网站下载最新...
    99+
    2023-09-10
    javascript shell linux
  • 如何在linux上安装vnc
    本篇内容介绍了“如何在linux上安装vnc”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在linux上安装vnc的方法:1、利用“yum ...
    99+
    2023-06-29
  • 如何在Ubuntu Linux上安装MySQL
    如何在Ubuntu Linux上安装MySQL,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。MySQL 是一个典型的数据库管理系统。它被用于许多技术栈中,包括流行的 LAMP ...
    99+
    2023-06-16
  • mysql在linux上cmake如何安装
    这篇文章将为大家详细讲解有关mysql在linux上cmake如何安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、安装前准备: 1)必备的包和工具 gcc/g+...
    99+
    2024-04-02
  • 如何在 VirtualBox 上安装 Kali Linux
    Kali Linux 是最好的黑客 和安全爱好者的 Linux 发行版之一。由于它涉及像黑客这样的敏感话题,它就像一把双刃剑。我们过去在一篇详细的 Kali Linux 点评中对此进行了讨论,所以我不会再次赘述。虽然你可...
    99+
    2023-06-05
  • 在Intel NUC上如何安装Linux
    小编给大家分享一下在Intel NUC上如何安装Linux,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在 NUC 上安装 Linux现在我准备安装 Ubuntu...
    99+
    2023-06-16
  • 如何在Linux CentOS上安装PHP7
    如何在Linux CentOS上安装PHP7 在Linux CentOS操作系统中安装PHP7是一个常见的需求,本文将为您详细介绍如何在Linux CentOS上安装PHP7,并提供具...
    99+
    2024-03-07
    linux centos 安装php
  • 在linux上如何安装配置mysql8.018
    这篇文章主要为大家展示了“在linux上如何安装配置mysql8.018”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“在linux上如何安装配置mysql8.0...
    99+
    2024-04-02
  • 在 Linux 上如何安装 MariaDB 或 MySQL
    小编给大家分享一下在 Linux 上如何安装 MariaDB 或 MySQL,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MariaDB 和 ...
    99+
    2023-06-15
  • 如何在Linux上安装Arduino IDE 1.8.12
    如何在Linux上安装Arduino IDE 1.8.12,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Arduino是一个广泛研究使用的开源电子产品原型平台,用于创建可以使用...
    99+
    2023-06-28
  • 如何在Oracle Linux 7.1上安装Docker
    本篇文章给大家分享的是有关如何在Oracle Linux 7.1上安装Docker,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在Oracle Linux 7.1上安装Dock...
    99+
    2023-06-05
  • 如何在Linux上安装Adobe Flash Player
    如何在Linux上安装Adobe Flash Player,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。访问flash官网,点击下载,选择你的操作系统和flash版本下载后,解...
    99+
    2023-06-05
  • 如何在Linux 系统上安装Java
    如何在Linux 系统上安装Java,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。导读在桌面上拥抱 Java 应用程序,然后在所有桌面上运行它们。无论你运行的是哪种操作系统,通...
    99+
    2023-06-05
  • 如何在Linux上安装PHP和Apache?
    Linux 是一个流行的操作系统,它被广泛用于 Web 服务器和开发环境中。在 Linux 上安装 PHP 和 Apache 是非常常见的任务,因为这两个工具是构建 Web 应用程序的基础。在本文中,我们将讨论如何在 Linux 上安装 P...
    99+
    2023-06-30
    apache 文件 linux
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作