1. 前言
Linux在桌面上取得了很大的进步。 然而,Linux和Unix之类的操作系统的真正精髓在于命令行工具。 本博客站选择了2019年较好的开源终端应用程序。
以下介绍的大多数工具都已经集成在主要 Linux 发行版上,并且可以安装在BSD类或 Apple OS X 系统上。
2. siege-HTTP/HTTPS压力负载测试命令
Siege是一个多线程http或https负载测试和基准测试实用程序。 这个工具允许我在多线程下衡量网络应用程序的性能。 我经常使用此工具测试Web服务器和应用程序。 我用这个工具得到了非常好的结果。 它可以强调单个URL,例如www.linuxrumen.com/foo.php或多个URL。 在每次测试结束时,您将获得有关Web服务器性能,传输的总数据,延迟,服务器响应时间,并发性等的所有数据。
3. abcde 一个更好的CD编码器
通常,从CD中获取数据并对其进行编码,然后对其进行标记或评论的过程非常复杂。 abcde旨在实现自动化。 它需要整张CD并将其转换为压缩音频格式--Ogg / Vorbis,MP3,开源无损音频编解码器(FLAC),Ogg / Speex,MPP / MP +(Musepack)和/或M4A(AAC)格式。 它将通过Internet进行CDDB查询以查找CD或使用本地存储的CDDB条目。
4. ngrep – Network grep
Ngrep是一个网络数据包分析器。 它遵循GNU grep的大多数常用功能,将它们应用于网络层。 Ngrep与tcpdump无关。 它只是一个易于使用的工具。 您可以运行以下命令查询:
过滤来自eth0接口上的网络流量的所有HTTP GET或POST请求
- sudo ngrep -l -q -d eth0 "^GET |^POST " tcp and port 80
我经常使用此工具来查找与安全相关的问题并跟踪其他与网络和服务器相关的问题。
5. 使用pv命令监控pipe
pv命令允许您通过管道查看数据的进度。 它提供以下信息:
- 时间进度条
- 完成的百分比
- 当前吞吐速率
- 传输数据总量
- ETA
6. 使用dtrx命令解包和解压缩
dtrx是“Do The Right Extraction”的缩写。它是类Unix系统的工具,它可以解决所有解压档案的麻烦。 作为系统管理员,我下载源代码和tar包进行安装。 该工具可节省大量时间。
你只需要记住一个简单的命令来提取tar,zip,cpio,deb,rpm,gem,7z,cab,lzh,rar,gz,bz2,lzma,xz和各种exe文件,包括Microsoft Cabinet档案, InstallShield存档和自解压zip文件。 如果他们有任何额外的压缩,比如tar.bz2文件,dtrx也会为你处理。
dtrx将确保存档提取到自己的指定目录中。
dtrx确保您可以读取和写入刚刚提取的所有文件,同时保留其余权限。
递归提取:dtrx可以在存档中找到存档并提取它们。
7. dstat多功能资源统计工具
作为系统管理员,我在很大程度上依赖于vmstat和iostat等工具来解决服务器问题。 dstat克服了vmstat的一些限制。 它增加了一些额外的功能。 它允许我立即查看我的所有系统资源。 我可以将磁盘使用情况与硬盘控制器的中断进行比较,或者直接将网络带宽数与磁盘吞吐量进行比较等等。
8. ffmpeg录制,转换,流式传输和播放多媒体内容
FFmpeg是领先的多媒体框架,能够解码,编码,转码,复用,解复用,流式传输,过滤和播放人类和机器创建的任何内容。 无论最古老的格式还是最前沿的格式都支持。 无论这些格式是由某些标准委员会,社区还是公司设计的,同样支持。 它还具有高度可移植性:FFmpeg在各种构建环境,机器架构和配置下编译,运行并通过Linux,Mac OS X,Microsoft Windows,BSD,Solaris等测试基础架构FATE。
9. 综合的网络排错、诊断工具mtr
mtr命令在单个网络诊断工具中结合了traceroute和ping程序的功能。 使用mtr监控网络中的传出带宽,延迟和抖动。 一个很好的小应用程序来解决网络问题。 如果您看到数据包丢失突然增加或响应时间通常表示链路不良或流量过载。
10. 强大的传输协议工具curl
Curl是一种命令行工具,使用其中一种支持的协议从服务器传输数据或向服务器传输数据。 该命令旨在无需用户交互即可工作。 curl提供了大量有用的功能,如代理支持,用户身份验证,FTP上传等等。 我经常使用curl命令:
- 对http/ftp/cdn服务器的问题进行排错。
- 检查或者通过http/https头部
- 使用协议上传/下载文件
- 调试HTTP响应并精准找出Apache / Nginx / Lighttpd / IIS服务器发送给您的内容,而无需使用任何浏览器加载项或第三方应用程序。
11. TCP/IP瑞士军刀netcat
Netcat或nc是一个简单的Linux或Unix命令,它使用TCP或UDP协议跨网络连接读取和写入数据。 我经常使用此工具打开网络管道来测试网络连接,进行备份,绑定到套接字以处理传入/传出请求等等。
在这个例子中,我指定nc在客户端连接并将数据发送回客户端时,使用监听端口3005并执行/usr/bin/w命令:
- nc -l -p 3005 -e /usr/bin/w
使用指定端口进行TCP连接:
telnet wwww.linuxrumen.com 3005
12. Linux强大的网络扫描工具nmap
Nmap是Network Mapper的缩写。 它是一种用于网络探索,安全扫描和审计的开源安全工具。 但是,nmap命令附带了许多选项,可以使实用程序更加健壮,并且难以为新用户使用。