热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linuxcurl传数组_5个Linux命令行工具的替代品!(赶紧收藏)

在日常使用LinuxUnix系统时,我们会使用许多命令行工具来完成我们的工作,并理解和管理我们的系统,像du用于监视磁盘利用率࿰
ad02bd9aa238037398c74e579acb4e6c.gif在日常使用 Linux/Unix 系统时,我们会使用许多命令行工具来完成我们的工作,并理解和管理我们的系统,像 du 用于监视磁盘利用率,top 用于显示系统资源。其中一些工具已经存在很长时间了。例如,top 于 1984 年首次发布,而 du 的首次发布要追溯到 1971 年。多年来,这些工具已经被现代化并移植到不同的系统,但是,通常,它们仍然延续着它们最初的思想和体验。这些都是很好的工具,对于许多系统管理员的工作流来说都是必不可少的。然而,最近几年,开源社区已经开发出了可以带来额外好处的替代工具。虽然有些华而不实,但另外一些则极大地提高了可用性,使它们成为现代化系统上的最佳选择。这包括以下五个标准 Linux 命令行工具的替代品。

1、作为 du 替代品的 ncdu

NCurses 磁盘利用率(ncdu)工具提供了与 du 类似的结果,但是在一个基于 curses 的交互式界面中,它重点关注那些占用磁盘空间比较多的目录。ncdu 会花一些时间分析磁盘,然后根据你最常用的目录或文件显示结果,如下所示:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------96.7 GiB [##########] /libvirt33.9 GiB [###       ] /.crc7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local2.5 GiB [          ] /.minishift2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache1.7 GiB [          ] /Videos1.1 GiB [          ] /go692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp139.2 MiB [          ] /.var104.4 MiB [          ] /.oh-my-zsh82.0 MiB [          ] /scripts55.8 MiB [          ] /.mozilla54.6 MiB [          ] /.kube41.8 MiB [          ] /.vim31.5 MiB [          ] /.ansible31.3 MiB [          ] /.gem26.5 MiB [          ] /.VIM_UNDO_FILES15.3 MiB [          ] /Personal2.6 MiB [          ]  .ansible_module_generated1.4 MiB [          ] /backgrounds944.0 KiB [          ] /Pictures644.0 KiB [          ]  .zsh_history536.0 KiB [          ] /.ansible_async
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540
使用方向键导航到每个条目。如果你在一个目录条目上按下 Enter 键,ncdu 将显示该目录的内容:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..91.3 GiB [##########] /images5.3 GiB [          ] /media
你可以使用它下目录并查找哪些文件占用的磁盘空间最多,使用左箭头键可以返回上一级目录。在默认情况下,可以按下 d 键使用 ncdu 删除文件,在删除之前,它会跟你确认删除请求。如果你想禁用此行为以防止发生意外,请使用 -r 选项进行只读访问:ncdu -r。ncdu 可用于许多平台和 Linux 发行版。例如,你可以使用 dnf 直接从官方存储库把它安装到 Fedora 上:

$ sudo dnf install ncdu要了解关于这个工具的更多信息,请查看 ncdu 页面。https://dev.yorhel.nl/ncdu

2、作为 top 替代品的 htop

htop 是一个类似于 top 的交互式流程查看器,但它提供了更好的开箱即用的用户体验。默认情况下,htop 会用令人愉快的彩色显示与 top 相同的指标。默认情况下,htop 是这样的:9f7ed04cdd8d70b748922125a65bf9a1.png相比之下,top 默认是这样的:60b0d3cdf684f879378a1f19a50ae707.png此外,htop 在顶部提供了系统概览信息,在底部提供了一个命令栏,可以使用功能键来触发命令,而且,你还可以按 F2 进入设置界面对它进行定制。你可以更改其颜色、添加或删除指标,或更改概览栏的显示选项。虽然对于最新版本的 top,你也可以通过配置实现类似的结果,但 htop 提供了更合理的默认配置,这使得它成为一个漂亮且易于使用的流程查看器。要了解关于这个项目的更多信息,请查看 htop 首页。https://hisham.hm/htop/

3、作为 man 替代品的 tldr

tldr 命令行工具显示简化的命令用法信息,主要包括示例。它是作为社区项目 tldr pages 的客户端。

这个工具不能代替 man。man 页面仍然是许多工具规范而完整的信息源。然而,在某些情况下,man 提供的信息太多了。有时候,你不需要一个命令的所有信息;你只是试着记住基本的选项。例如,curl 命令的 man 页面几乎有 3000 行。相反,curl 的 tldr 页面只有 40 行,如下所示:

$ tldr curl
# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: //curl.haxx.se>.
- Download the contents of an URL to a file:
  curl http://example.com -o filename
- Download a file, saving the output under the filename indicated by the URL:
  curl -O http://example.com/filename
- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:
  curl -O -L -C - http://example.com/filename
- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):
  curl -d 'name=bob' http://example.com/form                                                                                            
- Send a request with an extra header, using a custom HTTP method:
  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:
  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234
... TRUNCATED OUTPUT
TLDR 是网络俚语“too long; didn't read”的缩写,指对一篇很长的文章进行总结。这个名称很适合这个工具,因为 man 页面虽然有用,但有时太长了。在 Fedora 中,tldr 客户端是用 Python 编写的。你可以使用 dnf 安装它。要了解其他客户端选项,请参阅 tldr pages 项目页面。https://tldr.sh/一般来说,tldr 工具需要访问互联网以查阅 tldr pages。Fedora 中的 Python 客户端允许你下载并缓存这些页面以供脱机访问。要了解有关 tldr 的更多信息,可以使用 tldr tldr。

4、作为 sed/grep 替代品的 jq

jq 是一个命令行 JSON 处理器,类似于 sed 或 grep,但专门设计用于处理 JSON 数据。如果你是在日常任务中会用到 JSON 的开发人员或系统管理员,那么这是你工具箱中必不可少的工具。与 grep 和 sed 等通用文本处理工具相比,jq 的主要优点是它理解 JSON 的数据结构,允许使用单个表达式创建复杂的查询。

举例来说,假设你试图在这个 JSON 文件中查找容器的名称:

{"apiVersion": "v1","kind": "Pod","metadata": {"labels": {"app": "myapp"
    },"name": "myapp","namespace": "project1"
  },"spec": {"containers": [
      {"command": ["sleep","3000"
        ],"image": "busybox","imagePullPolicy": "IfNotPresent","name": "busybox"
      },
      {"name": "nginx","image": "nginx","resources": {},"imagePullPolicy": "IfNotPresent"
      }
    ],"restartPolicy": "Never"
  }
}

如果你直接使用 grep 查找 name,则写法如下:

$ grep name k8s-pod.json"name": "myapp","namespace": "project1""name": "busybox""name": "nginx",

grep 返回包含单词 name 的所有行。你可以向 grep 添加更多选项来限制它,借助一些正则表达式操作来找到容器的名称。如果是使用 jq 获得你想要的结果,则可以使用一个表达式来模拟向下导航数据结构,如下所示:

$ jq '.spec.containers[].name' k8s-pod.json"busybox""nginx"

这个命令提供这两个容器的名称。如果你只是在查找第二个容器的名称,则可以在表达式中添加数组元素索引:

$ jq '.spec.containers[1].name' k8s-pod.json"nginx"因为 jq 知道数据结构,所以即使文件格式稍有变化,它也能提供相同的结果。而只要格式稍有变化,grep 和 sed 就可能提供不同的结果。jq 有许多特性,要介绍所有这些特性的话,需要另写一篇文章。要了解更多信息,请参阅 jq 项目页、man 页面或 tldr jq。https://stedolan.github.io/jq/

5、作为 find 替代品的 fd

fd 是 find 命令的一个简单而快速的替代品。它的目的不是取代 find 提供的全部功能;相反,它提供了一些合理的默认值,在某些情况下非常有用。例如,在包含 Git 存储库的目录中搜索源代码文件时,fd 会自动排除隐藏的文件和目录,包括. .git 目录,并忽略.gitignore 文件中的模式。一般来说,它的搜索速度更快,而且第一次搜索时提供了更多相关的结果。

默认情况下,fd 在当前目录中执行不区分大小写的模式搜索,输出是彩色的。使用 find 进行相同的搜索需要你提供额外的命令行参数。例如,在当前目录中搜索所有的 markdown 文件(.md 或.MD ),find 命令如下:

$ find . -iname "*.md"

使用 fd 进行同样的搜索:

$ fd .md在某些情况下,fd 需要额外的选项;例如,如果你想包含隐藏文件和目录,则必须使用选项 -H,而这在 find 中是不需要的。

fd 可用于许多 Linux 发行版。执行以下命令,可以使用标准存储库在 Fedora 中安装:

$ sudo dnf install fd-find要了解更多信息,请查阅 fd GitHub 存储库。https://github.com/sharkdp/fd/

6、其他替代品

虽然我仍然经常使用所有旧的基本工具,特别是在远程连接到服务器时,但这些替代品额外提供了一些在许多场景中都非常有用的好处。特别是,它们对我在 Linux 台式机和笔记本电脑上的工作帮助很大。-----------  E N D  -----------信盈达高薪课程体验火热报名中!更多惊喜福利等你来拿!

????

a2d68d3c7539da68906a19674a549a9f.png往期精彩回顾【十月就业风云榜】信盈达“打工人”,月入过万只是起点!学员推掉10Koffer,薪资不是择业的唯一标准!信盈达南京校区学员心得分享C语言必备18个经典程序

4780000e803c13e7bb003a8c5aa79083.gif




推荐阅读
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 学习笔记(34):第三阶段4.2.6:SpringCloud Config配置中心的应用与原理第三阶段4.2.6SpringCloud Config配置中心的应用与原理
    立即学习:https:edu.csdn.netcourseplay29983432482?utm_sourceblogtoedu配置中心得核心逻辑springcloudconfi ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
author-avatar
菌挥发油
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有