# 一些Linux 命令的替代方案 ## **1.Bat: cat的替代产品** `cat` 命令可能是学习的第一个命令之一。它执行查看小文本文件内容的工作。 但是 `bat`命令通过添加语法高亮和 Git 集成等功能将其提升到一个新的水平,分页选项也可用。 ![1742349809845](image/clireplace/1742349809845.png) 安装方法见[官网](https://www.cyberciti.biz/open-source/bat-linux-command-a-cat-clone-with-written-in-rust/) ## **2.ncdu:du 命令的替代** Linux 中的 `du` 命令用于检查目录的大小。这不是非常简单的命令,而且肯定不会给出非常好的默认输出。 与此相比,`ncdu` 比乍一看提供相关信息要好得多。 CentOS下直接yum方式安装: ``` [root@Guacamole ~]# yum install ncdu 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile  * base: mirrors.aliyun.com  * epel: d2lzkl7pfhq30w.cloudfront.net  * extras: mirrors.aliyun.com  * nux-dextop: li.nux.ro  * updates: mirrors.aliyun.com 正在解决依赖关系 --> 正在检查事务 ---> 软件包 ncdu.x86_64.0.1.20-1.el7 将被 安装 --> 解决依赖关系完成 …… ``` ![1742349823443](image/clireplace/1742349823443.png) 这里还有其他功能,例如在图表中显示磁盘使用情况、对显示进行排序,甚至以交互方式删除目录。 它基于 ncurses,因此 `nc` 被添加到 `du` 中。一个类似的 CLI 工具是 gdu,它是用 Go 编写的 du 替代品,它的性能得到了提升。 ## **3.Htop:top 命令的替代** `top`命令在 Linux 终端中充当任务管理器的角色。它是一个用于查看运行进程和资源消耗的好工具,但理解和使用 `top`命令可能会比较复杂。 另一方面,`htop`拥有漂亮的彩色输出和比 `top`命令更直观的界面。你可以垂直和水平滚动,以图形方式配置显示的信息等。你可以直接从 `htop`的输出屏幕上交互式地终止进程。 CentOS下安装: ``` [root@Guacamole ~]# yum install htop ``` ![1742349846949](image/clireplace/1742349846949.png) ## **4.fd:查找命令的替代方案** `find` 命令是最强大和最常用的 Linux 命令之一。无法想象系统管理员如果不使用 `find` 命令也能生存。 但是 `find` 命令的结构很奇怪,如果你执行大量的 `find`操作,它可能会很慢。 更好、更快的替代方案是 `fd` 命令。`fd` 用 Rust 编写,比其传统竞争对手更简单、更快速。 要安装它,先安装 EPEL (Extra Packages for Enterprise Linux) 软件库,因为 `fd` 依赖于此库中的一些包: ``` [root@Guacamole ~]# yum install epel-release ``` 然后安装 Rust 编程语言,因为 `fd` 是用 Rust 编写的,同时为当前会话设置 Rust 的环境变量: ``` [root@Guacamole ~]# curl https://sh.rustup.rs -sSf | sh [root@Guacamole ~]# source $HOME/.cargo/env [root@Guacamole ~]#  ``` 最后安装 `fd`: ``` [root@Guacamole ~]# cargo install fd-find     Updating crates.io index   Downloaded fd-find v10.2.0   Downloaded 1 crate (127.8 KB) in 1.07s   Installing fd-find v10.2.0     Updating crates.io index      Locking 105 packages to latest compatible versions       Adding lscolors v0.19.0 (available: v0.20.0)   Downloaded anstyle v1.0.10   Downloaded anstream v0.6.18 …… ``` ## **5.exa:替代 ls 命令** exa CLI 工具在列出目录内容时添加了一些功能。它具有更好的默认值,并使用颜色来区分文件类型和元数据。EXA 还可以显示文件的扩展属性,以及标准文件系统信息,例如 inode、块数以及文件的各种日期和时间。 可以使用树视图查看目录结构。它还具有内置的 Git 支持,以查看哪些文件已更改、提交和暂存等。 ![1742349865716](image/clireplace/1742349865716.png) ## **6.Duf:df 命令的替代方案** Linux 中的 `df` 命令用于检查磁盘空间。虽然它大部分时间都有效,但更简单、更好的选择是 `duf`,一个用 Go 编写的工具。 它为您提供了所有已安装设备的概览,易于理解。还可以指定目录/文件名并检查该挂载点的可用空间。 使用 `duf`,可以对输出进行 **排序、列出 indoe 信息** ,甚至将输出保存为 JSON 格式。 从github上下载: ``` https://github.com/muesli/duf/releases ``` ![1742349875687](image/clireplace/1742349875687.png) 然后本地安装: ``` [root@Guacamole ~]# rpm -i duf_0.8.1_linux_amd64.rpm ``` 运行 `duf` : ![1742349887502](image/clireplace/1742349887502.png) ## **7.Tldr:man 命令的替代方案** 有人会说Linux中没有替代man手册页的东西。但man手册页有时可能过于详细和复杂,难以阅读和理解。 于是有了 `tldr`。TLDR是流行的互联网术语,意思是‘ **太长没读** ’。而这正是创建tldr的初衷。如果觉得man手册页太长,`tldr`通过提供命令的实际示例来简化它。 ``` [root@Guacamole ~]# tldr usage: tldr command [options] Python command line client for tldr positional arguments:   command               command to lookup optional arguments:   -h, --help            show this help message and exit   -v, --version         show program's version number and exit   -u, --update_cache    Update the local cache of pages and exit   -p PLATFORM, --platform PLATFORM                         Override the operating system [linux, osx, sunos,                         windows, common]   -l, --list            List all available commands for operating system   -s SOURCE, --source SOURCE                         Override the default page source   -c, --color           Override color stripping   -r, --render          Render local markdown files   -L LANGUAGE, --language LANGUAGE                         Override the default language [root@Guacamole ~]#  ``` ![1742349899374](image/clireplace/1742349899374.png) ## **8.Neovim:Vim 的替代品** 更好的 Vim 不是 Emacs,而是 Neovim。 几年前,Vim 作为对旧版 Vi 编辑器的改进而出现。后来,Neovim 提出了将 Vim 扩展为 IDE 的想法。 它通过内置的终端仿真器添加了现代终端功能,例如光标样式、焦点事件、括号粘贴等。最好的是您无需忘记 Vim 即可开始使用 Neovim。 ``` [root@Guacamole ~]# yum install neovim [root@Guacamole ~]# nvim --version NVIM v0.3.0 ```