我喜欢的 Linux 程序
Unix 编程的哲学是 Do One Thing And Do It Well。每个程序的目的都应该很简单明确,不同的程序通过组合就可以完成那些看起来很复杂的工作。以下是一个列表,他们都是我喜欢的 Linux 程序
tldr
查找命令用法时常用的做法是使用 man,但很多时候 man 给出的手册太长了,使用者很难找到自己想要的那部分信息。tldr 就用于解决这类问题,它以简洁的方式提供某个命令最常用的用法。比如想要查看 disown 的用法: `tldr disown` 即可
apt
apt 是 Ubuntu 系统下的包管理器(package manager),我喜欢的不是 apt 本身而是包管理器的概念:以一种中心化的方式获取和管理软件
vim
从行为层面看,编程是一种密集型的字符编辑活动。如果你使用常规的文本编辑器,那很大一部分时间要浪费在鼠标和键盘间的来回切换上。Vim 解决了这个问题,作为一种行列编辑器,你可以完全使用快捷键来进行定位,而不是鼠标,双手可以一直放在键盘上。它无处不在,浏览器有 vim 插件,甚至命令行都可以配置 vim 模式。
awk
awk 把输入的文本看成是有行列的表格,并对其进行逐行处理。灵活强大,支持正则表达式,可以声明变量,有条件语句和循环机制以至于你可以把它看成是一个小小的编程语言!
bc
全称是 Berkeley Calculator,可以用来做简单的数学计算
termdown
这是一个 Python 生态下的 Package, 可以用 `pip install termdown` 来安装, 很好用的 countdown 计时工具
neofetch
漂亮的系统信息显示工具
tree & pstree
tree 用于打印目录的树状结构; pstree 用于打印进程的树状结构,可以很方便看出进程之间的层级关系
cron
执行定时任务,比如隔几天做一次备份,每几个小时执行某个脚本...
ssh & scp
Secure Shell, 用于登录远程主机。使用 SSH Key 做身份验证的话非常方便,第一次设定完成后,再也不需要输入密码。scp 是基于 ssh 的工具,可以在本地和远程主机之间传送文件
htop
系统使用者应该对对当前使用机器的资源使用情况有基本了解。htop 实时显示 cpu 和内存的使用情况,支持点按排序,让你清晰的了解是哪些进程在消耗系统资源。
curl
灵活强大的网络请求工具,可以用来替换 Postman 还可以用来下载 Web 上的资源
shellcheck
ShellCheck, a static analysis tool for shell scripts. 如果你写 shell 脚本的话,shellcheck 会检查脚本的语法和可能的错误并给出提示
netstat
如果你需要查看机器上那些端口在运行,使用这些端口的程序是什么,那 netstat 是不错的选择
ripgrep
根据指定的正则表达式,递归的搜索当前目录下的文件