Skip to content

好用但不常用的命令行工具

Posted on:February 5, 2022 at 01:11 AM

Table of Contents

Open Table of Contents

记录一些好用的命令行工具,一些是系统自带命令行或增强的替代品,另一些是让事情变得更加方便的小工具。

查找文件 - fd

通过文件名查找文件,速度快,使用简单,功能强大。

官网: https://github.com/sharkdp/fd

安装方法: cargo install fd-find

使用方法: fd <filename> <dir(optional)>

Untitled

文件内容输出 - bat

替代 cat ,带有文本高亮,git 集成,行号等。

官网: https://github.com/sharkdp/bat

安装方法: yay -S bat (Arch Linux) / brew install bat (MacOS)

使用方法: cat <filename>

Untitled

文件内容搜索 - rg

搜索文本、文件的内容。速度快,使用简单,功能强大。可以快速找到一个目录里什么文件包含特定文本。搜索结果里还会提供路径和结果所在的行数,非常好用。

官网: https://github.com/BurntSushi/ripgrep

安装方法: cargo install ripgrep

使用方法:

rg <filecontent pattern> <path(optional)> / ll /usr/bin | rg <filename pattern>

如果搜索文本之间有空格可以加一个引号,例如 rg 'file content'

如果要搜索 ignored 目录中的内容,例如 node_modules,可以通过 rg --hidden --no-ignore 'file content' <path> 形式进行搜索。

Untitled

快速启动 Web Server - ws

这是一个 npm 包,使用它可以快速启动一个 web server,将本地的静态资源文件 serve 起来,同时它支持启动以 https server 的形式启动,并且不需要配置证书,对于将网站静态资源重定向到本地开发、调试的场景非常方便。

不过强制启用的 https server 需要手动访问一下 https 资源对应的地址,以解除浏览器的访问安全限制,如果想避免每次都遇到安全警告,可以参考这篇 wiki 创建并信任本地的证书。

官网: https://github.com/lwsjs/local-web-server

安装方法: pnpm add -g local-web-server

使用方法: ws -p 8888 --https

Untitled

获取目录或文件的大小 - du

使用 lsll 命令是无法获取到某个目录下的总文件大小的,因此需要一个更好用的命令能让我们快速获取指定目录或文件的大小,对这种需求使用du 这个系统内置的命令就可以。(仅限 Linux 和 MacOS)

安装方法: Linux 和 MacOS 自带

官方手册: https://man7.org/linux/man-pages/man1/du.1.html

使用方法: du -hs <path> 其中 -h 表示 human readabel, -s 表示 summary。使用效果如下图:

Untitled

树形展示目录和文件结构 - as-tree

在讲解项目源码结构时比较有用,可以将目录里的文件以树的形式展现出来。配合本文提到的 fd 命令使用效果非常好。

官网: https://github.com/jez/as-tree

安装方法: cargo install -f --git https://github.com/jez/as-tree

使用方法: fd -d 3 -t d | as-tree 表示将深度为 3,类型为文件夹的所有文件和目录以树的形式展示出来,可以得到类似以下效果:

Untitled

统计代码行数 - cloc

统计指定目录下的代码行数并分类。

官网: https://github.com/AlDanial/cloc

安装方法: yay -S cloc (Arch Linux) / brew install cloc (MacOS)

使用方法: cloc <dir>

Untitled

硬盘使用量查询 - duf

直观地查看硬盘使用情况。

官网: https://github.com/muesli/duf

安装方法: yay -S duf (Arch Linux)/ brew install duf (MacOS)

使用方法: duf

效果:

Untitled

Arch Linux 包管理工具 - yay

Arch Linux 系统的包管理工具 Pacman 的增强版。

官网: https://github.com/Jguer/yay

安装方法: 见官网

使用方法:

Untitled

Linux GUI 软件管理工具 - snap

在常用的 Linux 系统中,一些常见的 GUI 软件可能没法直接安装,snap 就是一个 GUI 软件管理工具,可以通过它安装许多常见的软件,例如 XMind, Spotify 等。

官网: https://snapcraft.io/store

安装方法: yay -S snapd (仅限于 Arch Linux 装包)

使用方法:

Untitled

压缩解压 - tarfile

使用 python3 的 tarfile 模块,可以不用记住复杂的 tar 命令,非常简单进行压缩和解压。

使用方法:

另一个压缩解压 - ouch

无记忆成本、能力强大、体验好的压缩解压工具。

官网: https://github.com/ouch-org/ouch

安装方法:yay -S ouch (Arch Linux)/ brew install ouch (MacOS)

使用方法:

Untitled

.