命令与脚本
脚本和命令的集合
maray
蚂蚁集团 OceanBase 内核研发高级专家,本科毕业于华中科技大学,研究生毕业于中科院计算所。主要兴趣领域:互联网应用,大规模数据处理。
展开
-
如何在 Linux Terminal 中使用 Cmd+C复制,Cmd+V粘帖?
Fact:需求:解决方案:真是绕!原创 2024-09-03 22:29:22 · 323 阅读 · 0 评论 -
通过 github 分析职业研发数量
通过这个命令可以看到该数据库最近半年的 commiter 代码提交次数。将提交次数低于 10 次以下的剔除掉,剩下的就可以当做职业研发了,就能粗略估计出背后的职业研发力量。如何了解一个开源项目背后,到底有多少职业研发呢?换个角度看,依赖开源而生存的商业公司,是否应该做好信息保护呢?的范围,还可以分析出人员流动情况,非常有趣。原创 2024-06-19 15:26:37 · 350 阅读 · 0 评论 -
ctrl+c后终端没有回显了如何解决?
在正常的程序退出流程中,这些改变过的设置会在程序结束时被恢复到之前的状态,以确保终端的行为回到正常。这种情况通常是因为Ctrl+C中断了某些需要用户输入的命令,而这些命令可能会更改终端的设置,例如关闭回显功能。这意味着终端将保持在非回显模式,所以你在命令行中键入的任何内容都不会被显示出来,虽然它实际上是在背后被处理的。当按下Ctrl+C导致回显消失的情况,这通常是因为你中断了一个正在运行的进程,而这个进程改变了终端的模式设置,特别是改变了“回显”(echo)的配置。输入这个命令后,按回车。原创 2024-04-23 20:45:24 · 785 阅读 · 0 评论 -
被群辉升级折腾得够呛
2024 年 3 月,下载了 《三体 网飞版》,不小心下到了 EAC3 的音频版本,没法在 AppleTV 播放。总结下来,就是让 VideoStation、CodecPack 等群辉提供的软件包,使用第三方的 ffmpeg 来做解码,规避群辉不再支持 EAC3 等格式的问题。群辉升级后,因为版权问题,VideoStation 不支持播放 EAC3 格式的视频了,导致我大量视频都没法用 AppleTV 播放。往上早期流传了各种方案,比如回退 VideoStation 版本等,都试过了,没啥用。原创 2024-03-23 22:30:07 · 1279 阅读 · 2 评论 -
Alfred 中如何做自定义搜索?
假设我实现了一个搜索引擎,那么我可以用脚本调用搜索引擎获得结果,最后在 Alfred 中对接一个 Open URL 的工作流即可。原创 2024-01-08 14:19:27 · 579 阅读 · 0 评论 -
Linux timeout 命令
整个程序不长,但是要完全看明白每一行代码是做什么的,需要对 Linux 里的基本概念要了熟于心,对 Linux 信号处理理解非常到位,对 Linux 编程非常熟悉。原创 2023-03-13 14:49:54 · 1490 阅读 · 0 评论 -
基于 pyspider 的 infoq.com 爬虫
目标需要多了解下世界 IT 领域发生了些什么事情, infoq 是最好的入口。定期爬 infoq 英文版内容,并展现在自己的网站上。先贴爬虫效果:总体架构pyspider 负责爬取 infoq 内容,启用了 phantomjs。爬取的内容插入 MySQL。前端用 PHP 读 MySQL 数据库来展示。脚本CREATE TABLE `news_latest` ( `id` int(...原创 2020-05-04 00:10:43 · 381 阅读 · 0 评论 -
Chrome 网页顶部底部跳转快捷方式
跳到页面顶部:javascript:void((function(){document.body.scrollTop = 0; (window.frames[0]) && (window.frames[0].document.body.scrollTop = 0);})())跳到页面底部:javascript:void((function(){document....原创 2017-07-10 11:00:14 · 6650 阅读 · 0 评论 -
公证问答百科
爬了2008年以来的上万条公证问答,也许用得上。原创 2017-07-13 12:54:38 · 581 阅读 · 0 评论 -
利用 inotifywait 实现自动增量文件拷贝
#!/bin/bashsrc=/www/wwwroot/site0/images/dest=/www/wwwroot/site1/images/tool=/user/bin/mytoolinotifywait -mrq --format '%w%f' -e create $src | while read filedo sleep 1 # 从 create 到写好,...原创 2020-03-11 13:04:12 · 652 阅读 · 0 评论 -
【速记】将 OceanBase Sql Plan Monitor 服务化
OceanBase Sql Plan Monitor 对于大查询性能诊断非常好用,之前为了推广,整理了一个离线版。但最终还是觉得差点意思。能不能类似阿里的“扁鹊”服务,将其服务化呢?使用者只需要登录网页,填写一些基本信息就能一键获得报告?稍微折腾了一下,居然是很简单的。背景这个 WebService 最终是通过 lighttpd+php+python 完成sql plan monitor 是用 python 写的;python 做Web动态脚本非常费事PHP 做Web动态脚本非常方便ngi原创 2021-06-29 17:11:55 · 280 阅读 · 2 评论 -
【脚本】快速定位线程对应的 cgroup 信息
先通过类似 top -d 2 -H -b -n1 | grep TNT.*G2.*1001 这样的命令找到线程 ID,然后将其作为find_task 脚本的输入。找到 107509 线程位于哪个资源组。找到所有包含 10 的线程。原创 2022-11-14 12:06:56 · 124 阅读 · 0 评论 -
git 快速找到合并点
支持一个 merge 里包含多个 commit 的情况。原创 2022-09-02 18:18:48 · 211 阅读 · 0 评论 -
如何寻找 C++ 程序中的大对象?
问题背景你参与的大型应用程序中,所有的对象大小到底是怎样的?有没有一些大对象很废?例如,在 OceanBase 0.4 开源版本中:Top 10的对象:排序 大小 类名1 58,720,304 rootserver::ObRootTable22 20,163,008 updateserver::ObUpdateServerMain3 20,153,152 updateserver::ObUpdateServer4 18,761,432 common::ObMergerSchemaManage原创 2020-10-15 11:07:03 · 397 阅读 · 0 评论 -
git diff查看本地已经commit的内容
$git diff origin/master HEAD --name-only显示本地和origin/master分支的diff文件名src/lib/array.hgit diff origin/master HEAD显示本地和origin/master分支的diff内容原创 2016-01-07 10:45:54 · 17649 阅读 · 0 评论 -
Bash 并行爬虫
Bash 并行下载脚本。1900 页,分 190 次下载完。原创 2017-07-11 19:54:37 · 770 阅读 · 0 评论 -
git 使用笔记
团队作战时,如何让提交记录更干净,让后期做版本合并的同学更省力?只需要一个简单的原则: git pull –rebase详解如下: 开发过程中,为了提交review,需要不时地commit当前的修改;为了跑测试,需要不时地把服务端的代码pull到本地。在这种情况下,如果一个feature开发持续一两周,就会形成这样一个commit log: HEAD <– My bugfix <– me原创 2016-03-23 16:25:22 · 875 阅读 · 0 评论 -
结对编程神器:tmux
tmux的确比Screen帅气啊!mark:https://github.com/aqua7regia/tmux-Productive-Mouse-Free-Development_zh/blob/master/book-content/Chapter5.md目前的疑问:tmux我设置`(反引号)为控制符,搞得我没法输入反引号了,不知道怎么办。(Screen可以通过连续输入原创 2015-12-20 23:00:43 · 1331 阅读 · 0 评论 -
sed提取模式内容
sed提取特定模式的内容原创 2016-08-03 11:56:00 · 6466 阅读 · 0 评论 -
gdb打印内存字节
x/16bx address单字节16进制打印address地址处的长度为16的空间的内存,16表示空间长度,不是16进制,x表示16进制,b表示byte单字节可以使用examine命令(简写是x)来查看内存地址中的值。x命 令的语 法如下所示:详解:x/ n、f、u是可选的参数。n是一个正整数,表示需要显示的转载 2012-07-05 12:04:33 · 15158 阅读 · 0 评论 -
怎样才能不记命令?
无穷无尽的命令行,除了最常用的那几个,如何才能记住所有?方法:把命令集成在一起,持续集成,形成自己的“工具链”。python wrapper是个好办法。原创 2013-03-04 11:32:31 · 782 阅读 · 0 评论 -
快速搭建HTTP服务器用于Linux向Windows的文件传输
非常简单,用一个命令行就能搞定:python -m SimpleHTTPServer 9090 例如:[xiaochu.yh@OceanBase~]$ python -m SimpleHTTPServer 9090 Serving HTTP on 0.0.0.0 port 9090 ...10.32.192.195 - - [12/Apr/2013 10:48:58原创 2013-04-12 10:45:42 · 4642 阅读 · 0 评论 -
【原来如此】为什么很多应用都安装在/usr/local目录下?
很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?理解了最根源的原因后,也许对你理解linux组织文件的方式有更直观的理解。答案是:Automake工具定义了下面的一组变量:Directory variable Default valueprefix /usr/local exec_prefix ${prefix} bindir ${exe原创 2013-08-04 00:06:31 · 4521 阅读 · 2 评论 -
搭建私有的git服务平台
为了实现公司开发平台、个人电脑Windows平台、个人电脑Linux平台、国外买的云服务器、即将咬购买的阿里云的云服务器之间的代码同步和快速部署,进行了一些简单的技术选型,首先考虑的是rsync,发现安装非常麻烦,然后考虑了一个商业软件,安装亦不顺,最终决定还是走最成熟的代码仓库平台,svn和git都是不错的选择,但是考虑到两点,抛弃了svn:svn在每个目录下都有.svn文件夹,内容原创 2013-02-23 23:41:31 · 9236 阅读 · 0 评论 -
一般机器上vim乱码快速解决方案
编辑~/.vimrc文件,加上如下几行: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8转载 2015-04-21 18:17:32 · 973 阅读 · 0 评论 -
vix --- 免路径输入的vim
编辑tired.cpp文件很累有没有?有了vix后就很简单了。使用前:vim a/b/c/d/e/f/tired.cppvix使用后,在源码的任意目录下执行下面的命令,就能打开tired.cpp:vix tired.cpp这么神器?怎么搞?!很简单!将以下代码加入到~/.bashrc:export VIX_HOME='/home/raywill/dev/'function vix { [ $(原创 2015-10-19 17:51:10 · 816 阅读 · 1 评论 -
History of UNIX Project Build Tools
History of UNIX Project Build Tools (The following is derived from the HACKING.txt file of the old open source project which I stopped supporting many years ago. R.I.P.)You might have not原创 2015-11-04 15:59:11 · 783 阅读 · 0 评论 -
如何用gitbook写书
假设你已经知道如何编写Markdown已经安装好gitbook软件目标生成一本小书,它有前言,章节1,章节2,后记。例如:简介第一章:如何造火箭 1. 燃料学 2. 空气动力学 3. 总装工程学第二章:如何回收火箭 1. 自动控制原理 2. 二次利用要点结束准备工作建一个写书的目录,以后所有工作都在这个目录下搞。例如/Users/rayw原创 2015-11-27 11:13:58 · 7758 阅读 · 2 评论 -
tmux cheat sheet
Tmux常用目录转载 2016-01-23 14:08:15 · 927 阅读 · 0 评论 -
如何用github/gitlab做代码review
本文背景:由于ReviewBoard非常水,diff稍微大一点就会提交失败。那么如何做review呢?不妨利用github/gitlab自带的在线Diff展示功能做。操作过程...原创 2015-12-07 16:11:40 · 22274 阅读 · 0 评论 -
搭建轻量级git server和git web UI
如果你用ECS来管理日常代码,一定会有这样一个过程原创 2016-04-11 20:56:22 · 14859 阅读 · 0 评论 -
一个木马下载脚本
帮一个朋友在阿里云Linux服务器上装软件,发现出奇的卡,终端上敲几个字就卡几十秒。ps -ef一看,发现两个可疑物:/etc/tows/etc/towgets.sh原创 2016-04-29 20:33:04 · 3034 阅读 · 0 评论 -
Linux yum 软件安装
背景安装软件经常用到RPM,默认的源里面内容非常有限,在安装一些特殊软件的时候,需要自己制定源,例如Gitlab-ce,Gogs等。然而,源是个什么鬼,我从没搞明白过。借助安装Gogs的机会学习下。原创 2016-04-23 16:17:28 · 1043 阅读 · 0 评论 -
高效学英语 - 统计英文书词频
有了一本书的词频,就能有针对性地将书中高频词汇先系统学习一遍,提高阅读效率啦。原创 2016-06-22 18:13:23 · 1484 阅读 · 0 评论 -
我的screen配置
用Screen的好处: 1. 不怕掉线 2. 窗口快速切换 3. 随时关闭CRT终端,换个电脑无缝继续。开多少个vim都没关系原创 2015-02-12 09:32:14 · 1443 阅读 · 1 评论 -
Sed总结1
通过观察总结,Sed命令一般都有如下格式:[寻址] 操作码/[操作数]/[辅助操作] Sed中的寻址分为三种:1、行地址2、行范围地址3、正则表达式(寻找匹配行) Sed操作码有很多种,常见的包括插入i、添加a、替换s等 操作数则根据操作码的不同,格式有所不同。 辅助操作包括打印选项p、全局提示g等 This is what I m原创 2008-10-11 12:18:00 · 1136 阅读 · 0 评论