作为一个开发人员,会时常用到终端命令,最让人头疼的是记不住繁琐的参数。用谷哥度娘检索效率低下;通过man
查看帮助,超长文章不易阅读。
tldr
命令正是解决这一痛点,tldr
是什么?从它的 GitHub 页翻译说“一个简洁的社区驱动的帮助手册”,这是对它最好的解释,根据二八原则给出命令的常用场景示例,简单易读;存放在 Github 上的命令库接受来自五湖四海的朋友提交的内容,社区驱动。
man
命令有更详细的说明,单从实用角度讲,tldr
才是王者。
fechinwork in ~/Desktop at 11:57:57 λ tldr tar
tar
Archiving utility.
Often combined with a compression method, such as gzip or bzip.
\- Create an archive from files:
tar cf target.tar file1 file2 file3
\- Create a gzipped archive:
tar czf target.tar.gz file1 file2 file3
\- Extract an archive in a target folder:
tar xf source.tar -C folder
\- Extract a gzipped archive in the current directory:
tar xzf source.tar.gz
\- Extract a bzipped archive in the current directory:
tar xjf source.tar.bz2
\- Create a compressed archive, using archive suffix to determine the compression program:
tar caf target.tar.xz file1 file2 file3
\- List the contents of a tar file:
tar tvf source.tar
小提示:支持在进 20 中语言环境下运行,通过tldr --update
更新本地命令库。
当我们编写项目文档,想更直观的表达项目结构及内容的时候,这个小小的命令就可以派上用场了,它以类似于图像的树状图排列目录和文件。
fechinwork in ~/work/script/nginx2mysql at 12:43:10 λ tree -L 2
.
├── README.md
├── config.yml
├── libs
│ ├── \_\_init\_\_.py
│ ├── \_\_init\_\_.pyc
│ ├── nginx\_log\_parser.py
│ ├── nginx\_log\_parser.pyc
│ ├── simplemysql.py
│ └── simplemysql.pyc
├── logs
│ └── cdn-2016-06-04.log
├── parser.py
└── requirements.txt
2 directories, 11 files
小提示:支持定制层级,过滤内容等各种个性化设置。通过tldr tree
查看具体使用示例。添加-N
参数解决中文乱码问题。
经常使用命令的同学一定有习惯,通过上下按键切换历史命令,但是让人头疼的是telnet
命令不支持切换,甚至是退格删除,所以时常遇到如下尴尬场面。莫急,rlwrap
便是用来解决这一痛点的。
通过telnet
执行 Dubbo 接口:
\> telnet 192.168.1.147 23457
\> invoke com.yinyuetai.yuan.user.api.UserService.get(1) > ^\[\[A^\[\[A^\[\[A^\[\[B^\[\[B
\# 好尴尬~
通过telnet
连接 memcached 服务器:
\> telnet 192.168.1.36 11211 > ^\[\[A^\[\[A^\[\[A^\[\[B^\[\[B
\# 好尴尬~
什么是rlwrap
?它是基于 readline 库,实现命令行补全和记录的包装命令。如今交互式输入是最基本的需求,Linux 正是通过 readline 这个库来记录用户的操作,实现交互式输入、自动补全、搜索等功能。对于没有支持 readline 操作的命令,rlwrap
就是最好的伙伴了。
用法:在执行telnet
命令前加上 rlwrap 命令即可。
fechinwork in ~/Documents at 14:43:15 λ
fechinwork in ~/Documents at 14:43:41 λ rlwrap telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^\]'.
set product alpha
+OK
get prod
$-1
get product
$5
alpha
小提示:除了telnet
还有 Oracle 系列命令需要支持 rlwrap 包装装sqlplus
、rman
、asmcmd
快捷别名:alias telnet='rlwrap telnet'
很多时候,为了安全和备份,需要对工作内容进行保存。那么,script
命令就是隐藏在终端的记录器,它可以记录终端会话的所有内容,形成文件。对于需要工作留痕的同学来说,script
便是良药。
如何使用,用script
启动它,此时它已经开始记录。完事后用exit
退出记录,默认生成了一个叫“typescript”的文件。
fechinwork in ~ at 13:34:04 λ script
Script started, output file is typescript
fechinwork in ~ at 13:34:07 λ echo '导演,开始了吗?'
导演,开始了吗?
fechinwork in ~ at 13:34:27 λ echo '你退出自己看咯,略略~'
你退出自己看咯,略略~
fechinwork in ~ at 13:34:48 λ exit
Script done, output file is typescript
fechinwork in ~ at 13:34:51 λ cat typescript
Script started on Sat Oct 21 13:34:06 2017
fechinwork in ~ at 13:34:07 λ echo '导演,开始了吗?'
导演,开始了吗?
fechinwork in ~ at 13:34:27 λ echo '你退出自己看咯,略略~'
你退出自己看咯,略略~
fechinwork in ~ at 13:34:48 λ exit
Script done on Sat Oct 21 13:34:51 2017
小提示:script
可以在什么场景下使用呢?
1、我需要把大批量视频推送到 CDN,耗时一晚上,这时通过script
记录执行的日志,第二天对没有推送成功的做单独处理。
2、别人远程你的服务器或电脑,安全起见script
一下。
3、与同事协同工作时,自己工作做了一半,交给另一个人来做,此时发给它你的script
,让它接着干。
……
最后一个压轴神器,也是我用的最多的命令之一。
相信多数终端用户使用频率最高的命令是cd
、ls
, 在我不知道切换到哪里的时候不得不ls
确认目录名,如此反复,到达想去的目录可能要经历几次甚至十次以上的 cd,经历了多少风雨才找到我的文件。俗话说“不会偷懒的程序员不是好程序员”,如此饱受挫折那是我们的风格,于是有了 autojump 的诞生,它注定不凡。
顾名思义,autojump,自动跳转,而不是切换,因为它可以做到一键直达。
fechinwork in ~/work/script/xls2sql at 14:27:24 λ j Des
/Users/fechinwork/Desktop
fechinwork in ~/Desktop at 14:27:27 λ pwd
/Users/fechinwork/Desktop
fechinwork in ~/Desktop at 14:27:31 λ j Docu
/Users/fechinwork/Documents
fechinwork in ~/Documents at 14:27:41 λ pwd
/Users/fechinwork/Documents
fechinwork in ~/Documents at 14:27:44 λ
小提示:可以通过j -s
命令查看它的数据库,以及数据库中的目录权重。
Original url: Access
Created at: 2018-09-28 11:52:14
Category: default
Tags: none
未标明原创文章均为采集,版权归作者所有,转载无需和我联系,请注明原出处,南摩阿彌陀佛,知识,不只知道,要得到
java windows火焰图_mob64ca12ec8020的技术博客_51CTO博客 - 在windows下不可行,不知道作者是怎样搞的 监听SpringBoot 服务启动成功事件并打印信息_监听springboot启动完毕-CSDN博客 SpringBoot中就绪探针和存活探针_management.endpoint.health.probes.enabled-CSDN博客 u2u转换板 - 嘉立创EDA开源硬件平台 Spring Boot 项目的轻量级 HTTP 客户端 retrofit 框架,快来试试它!_Java精选-CSDN博客 手把手教你打造一套最牛的知识笔记管理系统! - 知乎 - 想法有重合-理论可参考 安宇雨 闲鱼 机械键盘 客制化 开贴记录 文本 linux 使用find命令查找包含某字符串的文件_beijihukk的博客-CSDN博客_find 查找字符串 ---- mac 也适用 安宇雨 打字音 记录集合 B站 bilibili 自行搭建 开坑 真正的客制化 安宇雨 黑苹果开坑 查找工具包maven pom 引用地 工具网站 Dantelis 介绍的玩轴入坑攻略 --- 关于轴的一些说法 --- 非官方 ---- 心得而已 --- 长期开坑更新 [本人问题][新开坑位]关于自动化测试的工具与平台应用 机械键盘 开团 网站记录 -- 能做一个收集的程序就好了 不过现在没时间 -- 信息大多是在群里发的 - 你要让垃圾佬 都去一个地方看难度也是很大的 精神支柱 [超级前台]sprinbboot maven superdesk-app 记录 [信息有用] [环境准备] [基本完成] [sebp/elk] 给已创建的Docker容器增加新的端口映射 - qq_30599553的博客 - CSDN博客 [正在研究] Elasticsearch, Logstash, Kibana (ELK) Docker image documentation elasticsearch centos 安装记录 及 启动手记 正式服务器 39 elasticsearch 问题合集 不断更新 6.1.1 | 6.5.1 两个版本 博客程序 - 测试 - bug记录 等等问题 laravel的启动过程解析 - lpfuture - 博客园 OAuth2 Server PHP 用 Laravel 搭建带 OAuth2 验证的 RESTful 服务 | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区 利用Laravel 搭建oauth2 API接口 附 Unauthenticated 解决办法 - 煮茶的博客 - SegmentFault 思否 使用 OAuth2-Server-php 搭建 OAuth2 Server - 午时的海 - 博客园 基于PHP构建OAuth 2.0 服务端 认证平台 - Endv - 博客园 Laravel 的 Artisan 命令行工具 Laravel 的文件系统和云存储功能集成 浅谈Chromium中的设计模式--终--Observer模式 浅谈Chromium中的设计模式--二--pre/post和Delegate模式 浅谈Chromium中的设计模式--一--Chromium中模块分层和进程模型 DeepMind 4 Hacking Yourself README.md update 20211011
Laravel China 简书 知乎 博客园 CSDN博客 开源中国 Go Further Ryan是菜鸟 | LNMP技术栈笔记 云栖社区-阿里云 Netflix技术博客 Techie Delight Linkedin技术博客 Dropbox技术博客 Facebook技术博客 淘宝中间件团队 美团技术博客 360技术博客 古巷博客 - 一个专注于分享的不正常博客 软件测试知识传播 - 测试窝 有赞技术团队 阮一峰 语雀 静觅丨崔庆才的个人博客 软件测试从业者综合能力提升 - isTester IBM Java 开发 使用开放 Java 生态系统开发现代应用程序 pengdai 一个强大的博主 HTML5资源教程 | 分享HTML5开发资源和开发教程 蘑菇博客 - 专注于技术分享的博客平台 个人博客-leapMie 流星007 CSDN博客 - 舍其小伙伴 稀土掘金 Go 技术论坛 | Golang / Go 语言中国知识社区
最新评论