大号桌面上的 inux 正在取得很大进展。 然而,Linux 和类 Unix 操作系统的真正美妙之处在于命令提示符的表面之下。 nixCraft 挑选了他 2012 年最好的开源终端应用程序。
以下大多数工具由所有主要的 Linux 发行版打包,可以安装在 *BSD 或 Apple OS X 上。
#1: siege – HTTP/HTTPS 压力负载测试器
Siege 是一个多线程的 http 或 https 负载测试和基准测试实用程序。 这个工具让我可以测量 Web 应用程序在胁迫下的性能。 我经常使用此工具测试 Web 服务器和应用程序。 我用这个工具取得了很好的效果。 它可以强调单个 url,例如 example.com/foo.php 或多个 url。 在每次测试结束时,您将获得有关 Web 服务器性能、传输的总数据量、延迟、服务器响应时间、并发性等的所有数据。
#2: abcde – 更好的 CD 编码器
通常,从 CD 中获取数据并对其进行编码,然后对其进行标记或评论的过程非常复杂。 abcde 旨在自动执行此操作。 它将占用整张 CD 并将其转换为压缩音频格式 – Ogg/Vorbis、MPEG Audio Layer III、免费无损音频编解码器 (FLAC)、Ogg/Speex、MPP/MP+(Musepack) 和/或 M4A (AAC) 格式(s)。 它将通过 Internet 进行 CDDB 查询以查找您的 CD 或使用本地存储的 CDDB 条目。
# 3: ngrep – 网络 grep
Ngrep 是一个网络数据包分析器。 它遵循 GNU grep 的大部分通用特性,将它们应用到网络层。 Ngrep 与 tcpdump 无关。 它只是一个易于使用的工具。 您可以运行以下查询:
## grep all HTTP GET or POST requests from network traffic on eth0 interface ## sudo ngrep -l -q -d eth0 "^GET |^POST " tcp and port 80
我经常使用这个工具来找出与安全相关的问题并追踪其他与网络和服务器相关的问题。
#4:光伏
pv 命令允许您通过管道查看数据的进度。 它提供以下信息:
- 时间流逝
- 完成百分比(带有进度条)
- 当前吞吐率
- 传输的数据总量
- 和
了解如何在 Linux 下安装和使用 pv 命令。 或者 通过访问下载 pv 这一页。
#5: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 可以在存档中找到存档并提取它们。
- 下载 dtrx
#6:dstat – 多功能资源统计工具
作为系统管理员,我非常依赖 vmstat、iostat 等工具来解决服务器问题。 Dstat 克服了 vmstat 和朋友提供的一些限制。 它增加了一些额外的功能。 它允许我立即查看我的所有系统资源。 我可以将磁盘使用情况与来自硬盘控制器的中断进行比较,或者将网络带宽数直接与磁盘吞吐量等进行比较。
#7:ffmpeg – 录制、转换、流式传输和播放多媒体内容
最近,我开始
nixCraft 的 youtube 频道
. 我需要转换各种格式的视频和音频,例如 Youtube 高清网络流格式。 这个工具节省了我很多时间。 我经常使用这个工具进行音频/视频转换。 这是转换音频、AVI、MP4、Ipod、手机、PSP、Quicktime、Rockbox、Web (Flash)、WMV 等的最佳工具。
#8:mtr – Traceroute+ping 在单个网络诊断工具中
mtr 命令在单个网络诊断工具中结合了 traceroute 和 ping 程序的功能。 使用 mtr 监控网络中的传出带宽、延迟和抖动。 一个很棒的小应用程序来解决网络问题。 如果您发现丢包或响应时间突然增加,则通常表明链路损坏或只是过载。
#9:multitail – 类固醇上的尾部命令
MultiTail 是一个监控多个日志文件的程序,以原始 tail 程序的方式。 该程序可让您像原始尾部程序一样查看一个或多个文件。 不同之处在于它在您的控制台上创建了多个窗口(使用 ncurses)。 当我监控服务器上的日志时,我经常使用这个工具。
#10: curl – 传输数据并查看幕后情况
Curl 是一个命令行工具,用于使用支持的协议之一从服务器传输数据或向服务器传输数据。 该命令旨在无需用户交互即可工作。 curl 提供了大量有用的技巧,如代理支持、用户身份验证、FTP 上传等等。 我经常用
curl 命令:
- 解决 http/ftp/cdn 服务器问题。
- 检查或传递 HTTP/HTTPS 标头。
- 使用 ftp 协议或云帐户上传/下载文件。
- 调试 HTTP 响应并找出究竟是什么 Apache/Nginx/Lighttpd/IIS 服务器在不使用任何浏览器插件或 3rd 方应用程序的情况下发送给您。
- 下载 curl
#11:netcat – TCP/IP 瑞士军刀
Netcat 或 nc 是一个简单的 Linux 或 Unix 命令,它使用 TCP 或 UDP 协议跨网络连接读取和写入数据。 我经常使用这个工具来打开网络管道来测试网络连接、进行备份、绑定到套接字以处理传入/传出请求等等。 在这个例子中,我告诉 nc 监听一个端口 #3005 并在客户端连接并将数据发送回客户端时执行 /usr/bin/w 命令:
$ nc -l -p 3005 -e /usr/bin/w
从不同的系统尝试连接到端口# 3005:
$ telnet server1.cyberciti.biz.lan 3005
#12:nmap – 进攻性和防御性网络安全扫描器
Nmap 是网络映射器的缩写。 它是用于网络探索、安全扫描和审计的开源安全工具。 但是,nmap 命令带有许多选项,可以使该实用程序更加健壮且难以为新用户使用。
- 系统/网络管理员的前 30 个 Nmap 命令示例
- 下载纳米地图
#13:openssl 命令行工具
openssl 命令用于来自 shell 的 OpenSSL 加密库的各种加密功能。 我经常使用这个工具来加密文件、测试/验证 ssl 连接以及检查下载文件的完整性。 此外,openssl 可用于:
- 创建 RSA、DH 和 DSA 密钥参数
- 创建 X.509 证书、CSR 和 CRL
- 消息摘要的计算
- 处理 S/MIME 签名或加密邮件
以下几个示例演示了 openssl 命令的强大功能:
文件完整性验证(加密哈希函数)
验证名为 Financial-records-fy-2011-12.dbx.aes 的文件是否未被篡改:
openssl dgst -sha1 -c financial-records-fy-2011-12.dbx.aes openssl dgst -ripemd160 -c financial-records-fy-2011-12.dbx.aes openssl dgst -md5 -c financial-records-fy-2011-12.dbx.aes
最后一个命令的示例输出:
MD5(financial-records-fy-2011-12.dbx.aes)= d4:1d:8c:d9:8f:00:b2:04:e9:80:09:98:ec:f8:42:7e
使用密码(文件)进行加密和解密
## encrypt file ## openssl aes-256-cbc -salt -in financial-records-fy-2011-12.dbx -out financial-records-fy-2011-12.dbx.aes ## decrypt file ## openssl aes-256-cbc -d -in financial-records-fy-2011-12.dbx.aes -out financial-records-fy-2011-12.dbx
SSL/TLS 客户端和服务器测试
## connect to gmail mail server for testing purpose ## openssl s_client -connect smtp.gmail.com:995 openssl s_client -connect smtp.gmail.com:995 -CApath /etc/ssl
#14: lftp: 更好的命令行 ftp/http/sftp 客户端
这是最好的和最复杂的sftp/ftp/http 下载和上传客户端程序。 我经常使用这个工具来:
- 从 ftp 服务器递归镜像整个目录树
- 加快ftp/http下载速度
- 位置书签和恢复下载。
- 将文件备份到远程 ftp 服务器。
- 转移可以安排在以后执行。
- 可以限制带宽并且可以设置传输队列。
- Lftp 具有类似 shell 的命令语法,允许您在后台并行启动多个命令 (&)。
- 分段文件传输,允许同一文件的多个连接。
- 以及更多。
- 下载 lftp
#15:Irssi – IRC 客户端
Irssi 是一个模块化的 Internet 中继聊天客户端。 它具有高度可扩展性且非常安全。 作为具有许多功能的全屏、基于 termcap 的客户端,Irssi 可以通过脚本和模块轻松扩展。 我经常使用这个客户端从 IRC 房间获得某些问题的帮助,或者只是和老朋友一起出去玩。
#16:休息……
- Mutt – 电子邮件客户端,我经常使用 mutt 从我的 shell 脚本发送电子邮件附件。
- bittorrent – 命令行 torrent 客户端。
- screen – 全屏窗口管理器,必须为所有 *nix 管理员提供工具。
- rsync – 同步文件并节省带宽。
- sar – 旧的好系统活动收集器和报告器。
- lsof – 列出打开的文件。
- vim – 有史以来最好的文本编辑器。
- elinks 或 lynx – 当某些站点(例如 RHN、Novell 或 Sun/Oracle)在下载之前需要注册/登录时,我会使用此浏览器进行远程浏览。
- wget – 有史以来最好的下载工具。 我一直使用 wget,即使使用 Gnome 桌面也是如此。
- mplayer – 可以播放任何音频文件格式的最佳控制台 mp3 播放器。
- newsbeuter – 支持播客的文本模式 rss 提要阅读器。
- 并行 – 从标准输入并行构建和执行 shell 命令行。
- iftop – 按主机显示网络接口上的带宽使用情况。
- iotop – 找出硬盘上的压力和增加的负载。
结论
这是我个人的 FOSS 终端应用程序列表,它不是绝对确定的,所以如果您有自己的终端应用程序,请在下面的评论中分享。