命令与脚本:其他实用工具 · 读取帮助、搜索与只读查看至生成网站、出版文档与维护源码
命令与脚本:其他实用工具
读取帮助、搜索与只读查看
man 查完整手册,ag 搜索代码,view 只读打开文本;正文中已有各自选项。
man · 展示手册分页 (manual page)
另请参阅:
whatis,apropos。 更多信息:https://manned.org/man。
- 展示一条命令的使用手册分页:
man {{command}}- 在浏览器中打开一条命令的使用手册分页 (
$BROWSER环境变量可以替换=browser_name):
man {{[-H|--html=]}}{{browser_name}} {{command}}- 从第七章节展示一条命令的使用手册分页:
man 7 {{command}}- 列表展示一条命令的所有可用章节:
man {{[-f|--whatis]}} {{command}}- 展示搜索手册分页的路径:
man {{[-w|--path]}}- 展示使用手册分页的位置, 而不是手册分页本身:
man {{[-w|--where]}} {{command}}- 使用特定的语言来展示使用手册分页:
man {{[-L|--locale]}} {{locale}} {{command}}- 搜索包含搜索字符串的手册页:
man {{[-k|--apropos]}} "{{search_string}}"ag · The Silver Searcher. 类似 ack, 但是更快
更多信息:https://manned.org/ag。
- 寻找内容包含"小明"的文件,并列出所在的行数:
ag {{小明}}- 在指定目录中寻找内容包含“小明”的文件:
ag {{小明}} {{指定的目录}}- 寻找内容包含“小明”的文件,但只列出文件名:
ag -l {{小明}}- 忽略大小写,寻找内容包含 "ABC" 的文件,并只输出匹配的内容,而非整行:
ag -i -o {{ABC}}- 在文件名包含"小红"的文件中寻找"小明":
ag {{小明}} -G {{小红}}- 使用正则表达式来匹配文件内容:
ag '{{^ba(r|z)$}}'- 输出文件名包含"小明"的文件名:
ag -g {{小明}}view · vim 的只读版本
等效于
vim -R。 更多信息:https://www.vim.org/。
- 打开文件:
view {{file}}管理 Shell、版本与 Conda 环境
变量展开、条件分支和作业号属于 Shell 语法;asdf 选择工具版本,Conda 激活/退出成对,zinit 管理 Zsh 插件。
$ · 展开 Bash 变量
更多信息:https://gnu.org/software/bash/manual/bash.html#Shell-Variables。
- 打印变量的值:
echo ${{变量名}}- 打印上一个命令的退出状态:
echo $?- 打印 0 到 32767 之间的随机数:
echo $RANDOM- 打印其中一个提示字符串:
echo ${{PS0|PS1|PS2|PS3|PS4}}- 运行
命令并展开它的输出。与将命令括在反引号中相同:
$({{命令}})- 列出当前上下文有多少个参数:
echo $#- 打印 Bash 数组:
echo ${array[@]}case · Bash 内置的多重条件语句结构
更多信息:https://www.gnu.org/software/bash/manual/bash.html#index-case。
- 通过字符串字面量判断执行分支:
case {{$计数规则}} in {{字数}}) {{wc -w README}} ;; {{行数}}) {{wc -l README}} ;; esac- 使用 | 组合匹配模式,使用 * 作为默认匹配:
case {{$计数规则}} in {{[wW]|字数}}) {{wc -w README}} ;; {{[lL]|行数}}) {{wc -l README}} ;; *) {{echo "无效输入"}} ;; esac- 允许匹配多个模式:
case {{$动物}} in {{猫}}) echo "这是一只猫" ;;& {{猫|狗}}) echo "这是一只猫或狗" ;;& *) echo "其他动物" ;; esac- 继续执行下一个模式的命令而不检查模式:
case {{$动物}} in {{猫}}) echo "这是一只猫" ;& {{狗}}) echo "这是一只狗或猫的匹配结果" ;& *) echo "其他动物" ;; esac- 显示帮助:
help case% · 管理作业
更多信息:https://www.gnu.org/software/bash/manual/bash.html#Job-Control-Basics。
- 将当前作业切换到前台:
%- 将上一个作业切换到前台:
%-- 将
n号作业切换到前台:
%{{n}}- 将命令以
字符串开头的作业切换到前台:
%{{字符串}}- 将命令包含
字符串的作业切换到前台:
%?{{字符串}}- 恢复一个已暂停的作业:
%{{1}} &asdf · 可扩展的包版本管理器,支持 Nodejs、Ruby、Elixir 和 Erlang 等
- 可用插件清单:
asdf plugin list all- 安装插件:
asdf plugin add {{插件名}}- 软件包的可用版本清单:
asdf list all {{软件包名}}- 安装指定版本的软件包:
asdf install {{软件包名}} {{版本}}- 设置软件包的全局安装版本:
asdf set -u {{软件包名}} {{版本}}- 设置软件包的本地版本:
asdf set {{软件包名}} {{版本}}- 查看软件包当前使用的版本:
asdf current {{软件包名}}conda activate · 激活一个 conda 环境
另请参阅:
conda deactivate。 更多信息:https://docs.conda.io/projects/conda/en/stable/dev-guide/deep-dives/activation.html。
- 激活现存名为
myenv的环境:
conda activate myenv- 激活位于特定路径的环境:
conda activate {{路径/到/我的环境}}- 将
myenv环境堆积在先前的环境上,让两个环境的程序库/命令/变量都能够被访问:
conda activate --stack myenv- 启动干净的
myenv环境,不执行堆积(先前环境中的程序库/命令/变量将不可访问):
conda activate --no-stack myenv- 展示帮助:
conda activate {{[-h|--help]}}conda deactivate · 取消激活一个 conda 环境
更多信息:https://docs.conda.io/projects/conda/en/latest/commands/deactivate.html。
- 取消激活一个 conda 环境:
conda deactivatezinit · 灵活且极其快速的 Zsh 插件管理器
- 显示所有已安装的插件:
zinit plugins- 进入某个插件的目录:
zinit cd {{仓库所有者}}/{{仓库名称}}- 从 GitHub 获取最新版的
zinit:
zinit self-update- 列出所有已安装补全的状态:
zinit completions- 为某个插件安装补全:
zinit creinstall {{仓库所有者}}/{{仓库名称}}- 删除某个插件的补全:
zinit cuninstall {{仓库所有者}}/{{仓库名称}}生成网站、出版文档与维护源码
博客/网站生成器按框架查阅;quarto 出版技术文档,yapf 格式化 Python,quilt 维护补丁,jetifier 迁移 AndroidX。
hexo · 快速、简洁且高效的博客框架
- 初始化一个网站:
hexo init {{path/to/directory}}- 创建一篇新文章:
hexo new {{layout}} {{title}}- 构建静态文件:
hexo generate- 启动本地服务器:
hexo server- 部署网站:
hexo deploy- 清理缓存文件(
db.json)和生成的文件(public/):
hexo cleanjekyll · 一个简单的、支持博客的静态网站生成器
- 生成一个将在 http://localhost:4000/ 上运行的开发服务器:
jekyll serve- 启用增量再生成:
jekyll serve --incremental- 启用详细输出:
jekyll serve --verbose- 将当前目录生成到
./_site中:
jekyll build- 清理网站(移除网站输出和
cache目录)而不进行构建:
jekyll cleanjigsaw · 基于 Laravel 的 PHP 静态网站生成器
- 初始化一个项目:
jigsaw init- 使用一个初始模板初始化项目:
jigsaw init {{模板_名称}}- 为开发环境构建网站:
jigsaw build- 从 "build_local" 目录预览网站:
jigsaw serve- 为生产环境构建网站:
jigsaw build production- 从 "build_production" 目录预览网站:
jigsaw serve {{build_production}}yesod · Yesod 是一个基于 Haskell 的网页框架的辅助工具
所有 Yesod 命令都通过
stack项目管理器来调用。 更多信息:https://github.com/yesodweb/yesod。
- 在
my-project目录下创建一个以 SQLite 为后端的新样板网站:
stack new {{my-project}} {{yesod-sqlite}}- 在一个 Yesod 样板网站中安装 Yesod CLI 工具:
stack build yesod-bin cabal-install --install-ghc- 启动开发服务器:
stack exec -- yesod devel- 处理具有更改的 Template Haskell 依赖项的文件:
stack exec -- yesod touch- 使用 Keter(Yesod 的部署管理器)部署应用程序:
stack exec -- yesod keterquarto · 一个基于 Pandoc 的开源科学和技术出版系统
更多信息:https://quarto.org/docs/reference/projects/options.html。
- 创建一个新项目:
quarto create-project {{路径/到/目录}} --type {{book|default|website}}- 创建一个新的博客网站:
quarto create-project {{路径/到/目录}} --type {{website}} --template {{blog}}- 将输入文件渲染为不同格式:
quarto render {{路径/到/文件.ext}} --to {{html|pdf|docx}}- 渲染并预览文档或网站:
quarto preview {{路径/到/目录 | 路径/到/文件}}- 发布文档或项目到 Quarto Pub、Github Pages、RStudio Connect 或 Netlify:
quarto publish {{quarto-pub|gh-pages|connect|netlify}}yapf · Python 风格指南检查器
- 显示将要进行的更改的差异,但不实际更改(试运行):
yapf --diff {{路径/到/文件}}- 就地格式化文件,并显示更改的差异:
yapf --diff --in-place {{路径/到/文件}}- 递归格式化目录中的所有 Python 文件,并发执行:
yapf --recursive --in-place --style {{pep8}} --parallel {{路径/到/目录}}quilt · 管理一系列的补丁
更多信息:https://manned.org/quilt。
- 从文件中导入一个已有补丁:
quilt import {{路径/到/文件名.patch}}- 创建一个新补丁:
quilt new {{文件名.patch}}- 将文件添加到当前补丁:
quilt add {{路径/到/文件}}- 编辑文件后,用更改刷新当前补丁:
quilt refresh- 应用系列文件中的所有补丁:
quilt push -a- 移除所有已应用的补丁:
quilt pop -ajetifier · 一个以 npm 格式提供的 Jetifier AndroidX 迁移工具,适用于 react-native
- 将项目依赖迁移到 AndroidX 格式:
jetifier- 将项目依赖从 AndroidX 格式迁移回来:
jetifier reverse继续阅读
- 文件与文本处理完整实践与解答
- 文件与文本处理上手与对象
- 文件与文本处理任务与配置