简介
好的工具可以让人事半功倍,下面介绍的这几款工具能让你的开发效率显著提高
fd
https://github.com/cha0ran/fd-zh
特点
-
直观的语法:用 fd PATTERN 代替 find -iname ‘PATTERN’
-
使用正则表达式(默认)和 GLOB 模式
-
由于并行遍历目录,速度非常快
-
使用颜色来突出不同的文件类型(像 ls 一样)
-
支持并发执行命令
-
智能大小写:默认情况下,搜索是不区分大小写的。如果模式包含一个大写字母,它将切换到大小写敏感
-
默认忽略隐藏目录和文件
-
默认忽略你 .gitignore 文件中的模式
-
该命令比 find 短了 50% * 😃
安装
- 安装依赖和 EPEL 源(通用准备步骤)
sudo yum update -y
sudo yum install epel-release -y
sudo yum install git wget curl gcc make -y
- 安装 fd(替代 find 的快速工具)
CentOS 7 源中没有 fd,可以通过 cargo 安装:
# 安装 Rust(含 cargo)
curl https://sh.rustup.rs -sSf | sh
#执行安装命令后会让你选择安装方式,输入1然后按enter键即可
source $HOME/.cargo/env
# 安装 fd
cargo install fd-find
# 验证
fd
具体使用
请参考官方文档
官方网址
https://github.com/cha0ran/fd-zh
tldr
https://github.com/tldr-pages/tldr
特点
什么是 tld?tldr-pages 项目是社区维护的命令行工具帮助页面的集合,旨在成为对传统手册页的更简单、更易理解的补充。例如:
安装
- 使用 npm 安装
# 安装 Node.js(推荐使用 n 或 nvm)
curl -fsSL https://rpm.nodesource.com/setup_16.x | sudo bash -
sudo yum install -y nodejs
# 安装 tldr
npm install -g tldr
# 更新 tldr 缓存
tldr --update
- 使用 pip 安装
# 安装 Python 3 和 pip(CentOS 7 默认是 Python 2)
sudo yum install -y python3 python3-pip
# 安装 tldr
pip install tldr
#可能报错缺少 Python 的开发头文件,
psutil/_psutil_common.c:9:20: fatal error: Python.h: No such file or directory
#include <Python.h>
#安装 Python 3 的开发包
sudo yum install python3-devel -y
- 使用Homebrew安装
brew install tlrc
安装完成后, 可以在终端输入 tldr 来检验安装是否完成
[root@VM-8-7-centos opt]# 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
--search "KEYWORDS" Search for a specific command from a query
-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
-m, --markdown Just print the plain page file.
--print-completion {bash,zsh,tcsh}
print shell completion script
[root@VM-8-7-centos opt]#
如出现以上画面, 则表示安装完成
配置tldr
- 修改语言
tldr的默认语言是英语, 如果你想用中文输出, 可以配置.bashrc文件改成中文
# 先用 vim 打开.bashrc
vim ~/.bashrc
# 在最后一行加入
export TLDR_LANGUAGE="zh"
#刷新环境变量
source ~/.bashrc
这样输出就变成了中文, 不过 tldr 的汉化并不完全, 所以有的文档依旧是英文
- 更新本地缓存
为了更加快速地使用 tldr 可以将命令缓存到本地:
tldr --update
缓存到本地后, tldr的速度会非常快
- 改顺手指令(可选)
虽然 tldr 的功能确实方便, 不过 t l d r 四个字母在刚开始使用的时候不容易记住, 而且打起来不太舒服, 这里建议将 tldr 改成如 how、what 等方便好记的命令, 可以通过 alias 命令实现
用同样的方法在./bashrc
的最后加上
alias how='tldr'
这里的 how
可以改成其他任何你喜欢的指令
配置完成后输入alisas
检查你的配置
$ alias
...........
...........
alias how='tldr'
之后就可以用how
<命令>的方式来完成 tldr
的操作
[root@VM-8-7-centos opt]# how tar
tar
归档实用程序。
通常与压缩方法结合使用,例如 `gzip` 或 `bzip2`.
更多信息:https://www.gnu.org/software/tar.
- 创建存档并将其写入文件:
tar cf 目标文件.tar 路径/到/文件1 路径/到/文件2 ...
- 创建一个 gzip 压缩文件并将其写入文件:
tar czf 目标文件.tar.gz 路径/到/文件1 路径/到/文件2 ...
- 使用相对路径从目录创建一个 gzip 压缩文件:
tar czf 目标文件.tar.gz --directory=路径/到/目录 .
- 详细地将(压缩的)存档文件提取到当前目录中:
tar xvf 源文件.tar[.gz|.bz2|.xz]
- 将(压缩的)存档文件解压缩到目标目录中:
tar xf 源文件.tar[.gz|.bz2|.xz] --directory=目标目录
- 创建压缩存档并将其写入文件,使用文件扩展名自动确定压缩程序:
tar caf 目标文件.tar.xz 路径/到/文件1 路径/到/文件2 ...
- 详细列出 tar 文件的内容:
tar tvf 源文件.tar
- 从存档文件中提取与模式匹配的文件:
tar xf 源文件.tar --wildcards "*.html"
[root@VM-8-7-centos opt]#
关于alias
Linux alias 命令用于设置指令的别名,用户可利用 alias,自定指令的别名
它可以使您以一种更简单和易于记忆的方式执行命令,而不必每次都键入完整的命令
若仅输入 alias,则可列出目前所有的别名设置
alias 的效果仅在该次登入的操作有效,若想要每次登入都生效,可在 .profile 或 .cshrc 中设定指令的别名
tldr的使用
TLDR 的使用十分简单, 如果有一个命令你不会用(以 find
为例), 在命令行中输入tldr find
就可以看到它的用法
[root@VM-8-7-centos opt]# tldr find
find
在指定目录树下递归查找文件或目录。
更多信息:https://manned.org/find.
- 通过扩展名查找文件:
find 指定目录 -name '*.ext'
- 查找匹配多个路径或名称模式的文件:
find 指定目录 -path '**/path/**/*.ext' -or -name '*pattern*'
- 查找匹配指定名称的目录,不区分大小写:
find 指定目录 -type d -iname '*lib*'
- 查找匹配指定模式的文件,排除特定路径:
find 指定目录 -name '*.py' -not -path '*/site-packages/*'
- 查找符合指定大小范围的文件,将递归深度限制为 "1":
find 指定目录 -maxdepth 1 -size +500k -size -10M
- 对每个文件运行命令(在命令中使用 `{}` 代表当前文件):
find 指定目录 -name '*.ext' -exec wc -l {} \;
- 查找最近 7 天修改的文件:
find 指定目录 -daystart -mtime -7
- 查找空(0 字节)的文件并删除:
find 指定目录 -type f -empty -delete
对于某一命令的某一参数的使用方法, 也可以用 tldr
, 如:
[root@VM-8-7-centos opt]# tldr git clone
git clone
克隆现有的代码仓库。
更多信息:https://git-scm.com/docs/git-clone.
- 克隆一个现有的代码仓库到指定目录:
git clone 远程代码库地址 路径/到/目录
- 克隆一个现有的代码库和它的子模块:
git clone --recursive 远程代码库地址
- 仅克隆现有代码仓库的 `.git` 目录:
git clone --no-checkout 远程_代码仓库_地址
- 克隆一个本地的代码库:
git clone --local 路径/到/本地/代码库名
- 静默克隆,不打印任何日志:
git clone --quiet 远程代码库地址
- 克隆一个现有的代码库,只获取默认分支上10个最新的提交(对节省时间很有用):
git clone --depth 10 远程代码库地址
- 克隆一个现有的、特定远程分支的代码库:
git clone --branch 分支名称 --single-branch 远程代码库地址
- 使用 SSH 命令克隆一个现有的代码库:
git clone --config core.sshCommand="ssh -i 路径/到/ssh_私钥" 远程代码库地址
tldr
https://github.com/nvbn/thefuck
特点
thefuck
是一个开源的命令行工具,用于自动纠正终端中的错误命令。它通过分析最近执行的命令和错误信息,提供一个或多个可能的正确命令,用户可以选择自动执行或手动确认,正如它的名字一样当你输错了命令是不是也想来一句呢。
安装
# 安装 thefuck
pip3 install thefuck --user
# 添加到 shell 启动脚本中(如 .bashrc 或 .zshrc)
echo 'eval "$(thefuck --alias)"' >> ~/.bashrc
source ~/.bashrc
使用示例
https://github.com/nvbn/thefuck
[root@VM-8-7-centos opt]# tard
-bash: tard: command not found
[root@VM-8-7-centos opt]# fuck
tar [enter/↑/↓/ctrl+c]
tar: You must specify one of the `-Acdtrux' or `--test-label' options
Try `tar --help' or `tar --usage' for more information.
...
[root@VM-8-7-centos opt]# puthon
-bash: puthon: command not found
[root@VM-8-7-centos opt]# fuck
python [enter/↑/↓/ctrl+c]
Python 2.7.5 (default, Nov 14 2023, 16:14:06)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
总结
TLDR 是一个相当方便的命令简要手册, 免去了查询枯燥的官方手册, 对于想快速了解一个命令的用法的时候十分有用, 结合 thefuck, 新手可以更加便捷方便地使用命令行