主要介绍Linux 或者 Mac下常用的一些基本工具命令来帮助处理一些日常事务。 通过本文的介绍,读者应该对相关命令有一个初步的了解,知道比如用什么命令可以完成怎样的操作;至于具体的参数,不用去刻意地记,等到用到的时候,再去 cmd --help 或者 man cmd去看,用熟悉了,常用的自然也就记住了。 本文首先介绍了Linux/Mac下一些常用的命令行工具,然后介绍了一些常用的命令,最后通过一两个案例来说明这些工具的强大之处:
关于Mac相关的技巧,更多的可以参考以下三篇文章: Mac 软件推荐(序), Mac 软件推荐续(!程序猿篇)和 Mac 软件推荐(续)之程序猿篇
rm, mkdir, mv, cp, cd, ls, ln, file, stat, wc(-l/w/c), head, more, tail, cat...
这里就是通过案例讲了一下12个命令的大致用法和参数,可以通过点击右边的目录直达你想要了解的命令。 find, grep, xargs, cut, paste, commjoin, sort, uniq, tr, sed, awk find
grep
xargs
cut
paste
join 类似SQL中的 ...inner join ...on ..., -t 分隔符, 默认为空格或tab comm
sort
uniq
tr
sed
awk
例如拿到一个Nginx日志文件,可以做很多事情, 比如看哪些请求是耗时最久的进而进行优化,比如看每小时的”PV”数 等等。 上面是Nginx的一个案例,例如希望找到top 10 请求的path: 当然,你可能一次不会直接处理成功,一般会先少拿一部分数据进行处理看逻辑是否正常,或者你可以缓存一些中间结果。 再比如每小时请求数量,请求耗时等等。 其他实际案例 IP block 因为某服务bug, 导致插入到db的图片路径不对, 需要将形如(安全需要已经将敏感数据替换)https://www.tanglei.name/upload/photos/129630//internal-public/shangtongdai/2017-02-19-abcdefg-eb85-4c24-883e-hijklmn.jpg 替换成http://www.tanglei.me/internal-public/shangtongdai/2017-02-19-abcdefg-eb85-4c24-883e-hijklmn.jpg, 因为MySQL等db貌似不支持直接正则的替换, 所以不能够很方便的进行写SQL进行替换.当然将数据导出, 然后写python等脚本处理也是一种解决方案, 但如果用上面的命令行处理, 只需要几十秒即可完成. 1、 准备数据 2、替换原文件 一般在用sed替换的时候, 先测试一下是否正常替换. 3、拼接SQL,然后执行
本文首发于唐磊个人博客,《Shell 助力开发效率提升》原文地址为:https://www.tanglei.name/blog/linux-shell-makes-more-efficient.html。InfoQ获得作者授权转发。 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|