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 命令附带了许多选项, 可以使实用程序更加健壮, 并且难以为新用户使用.
来源: http://os.51cto.com/art/201908/602002.htm