研发效率破局之道
葛俊
前 Facebook 内部工具团队 Tech Lead
34093 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 40 讲
开篇词 (1讲)
研发效率破局之道
15
15
1.0x
00:00/00:00
登录|注册

28 | 从工作场景出发,寻找炫酷且有效的命令行工具

!!
!$
lnav
fzf
kill, pkill
jq.node
fx
jq
curl
HTTPie
gitin
lazygit
grv
tig
nnn
Ranger
Midnight Commander (mc)
vidir
cp, mv, rsync
fzf
fasd, z
Zsh, Fish
cd, dirs
RipGrep (rg)
fd
VIM
grep
exa
alder
tree
ls
命令行本身的实用技巧
查看日志文件
查找、关闭进程
对JSON进行处理
Web访问
Git
文件管理
文件夹之间跳转
查找并打开文件,进行查看和编辑
列举文件夹和文件,查看文件
开发中常见的工作
日常操作中的工具和技巧
命令行工具的使用技巧
从工作场景出发,寻找炫酷且有效的命令行工具

该思维导图由 AI 生成,仅供参考

你好,我是葛俊。今天,我继续和你分享命令行工具的使用。
在上一篇文章中,我与你介绍了命令行环境中的终端、Shell,以及远程连接的设置,解决了环境配置的问题。今天,我们再来看看具体的命令行工具的使用技巧。我会根据常见的工作场景来组织这些工具,因为优化工作流程、提高效率才是学习工具的真正目的。
从我的经验来看,开发人员最常见的、使用命令行的场景主要包括两个:
日常的操作,比如文件夹跳转、处理和搜索文件夹和文件内容、查看和管理系统信息;
开发中常见的工作,比如 Git 的使用、API 调试、查看日志和网络状况等。
我会重点与你分享这些场景中有哪些推荐工具以及使用技巧。而至于这些工具如何安装的内容,网络上已经有很多了,我就不再详细描述了。

日常操作中的工具和技巧

关于日常操作,Linux/Unix 系统已经自带了一些工具,另外还有些产生已久、为我们所熟悉的工具。不过,要更高效地完成工作,我们还有更强大的工具可以选择。

第一个场景:列举文件夹和文件,查看文件

列举文件的默认工具是 ls。除此之外,一个常用的工具是 tree,可以列出文件夹的树形结构:
另外,还有些比 tree 更方便的工具,比如 alder 和 exa。exa 尤其好用,优点包括:
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了在工作场景中寻找炫酷且有效的命令行工具的相关内容。作者分享了一些常用的命令行工具和使用技巧,涵盖了日常操作和开发中常见的工作场景。在日常操作中,作者介绍了一些替代品,如exa替代ls、bat替代cat、fd替代find、RipGrep替代grep等,以及一些快速跳转工具,如z和fzf。在开发中常见的工作中,作者介绍了Git工具、Web访问工具、对JSON进行处理工具、查找、关闭进程工具以及查看日志文件工具。此外,作者还分享了命令行本身的实用技巧,如!$和!!。总的来说,本文涵盖了丰富的命令行工具和使用技巧,适合读者快速了解并提升命令行操作的技能。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《研发效率破局之道》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(11)

  • 最新
  • 精选
  • 我来也
    今天又学了些新东西. 以前这些工具都是自己慢慢摸索,或机缘巧合看了某个文章提到了,自己才会去尝试下. 现在一篇文章就接触这么多,还是蛮方便的. bat和fzf这个确实不错. 特别是fzf,简单配置后更强大. 我Mac下的几个配置可以给你们试试: ``` # 设置样式 可以直接预览文件 也可以用快捷键执行简单的操作 export FZF_DEFAULT_OPTS="--height 40% --reverse --border --prompt '>>>' \ --bind 'ctrl-j:preview-down,ctrl-k:preview-up,ctrl-y:execute-silent(echo -n {2..} | pbcopy)+abort,?:toggle-preview' \ --header 'C-j/k: preview down/up, C-y: copy, ?: toggle preview' \ --preview '(highlight -O ansi -l {} 2> /dev/null || cat {} || tree -C {}) 2> /dev/null'" export FZF_CTRL_T_OPTS=$FZF_DEFAULT_OPTS export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window hidden:wrap --bind '?:toggle-preview'" # 让Ctrl-R直接执行选中的命令 fzf-history-widget-accept() { fzf-history-widget zle accept-line } zle -N fzf-history-widget-accept bindkey '^X^R' fzf-history-widget-accept ```

    作者回复: fzf 的preview功能的确好用。推荐大家可以试试 @我来也 的配置。 fzf 的github页面上有一个视频链接,介绍fzf在命令行和VIM中的使用,很不错。也推荐大家看看。

    2019-10-28
    6
    5
  • Neo
    如何递归搜索当前文件夹内所有文件的全文

    作者回复: rg 默认就可以: > rg <needle> 传统的办法是用find找到文件,然后用xargs把文件名传给grep命令: > find . -type f | xargs grep <needle> 当然你可以用fd代替find,rp代替grep: > fd -t f | xargs rg <needle> needle 是你要找的字符串。

    2019-10-30
    4
  • 我愿化身石桥→_→
    老师,为什么我使用 fd 文件夹 | vim - 使用 gF 跳转会报错 E37: No write since last change

    作者回复: 这是因为VIMI默认要求当前文件保存之后才能切换到其他文件。改变这个设置,请使用 :set hidden

    2019-11-24
    3
  • 紫色天空
    这些工具是Linux自带的吗,担心写成shell自动化的时候找不到

    作者回复: 大部分都需要自己安装

    2020-07-20
    2
  • P小二
    tldr就是太长不想看,想给我一个例子让我运行起来。常用的场景都给例子出来,让人一看就懂。 不知道会不会介绍thefuck。 macos中finder用打开zsh并跳转到当前finder目录,也是很频繁的需求,有个Go2shell的工具也挺好用。

    作者回复: thefuck 我倒是装了,不过用的很少 :) 跳转到当前finder目录,我用的是cdf命令https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/osx 这个plugin还有几个其他命令也还不错。推荐看看

    2019-10-28
    2
  • 我来也
    温故知新。 看到文中的 sudo !! 我有话要说。 我平常遇到这种情况,都是用两个快捷键: 1。Ctrl+p 切换到上条命令。 2。Ctrl+a 移动到行首 剩下的就是sudo了

    作者回复: 另外sudo!! <Tab> 在zsh中可以自动补全,更放心一些 :)

    2020-02-13
    1
  • 我来也
    今天又找了个小技巧,跟文中的命令`fd index.md | vim -`功能类似. 1.`fd index.md | xargs -o vim` 遇到带空格的文件名会出问题 2.`find . index.md -exec vi {} +` 可以正确处理带空格的文件名 这两个命令都是直接打开指定文件, 就不用再用`gF`打开当前某一行的文件了. 参考: https://superuser.com/questions/335999/how-can-i-edit-all-the-files-returned-by-find-in-vi-in-linux

    作者回复: 如果我们需要打开每个文件,的确更方便!另外一个办法是还可以使用fzf的preview功能 :)

    2019-10-30
    1
  • 苦行僧
    fzf 非常好用,还有一个是vim的浏览器插件

    作者回复: fzf 真的是厉害。再来一个例子: https://ddrscott.github.io/blog/2017/fzf-dictionary/

    2019-11-18
  • Robert小七
    文章的工具是否可以列出包名,我试着用yum安装,几乎都是找不到了用的包!

    作者回复: 我一般也都是问也搜索具体的安装方式的 😅 你先试试搜索,找不到的告诉我,我们一起看看

    2019-10-28
    2
  • D
    问下老师,文章中文件重命名的 vidir 工具,在哪下的 ? 我在mac上 brew install vidir 提示 No available formula or cask with the name "vidir".
    2021-01-16
收起评论
显示
设置
留言
11
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部