tldr.py 实际上是 tldr 的一个命令行程序,帮助你快速查看命令的常用用法。tldr 是什么呢?按照官方的说法:
Simplified and community-driven man pages.
也就是说,是精简版的 man 。相比大而全的 man , tldr 是把常用和命令和选项提炼了出来方便你使用。之前也有一个很火的项目: the-art-of-command-line, 它的介绍是:
Master the command line, in one page
tldr 现在已经有很多大家贡献的命令,或许有些没有,或许有些不够好,这也许是一个诟病。但是不用担心,因为你完全可以自己总结,使用并维护自己的那一份,感觉不错的也可以去官方 repo 提个 PR 分享一下。当然,这是方便使用而已,需要深入使用或者其他场景使用的,那就使用 man 吧。
下面说说这个 tldr.py , 具体的安装和初始化工作这里不再赘述,请前往 github 了解更为详细的说明
具体日常的使用, 比如说想知道 du
这个命令的常用用法,
$ tldr find du
Estimate file space usage
- get a sum of the total size of a file/folder in human readable units
du -sh {{file/directory}}
- list file sizes of a directory and any subdirectories in KB
du -k {{file/directory}}
- get recursively, individual file/folder sizes in human readable form
du -ah {{directory}}
- list the KB sizes of directories for N levels below the specified directory
du --max-depth=1
当然,实际上的显示是有颜色的,你也可以在配置文件中自行修改调整。基本的使用就是这样。
详细的用法和说明都在 github 上。
有问题和新的想法可以提。有兴趣的试用一下吧~期待测试回馈和使用感受
就酱。
提一下,之前已经有过一个 tldr 的客户端名字叫做 tldr ,它是直接发请求的,所以有时候使用时会感到些许延迟。 tldr.py 是使用本地文件的,前提是需要你手动 clone 下来 tldr 的 repo 。安装使用时请注意使用 pip install tldr.py
,不要搞混了,详细说明请仔细阅读 github 的 readme 说明。有问题和想法欢迎继续反馈~
1
jukka 2015-10-25 23:51:56 +08:00 via iPhone
其实很多人看不懂 man 不是因为长,是因为英文不好。
|
4
SharkIng 2015-10-26 07:01:08 +08:00
cheat 是不是也一样这功能?
|
5
imn1 2015-10-26 07:57:17 +08:00
man 对我来说更多不是英文,而是完全没有例子,很多命令要自己试
但有部分命令是不能试的,一试可能会很惨 |
6
iambic 2015-10-26 09:49:26 +08:00
这个跟 cheat 有什么区别呢?
|
7
iambic 2015-10-26 09:50:19 +08:00
|
8
hqs123 2015-10-26 10:06:05 +08:00
一堆鸡肠看不懂感觉楼主很厉害...
|
9
xiaket 2015-10-26 10:40:25 +08:00
顺着这个 thread 说句, 个人觉得没有耐心读完 man 的人不太适合做技术工作...
|
10
xvid73 OP @iambic 噗,之前我不知道这个项目 _(:3
粗看了下,要是说区别的话, tldr 是只提供 man page ,对应的其他语言的客户端是其他开发者开发的, cheat 则自身有 cli 的同时还附带了默认的 man page 。看了下项目的起始时间, cheat 要稍微要早点。两者的思想基本是差不多的,都是提供简化常用的命令说明,但是 tldr 更注重提供原始的 man page ,把 man page 和具体实现剥离开来,开发其他平台和不同语言的都可以使用它。个人看法是这样。 |
11
demo 2015-10-26 11:32:15 +08:00
没有 cheat 反应快
|
12
joshz 2015-10-26 11:35:53 +08:00 via Android
@xiaket 不大赞同,你如果没看过书,直接从 man page 学的,那我无话可说。但很显然大部分人都是通过书籍来度过最难过的入门阶段才可能去关注具体某个命令的个别参数的。把 man page 当 api 文档都挺难看,更别说通过这个来学习 shell 。重要的是 example 太少。
|
13
joshz 2015-10-26 11:38:51 +08:00 via Android
不过 man page 维护者写的书 Linux programming interface 口碑爆棚,很奇怪,可能是定位问题。
|
14
xvid73 OP |
15
demo 2015-10-27 10:04:02 +08:00
@xvid73 很明显就感觉得到,你在 shell 里试试:
tldr : t1=`date +%s`;s1=`tldr tar`;t2=`date +%s`;echo ${t1}'\n'${t2}; cheat : t3=`date +%s`;s2=`cheat tar`;t4=`date +%s`;echo ${t3}'\n'${t4}; |
16
xvid73 OP |
17
xvid73 OP |
18
kamushin 2015-10-30 10:14:05 +08:00
赞
|
19
kamushin 2015-10-30 10:15:43 +08:00
|
20
wyf88 2015-10-30 23:52:28 +08:00
我也感觉反应速度好慢,然后发现要联网才能使用,只有我是这样吗?我是用 homebrew 安装的。
|
21
xvid73 OP |
22
xvid73 OP |
23
wyf88 2015-10-31 17:31:25 +08:00
@xvid73 哦抱歉的确是我搞错了,我以为和这个 https://github.com/tldr-pages/tldr-python-client 是一样的。楼主这个不需要联网的很方便啊,赞!
|
24
xvid73 OP |
25
Chrics 2015-10-31 22:42:44 +08:00
没有 mac 版不开心
|
26
timqian 2015-10-31 23:43:46 +08:00 via Android
的确是一个痛点,看到这个工具后感觉的确是这样。机会藏在生活中的不便之处。。。
|
27
xvid73 OP @Chrics 没有环境测试 mac, 不过你可以用 virtualenv 建个虚拟环境装一下试试看,看看能不能用,我估计应该可以用的 _(:3
|
28
vivisidea 2015-11-02 12:17:37 +08:00
@iambic
cheat 好评 xx@xx-SSD:~$ cheat find # To find files by case-insensitive extension (ex: .jpg, .JPG, .jpG): find . -iname "*.jpg" # To find directories: find . -type d # To find files: find . -type f # To find files by octal permission: find . -type f -perm 777 # To find files with setuid bit set: find . -xdev \( -perm -4000 \) -type f -print0 | xargs -0 ls -l # To find files with extension '.txt' and remove them: find ./path/ -name '*.txt' -exec rm '{}' \; # To find files with extension '.txt' and look for a string into them: find ./path/ -name '*.txt' | xargs grep 'string' # To find files with size bigger than 5 Mb and sort them by size: find . -size +5M -type f -print0 | xargs -0 ls -Ssh | sort -z # To find files bigger thank 2 MB and list them: find . -type f -size +20000k -exec ls -lh {} \; | awk '{ print $9 ": " $5 }' # To find files modified more than 7 days ago and list file information find . -type f -mtime +7d -ls # To find symlinks owned by a user and list file information find . -type l --user=username -ls # To search for and delete empty directories find . -type d -empty -exec rmdir {} \; # To search for directories named build at a max depth of 2 directories find . -maxdepth 2 -name build -type d # To search all files who are not in .git directory find . ! -iwholename '*.git*' -type f # Find all files that have the same node (hard link) as MY_FILE_HERE find . -type f -samefile MY_FILE_HERE 2>/dev/null |
29
vivisidea 2015-11-02 12:20:16 +08:00
```
vivi@vivi-SSD:~$ seq 9 | sed 'H;g' | awk -v RS='' '{for(i=1;i<=NF;i++)printf("%dx%d=%d%s", i, NR, i*NR, i==NR?"\n":"\t")}' 1x1=1 1x2=2 2x2=4 1x3=3 2x3=6 3x3=9 1x4=4 2x4=8 3x4=12 4x4=16 1x5=5 2x5=10 3x5=15 4x5=20 5x5=25 1x6=6 2x6=12 3x6=18 4x6=24 5x6=30 6x6=36 1x7=7 2x7=14 3x7=21 4x7=28 5x7=35 6x7=42 7x7=49 1x8=8 2x8=16 3x8=24 4x8=32 5x8=40 6x8=48 7x8=56 8x8=64 1x9=9 2x9=18 3x9=27 4x9=36 5x9=45 6x9=54 7x9=63 8x9=72 9x9=81 ``` cheat awk 里面看到有个 9x9 乘法表的 example 。。。 |
30
picasso250 2015-11-02 14:00:34 +08:00
http://git.oschina.net/xiaochi2/tldr-go
我觉得只要把文档同步到国内就解决了吧。欢迎试用: go get git.oschina.net/xiaochi2/tldr-go tldr-go tar |
31
xvid73 OP @vivisidea 我没用过 cheat ,不过看到 find 那么多例子想到一点, tldr 的倾向是例子不要太多,五六个最多。
就实现方式和发展而言,个人是看好 tldr 的。因为它把 man pages 和具体实现分开了。而其他语言版本的客户端在使用过程中会反馈给主 repo tldr , man pages 会越来越完善的。 |
32
xvid73 OP @picasso250 赞~
使用本地文件不仅速度快,可以离线使用,而且可以自定义修改使用自己的习惯,改改本地的 markdown 文件就马上可以用了。使用远端的我感觉总归是麻烦些。 使用在线的好处有可以保持最新,不用额外的配置。 个人比较喜欢本地的,实现时就用了本地的文件了 _(:3 |