linux CLI

http://www.wiloon.com/wordpress/?p=4

作为 Linuxer,必须具备一定的 CLI 操作能力。有时候用 CLI 会比用 GUI 会更方便快捷。—-消息来自 lcan

以下列出我所知道的一些常用 CLI 软件,仅供参考。

  1. 中文终端。据我所知,目前主要有两个解决方案:zhcon 和 fbterm。 两个我都用过,zhcon 较长时间不更新了,问题比较多。不小心加错参数,甚至可能会导致死机。所以我推荐 fbterm,这个还是很不错的,要使用的话,必须开启 framebuffer。虽然某些方面也有些瑕疵,不过就目前而言,应该算是一个比较好用的中文终端了。有人可能会问:“中文输入怎么解决?”嘿嘿,这个 倒不用担心。比较简陋的有 fbterm_ucimf,另外还有基于 ibus 的 ibus-fbterm 可供选择。
  2. 多窗口管理神器:tmux。功能和 screen 差不多,不过我感觉 tmux 更加强大、友好!可以横着切、竖着切窗口。让你充分利用你的屏幕!实乃远程管理、多任务控之必备神器啊!具体介绍请猛击这里围观
  3. 文件管理器:vim 风格的可以选 ranger,另外还有 mc 之类的。
  4. 任务管理器:htop。这个可以理解为 top 的加强版。
  5. 音乐播放器:moc。这个用来播放 mp3,wma,flac 等常见音频文件还是不错的,但是不支持 ape 和 cue。如果这类文件比较多的,那就只能另寻他方了。cmus 也不支持 ape。
  6. 视频播放器:mplayer。说这个之前,我想咆哮几句:是谁说 Linux 终端下只能用字符方式看视频啊!!!!是谁说在终端下看视频纯属找虐 啊!!!!!乃们这是误人子弟啊!!!!有木有听说过 framebuffer!!!!有木有!!!!有木有听说过 fbdev 输出!!!!!有木 有!!!!!! 我以前被人误导,也一直认为在 tty 终端下只能以字符方式看视频,但是直到有一天,我无意中了解到了有 framebuffer 这个东东!!!!无意中看到 mplayer 的视频输出里有 fbdev!!!!于是在开启了 framebuffer 的 tty 下。 mplayer -vo fbdev2 “我要看的视频” 我看到了神马?!我看到了一个清晰的带颜色输出的视频,竟然和在图形界面下播放时的质量差不了多少!!!!有木有看到!!!有木有!!!!
  7. PDF/图片查看器:fbida。fbida 里面包含了fbi,fbgs,ida,exiftran 四个应用。其中 fbi 可以用来查看图片(FBI啊,名字就很牛X),fbgs 可以用来查看 PDF。前提嘛,估计各位看软件名就知道了,必 须开启 framebuffer。
  8. 截图工具:fbgrab。不废话,看官方说明:fbgrab – takes screenshots using the framebuffer。在桌面环境下可以用scrot这个命令行软件截屏。
  9. 文本编辑器:vimemacs。这两个神器就不用介绍了吧?
  10. IM 软件:finch。这个可以看成是 pidgin 的 CLI 版。
  11. IRC 聊天:irssi。一个很强大的 IRC 客户端。
  12. 邮件客户端:mutt。有关介绍请移步 wiki。这个我基本不用。
  13. 浏览器:w3mlynx。w3m 查看图片,需安装 w3m-img。
  14. 下载器:wgetaxelaria2c。其中 aria2c 支持 HTTP(S),FTP,BitTorrent,Metalink 协议。
  15. RSS 阅读器:snownews
  16. Shell: zshbash
  17. 屏幕录像:recordmydesktop。此软件可用于录制 GNOME、KDE 等桌面。
### Linux 命令行界面设计原则与实现 Linux 的命令行界面(CLI)是一种高效的人机交互工具,其设计理念围绕着模块化、可组合性和简洁性展开。以下是关于 Linux CLI 设计的一些核心原则及其背后的实现方式: #### 1. **模块化设计** - Linux CLI 工具通常遵循单一职责原则,即每个工具专注于完成一项特定的任务。这种模块化的结构使得用户可以轻松地将多个小型工具组合起来解决复杂问题[^1]。 - 例如,`grep` 负责模式匹配,而 `awk` 和 `sed` 则用于文本处理。 #### 2. **管道机制** - 管道 (`|`) 是 Linux CLI 中的核心特性之一,它允许将一个程序的标准输出作为另一个程序的标准输入。这一功能极大地增强了不同工具之间的协作能力。 - 示例代码如下: ```bash ps aux | grep httpd | awk '{print $2}' ``` #### 3. **标准 I/O 流** - Linux CLI 使用标准化的输入/输出流(stdin, stdout, stderr),这些流可以通过重定向操作符进行灵活控制。这种方式简化了数据传递和错误报告的过程。 - 示例代码展示如何将日志文件的内容写入到新文件并捕获错误消息: ```bash ./script.sh > output.log 2> error.log ``` #### 4. **脚本支持** - Shell 脚本提供了一种自动化执行一系列命令的方法。通过编写脚本,用户能够定义复杂的逻辑流程来满足具体需求。 - 下面是一个简单的 Bash 脚本例子,用来监控磁盘空间: ```bash #!/bin/bash threshold=90 usage=$(df / | tail -n 1 | awk '{print $5}' | sed 's/%//g') if [ "$usage" -ge "$threshold" ]; then echo "Warning: Disk space is above ${threshold}%" fi ``` #### 5. **跨平台兼容性** - 许多现代云服务供应商都提供了针对 Linux CLI 的接口,方便开发者利用熟悉的环境管理远程资源。此外,像 Docker 或 Kubernetes 这样的容器编排技术也依赖于强大的 CLI 功能集来进行日常运维活动。 尽管上述提到的原则主要适用于传统意义上的 Unix/Linux 风格的操作系统,但在微服务体系架构下也有类似的抽象概念被提出——比如 IDEALS 方法论中的 “Interface Segregation”,强调接口分离的重要性以促进系统的灵活性和服务间的解耦合程度提升[^2]。 对于模拟外部依赖项或者测试场景构建而言,则可能需要用到专门的服务虚拟化解决方案,如 MockLab 提供的相关功能可以帮助开发人员更精确地重现真实世界条件下的异常状况以及延迟现象[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值