5款超级好用的命令行工具,提升你的开发效率!

2023-11-02

微信公众号公众号平凡而诗意,更多精彩内容第一时间推送!

如果你是一个喜欢使用Linux系统,或者经常和Linux打交道的开发人员。那么,终端和命令行一定是接触最为频繁的工具之一。

Linux不像Windows那样,有丰富的桌面应用,但是,却有很多开源、免费的命令行工具,这也恰好符合Linux的应用场景。

找到一款优秀的命令行工具,和寻找一款强大的Windows桌面应用一样,如同大海捞针,但是却至关重要。

由于我喜欢经常搜罗各种各样的小工具,开发类的工具自然也不会逃出我的目光。

今天,就来给大家介绍5款提升工作效率的Linux命令行工具。

1. z.sh

img

z.sh[1]是一款可让你快速跳转到过去或最近经常访问的目录的命令行工具。

它会根据你使用的频率去区分你想要跳转的目录,此外,还可以跟踪你何时进入目录以及在目录中花费了多少时间。

然后,你只需要输入路径的部分字段,它就可以预测、补全你想要跳转的路径。

例如z src可以帮你跳转到〜/ src / zsh

用例

2. tmux

img

tmux[2]是一款终端多窗口管理工具。

通过tmux,你可以把多个命令行窗口平铺到同一个页面上,这一点,对于电脑使用是非常有价值的。因此,无论是Linux还是Windows都会有一些这类工具。

Linux下,使用tmux就可以减少你切换终端窗口的麻烦。此外,tmux还允许你分离终端会话,这样,你就不必中断会话也可以进行其他工作,这对于长时间运行的任务非常有价值。

用例

3. how2

img

how2[3]是一款可以通过自然语言搜索问题及答案的命令行工具。

在我们开发过程中,经常会遇到一些问题,这时候就需要求助浏览器。

这时候就需要面临切换窗口的麻烦,尤其对于非桌面版的Linux系统,更是麻烦。

而how2就像Stackoverflow,能够在命令行下就能搜索你想要的问题答案。

how2使用Stackoverflow和Google API,how2会为你提供最可能的答案。

用例:

4. fzf

img

fzf[4]是一款用于文本模糊查找的命令行工具。

通过fzf,几乎可以处理系统中的所有内容。

fzf可以帮助你查找计算机中的文件,shell历史记录中,搜索结果或其他任何内容。

fzf非常灵活,因为它支持搜索任何其他Linux命令的结果,例如,

ls | fzf

5. tldr

img

tldr[5]是一款命令行手册页简化工具,旨在让使用者能够更加清晰、简单的获得命令行工具的帮助信息。

Linux下会涉及到各种各样的命令,难免会有很多命令记不住,这样就需要每次使用都要去查一下。

当然,也可以借助man命令来解决这个问题,只需要使用man <command>就可以显示这个命令的文档。

但是,这个文档有很多冗余、没有价值的信息,这样对于阅读非常不友好。

tldr页面简单,易于访问,并且优先考虑了常见的用例,而且会高亮显示文档信息,这使得tldr非常适合快速了解任何新命令。

结语

上述5款都是比价同样命令行工具,不针对某一应用场景或者某一编程语言。只要你经常使用Linux系统,上述工具都可以有用武之地,也可以极大提升你在Linux下的开发效率。


推荐阅读

干货满满,一个值得每天一看的视频号!
智能电视救星,一款堪称良心的视频播放器
超好用!5款完全免费、支持全平台的笔记软件

参考资料

[1] z.sh: https://github.com/rupa/z

[2] tmux: https://github.com/tmux/tmux

[3] how2: https://github.com/santinic/how2

[4] fzf: https://github.com/junegunn/fzf

[5] tldr: https://github.com/tldr-pages/tldr

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

5款超级好用的命令行工具,提升你的开发效率! 的相关文章

  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • Git 不断提示我输入密码

    我已经使用 Git 一段时间了 但是不断要求输入密码开始让我感到厌烦 我使用的是 Mac OS X 和 GitHub 并且按照 GitHub 的说明设置了 Git 和我的 SSH 密钥设置 Git 页面 http help github c
  • 操作错误:尝试在 ubuntu 服务器中写入只读数据库

    我正在使用 FlaskApp 运行mod wsgi and apache2在 Ubuntu 服务器上 我尝试运行烧瓶应用程序localhost成功 然后部署到ubuntu服务器上 但是当我尝试更新数据库时 出现错误 Failed to up
  • 如何查找连接到 AF_INET 套接字的客户端的 UID?

    有什么方法或类似的东西ucred for AF UNIX如果是AF INET插座 TCP在我的例子中 找出连接到我的套接字的客户端的UID 还有 proc net tcp但它显示了UID of the creator插座的而不是连接的cli
  • Ubuntu 11.10 上的 c 数学链接器问题 [重复]

    这个问题在这里已经有答案了 我从 Ubuntu 升级后出现了一些奇怪的错误 10 11 11 04 i dont know 到 11 10 我正在得到一个undefined reference to sqrt 使用 math h 时并与 l
  • git - 更新 fork 的 master 并将我的分支重新建立到它之上?

    我分叉了一个 github 项目 然后将其克隆到本地 然后我在新分支中做了一些更改my github the project repo 然后我添加并提交了更改 并推送到我的 github 存储库并提交了拉取请求 所有者已收到我的请求 并希望
  • readthedocs 中自动生成的索引文件

    我无法上传到阅读文档 http docs readthedocs io en latest 我为我的项目准备的文档 我正在尝试了解问题所在 该文档在本地构建良好make html但我无法上传 GitHub 项目是ASCII基因组 https
  • 在 /dev/input/eventX 中写入事件需要哪些命令?

    我正在开发一个android需要将触摸事件发送到 dev input eventX 的应用程序 我知道C执行此类操作的代码结构如下 struct input event struct timeval time unsigned short
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • 如何模拟ARM处理器运行环境并加载Linux内核模块?

    我尝试加载我的vmlinux into gdb并使用 ARM 内核模拟器 但我不明白为什么我会得到Undefined target command sim 这是外壳输出 arm eabi gdb vmlinux GNU gdb GDB 7
  • 在 Linux 中禁用历史记录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 要在 Linux 环境中禁用历史记录 我执行了以下命令 export HISTFILESIZE 0 export HISTSIZE 0 u
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 在 github 上下载 ZIP 时没有 .xcodeproj 文件

    我正在尝试将我的 GitHub 项目放入 Xcode 中 当我从 GitHub 下载时 zip 文件不包含任何 xcodeproj 文件 另外 即使我在 xcode 上登录 GitHub 克隆 下载时也没有 在 Xcode 中打开 选项 如
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse

随机推荐

  • Mybatis - 常用 SQL 语句设计思路及具体实现 - 数据存在则更新,不存在则插入、批量更新、批量插入、连表查询 + - 字段加减法

    目录 序言 一 数据存在则更新 不存在则插入 ON DUPLICATE KEY UPDATE 的具体 xml 用法 虽然有点问题 但没准以后有用到的时候 on duplicate key update 用法总结 二 批量更新 方法 一 方法
  • 数组里的对象去重

    今天分享的是数组对象去重的方式 先看看数组对象的形式 let arrObj name 小红 id 1 name 小橙 id 1 name 小黄 id 4 name 小绿 id 3 name 小青 id 1 name 小蓝 id 4 下面是我
  • [人工智能-深度学习-26]:卷积神经网络CNN - 为啥要卷积神经网络以及卷积神经网络的应用

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 120805258 目录 第1章 全连接
  • c语言动态内存管理

    在C语言中 有几个动态内存管理的函数 分别是malloc calloc realloc和free free free函数用于释放由malloc calloc或realloc函数分配的内存空间 它接受一个指向要释放的内存的指针作为参数 注意
  • 在kali linux里利用SQLmap实现SQL注入

    SQLMap简介 SQLMap 是一个自动化的SQL注入工具 其主要功能是扫描 发现并利用给定URL的SQL注入漏洞 内置了很多绕过插件 支持的数据库是MySQL Oracle PostgreSQL Microsoft SQL Server
  • 第五阶段学习测试

    逐梦 一 单选题 1 下列各项中 执行流程正确的是 A InputFormat Mapper Reducer OutputFormat B Mapper InputFormat Reducer OutputFormat C InputFor
  • 《动手学深度学习 Pytorch版》 6.6 卷积神经网络

    import torch from torch import nn from d2l import torch as d2l 6 6 1 LeNet LetNet 5 由两个部分组成 卷积编码器 由两个卷积核组成 全连接层稠密块 由三个全连
  • Docker存储卷(Volume)

    简介 想要了解Docker Volume 首先我们需要知道Docker的文件系统是如何工作的 Docker镜像是由多个文件系统 只读层 叠加而成 当我们启动一个容器的时候 Docker会加载只读镜像层并在其上镜像栈顶部添加一个读写层 如果运
  • RTP如何打包H264数据

    拿到H264的裸流数据是 一般码流结构是SPS PPS I帧 P帧 SPS PPS I帧 P帧 用RTP打包H264数据时 SPS和PPS可以不发 直接发I帧和P帧数据即可 还要看I帧和P帧有多大 如果小于MTU就直接加RTP包发送就可以
  • 关于Unity任何版本点击Play运行就黑屏,除了摄像机窗口其他全部黑掉的问题解决~

    问题如图所示 这个问题一般人很少遇到 我却遇见了N次 每次重装都是这样从5 0到5 4 0版本都是如此 几乎崩溃 咨询很多人都一脸茫然 重装系统 重装软件 更新版本 都不行 后来 偶然间 我这样解决了问题 1 打开Unity 点击Edit
  • 【从零开始学c++】————模板初阶

    模板初阶 一 模板函数 1 模板函数的概念 2 模板的匹配原则 二 类模板 1 类模板的定义格式 2 类模板的实例化 一 模板函数 如何实现一个通用的的两个数相加的函数呢 我们可以通过函数重载把各个类型的两个数相加给写出来 如下 int A
  • python+requests+pytest 接口自动化框架(八)

    今日内容 接口自动化测试框架封装之数据类型处理以及DDT数据驱动封装 一 数据类型处理 read extract data tag id 替换成 110 json tag id read extract data tag id 二 DDT数
  • 解决 error: style attribute '@android:attr/windowEnterAnimation' not found.

    在Project gradle properties中添加 android enableAapt2 false
  • 5.3.4 因特网的路由协议(四)BGP协议

    5 3 4 因特网的路由协议 四 BGP协议 我们学习的RIP协议 5 3 2 因特网的路由协议 二 基于距离向量算法的RIP协议 和OSPF协议 5 3 3 因特网的路由协议 三 OSPF协议 都是内部网关协议 都是只能作用于一个自治系统
  • 【原创】xenomai UDD介绍与UDD用户态驱动示例

    xenomai UDD与用户态驱动示例 本文介绍xenomai UDD原理和相关代码 并给出一个基于UDD的用户态操作GPIO的示例 以及内核收发网络包与用户态操作网卡收发包的CPU耗时对比 版权声明 本文为本文为博主原创文章 转载请注明出
  • Web.xml配置详解

    1 定义头和根元素 部署描述符文件就像所有XML文件一样 必须以一个XML头开始 这个头声明可以使用的XML版本并给出文件的字符编码 DOCYTPE声明必须立即出现在此头之后 这个声明告诉服务器适用的servlet规范的版本 如2 2或2
  • 浏览器中地址框输入url地址会进行什么操作?

    一 http请求流程 http 超文本传输协议 是基于TCP协议之上的应用层协议 http的请求会进行以下操作 一 http请求流程 1 1 url域名解析成ip地址 dns解析 1 2 建立三次握手TCP连接 1 2 1 报文中SYN S
  • hashmap转红黑树的两个条件

    一个是链表长度到8 实际是要超过8 后面有补充说明 一个是数组长度到64 上图所示是判断链表长度到达8调用treeifyBin方法转换红黑树 TREEIFY THRESHOLD的值为8 TREEIFY THRESHOLD 1 7 所以bin
  • Pandas中对DataFrame列名进行重命名

    目录 1 重命名Pandas DataFrame Column 列 2 在创建Dataframe时指定列名 3 使用 list 设置全部列名 Pandas是一个用于数据分析和操作的Python库 在pandas中几乎所有的操作都围绕着Dat
  • 5款超级好用的命令行工具,提升你的开发效率!

    微信公众号公众号平凡而诗意 更多精彩内容第一时间推送 如果你是一个喜欢使用Linux系统 或者经常和Linux打交道的开发人员 那么 终端和命令行一定是接触最为频繁的工具之一 Linux不像Windows那样 有丰富的桌面应用 但是 却有很