Category Archives: Uncategorized

shell必备利器-fzf 模糊搜索

大家使用Linux命令行中,是否碰到过这样的场景:以前使用过的命令或文件,但时间一长记得不准确了,但有几个关键字还是有印象的,这时候如何能快速、准确的找出当时的命令或文件? 大家肯定会想到,用history | grep的方法,现在给大家介绍一个更简便的方法,就是今天要说的fzf脚本。 1. 安装(使用git的方法) 2. 快速查找历史命令 fzf安装后,默认会覆盖原有的Ctrl+R的功能。 因此再按Ctrl+R的时候,就会进入fzf的查找界面,查询方式类似于baidu、google等搜索引擎:支持查询多个关键字,默认为AND的关系。 举个例子:如果记得以前启动seafile的命令,按照记忆输入 seafile start,就可以所有包含这两个关键字的历史命令。 候选列表操作方法: 上下移动:箭头键,或Ctrl+/Ctrl+p 选择:回车键,或用鼠标左键单击 退出:ESC或Ctrl+g 3. 快速选择文件 快捷键:Ctrl+t,列出当前文件夹及子文件夹中的文件 4 快速进入文件夹 快捷键:Atl+c,递归列出当前文件家下的所有子文件 按回车键自动进入选中的文件夹 5. 不使用快捷键的方式触发fzf 在cd vi等命令中选择文件或文件夹的时候,输入**,按TAB,将使用fzf进行查找 参考资料 Shell脚本:模糊搜索神器

曲折的Seafile安装过程

嗯,我得承认,这次安装Seafile折腾的事情,完全是因为最初想偷个懒:申请的vps是centos 6.9 64位,不是Seafile官方推荐的centos 7,所以在网上找了个安装教程开始安装,于是开始了漫长的折腾。 参考文章: CentOS6.8安装seafile 官方文档: 部署 Seafile 服务器(使用 SQLite) 1、因文件数量不会太多,不想再安装mysql,想用个sqlite算了。结果在安装seafile的时候,报错找不到sqllite3模块。查资料下载源代码编译sqlite3,又重新编译python2.7,算是安装上了。 2、安装完成后启动,一切正常,但访问seahub的时候,出现Internal Error 500的错误。诡异的是,所有日志文件中均没有报错,查了N多资料,最大的可能说是python依赖的包没安装全,但实在没头绪找出缺少哪些包。 3、当时心里不忿,难道6.9就装不上?VPS重新安装了同样的操作系统,按照步骤重新一步一步来,到seafile启动时候,出现和第一个参考资料出现了同样的错误: ”libc.so.6: version `GLIBC_2.14′ not found”. 按照文章中给出的方法,下载新版本的glibc编译安装后,想把lib64/libc.so.6的软链接,修改为编译后libc文件。先把源文件重命名,然后建立新的软连接,居然报错了: 不得已,查资料修改,按照下面的方法改过来: 可惜的是,软链接修改后,seafile仍然无法启动。 更悲催的是,中间参考一篇文章,建议将新版本的libc编译覆盖到原位置。尝试了一下,在make或make install中间出错后,出现N多loading shared libraries的问题,基本上这个操作系统的命令都不能用了,连恢复的方法想不到了。 4、幸亏吃饭后脑子清醒了一些:既然操作系统已经坏了,干脆按照官方建议在centos 7下安装吧。 没有再找其他资料,按照官方安装文档一步步执行,顺顺当当的安装成功后,使用也一切正常。 后记: 官方6.1版本的客户端,不支持windows xp操作系统。所幸的是服务器端兼容性比较好,在网上找5.X版本安装后也能正常使用。 吐个槽就是官方的下载页面, 服务器端和客户端都只有最新版本,要是有历史版本的下载链接就更方便了。

zsh使用小记

知乎上关于zsh亮点的文章,我是看了这个介绍才对zsh有了兴趣:为什么说 zsh 是 shell 中的极品? 安装过程 zsh的插件列表: awesome-zsh-plugins oh-my-zsh Plugins Overview 另外记录两个其他的命令

Tmux学习记录

一、安装 高版本的centos可以用yum直接安装,我用5.9 64位版本还不行,需要从源代码编译,且需要先编译依赖的libevent包 参考文章:Tmux学习笔记 有几个补充: 1. 首先需安装gcc 2. ncurses安装的是6.1版本,5.9版本在make的时候会报错 3. tmux安装版本为2.6 4. tmux的configure语句需修改 二、使用教程的参考文章: Tmux使用手册 tmux-Productive-Mouse-Free-Development_zh 上面的文章已经讲的非常全面了,在实际测试过程中,记录几个实用的小Tips: 1、我是在windows上使用ssh的方式连接linux服务器上,如果想把Tmux窗口中文本复制到windows上,可以使用Shift+鼠标左键选择的方式。使用shift+insert的快捷键,可以将windows操作系统的剪贴板内容复制到tmux中。 2、快捷键Crtl+d可以直接关闭当前窗口 3、Tmux的窗口是没有滚动条的,如果想查看屏幕以前输出的内容,需要先进入复制模式,按照vi的方式进行上下滚动(j/k按行滚动,Crtl+b/Ctrl+f按屏幕滚动) 4、快捷键Prefix+=,列出所有粘贴缓存区并粘贴选中的缓存内容,可以在不同的session、窗口之间共享数据,相当于windows中的多重剪贴板功能,非常实用。 ===update 2018-04-06=== 为了让tmux中vi正常显示中文,需要设置环境变量 export LANG=”zh_CN.utf8″ export LC_ALL=”zh_CN.utf8″

superset安装记录

1. centos 5.8 32位,更新及安装基本的编译环境
2. 安装Python 3.4.8,注意要使用altinstall,否则后面的安装过程会出现找不到python 2 module的错误
3. 修改环境变量,
当前目录增加到PATH中,设置语言为UTF-8,否则执行fabmanager会报错
4. 安装superset
5. 访问superset
http://localhost:8088

oracle expdp impdp使用记录

查询系统中的Directory 创建新的Directory su – oracle expdp user/password@oracle_sid parfile=ecc_fms_exp.par impdp user/password@oracle_sid parfile=ecc_fms_imp.par ecc_fms_exp.par schemas=ECC_FMS_01 directory=DATA_PUMP_DIR dumpfile=ecc_fms_without_srpcell.dmp logfile=ecc_fms_without_srpcell_exp.log exclude=table:”like ‘SRP_SHEET_CELL__’” exclude=table:”like ‘SRP_SHEET_CELL___’” ecc_fms_imp.par directory=DATA_PUMP_DIR dumpfile=ecc_fms_without_srpcell.dmp logfile=ecc_fms_without_srpcell_imp.log remap_schema=ECC_FMS_01:ECC_FMS_03 # include=TYPE_SPEC transform=oid:n

[转]Mysql中模拟递归查询

众所周知,目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,还是可以在一句SQL内实现树的递归查询的。这个得益于Mysql允许在SQL语句内使用@变量。以下是示例代码。 创建表格 插入测试数据 查询语句

Mysql的行锁只锁一行记录吗?

InnoDB行锁是通过给索引上的索引项加锁来实现的,这一点MySQL与Oracle不同,后者是通过在数据块中对相应数据行加锁来实现的。 InnoDB这种行锁实现特点意味着:只有通过索引条件检索数据,InnoDB才使用行级锁,否则,InnoDB将使用表锁,会把所有扫描过的行都锁定! 在实际应用中,要特别注意InnoDB行锁的这一特性,不然的话,可能导致大量的锁冲突,从而影响并发性能。 由于MySQL的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但是如果是使用相同的索引键,是会出现锁冲突的。 当我们用范围条件而不是相等条件检索数据,并请求共享或排他锁时,InnoDB会给符合条件的已有数据记录的索引项加锁; 另外间隙锁也会锁多行,InnoDB除了通过范围条件加锁时使用间隙锁外,如果使用相等条件请求给一个不存在的记录加锁,InnoDB也会使用间隙锁! 当发生死锁的时候,Innodb目前处理死锁的方法是将持有最少行级排他锁的事务进行回滚。 查看INNODB中可能存在的死锁情况: SHOW ENGINE INNODB STATUS

[读书笔记]图解CIO工作指南-IT组织和人才

IT运营的功能划分为管理和服务两方面: IT管理功能,包括IT战略、IT计划、IT投资、IT成本管理、项目群管理、IT资产管理、IT系统推广、协助推动业务变革。 IT服务功能:IT系统构思、需求分析、系统设计、开发、运营和维护,以及IT基础设施、IT采购和IT项目管理。 IT运营与企业内其他部门的协作关系: 经营层:确认IT规划、IT投资、IT成本和IT风险管理的有效性 IT和业务部门共同完成的职责:IT战略和IT投资 业务部门为主的工作:推动业务变革和IT系统的普及使用,IT起到协助的作用。 IT为主的工作:上面提到的IT服务包含的所有工作,包括IT管理中的战略、组织和人才 IT母公司和分子公司的关系 上游功能专注型:母公司负责IT管理的所有工作以及IT系统、基础设施的设计,分子公司负责基础设施的构建、应用程序开发和应用。在IT服务提供领域,母公司可以适当放权,将系统级的设计、开发、采购、运营、项目管理下方到子公司。 战略功能专注型:母公司负责IT总体的战略、计划、投资、成本、项目群管理、组织和人才管理,如果母公司更偏向与战略,其管理范畴就只包括IT总体的战略、计划、投资、成本。 以上每种模式各有优缺点,需要CIO根据公司经营事业、IT部门的状况选择最适合的一种。 IT组织的三种形态 集权型:IT运营所有功能集中在IT部门,适合在全公司层面优化IT运用,发挥统筹管理的效果,尤其适合于各业务部门之间关联性较强的情况;缺点是难以配合各业务部门的需求和效率。 分权型:IT运营功能仅配置在业务部门,容易和业务部门配合,但会导致出现重复建设的问题 联邦型:IT运营功能分散在业务部门的IT团队以及母公司的IT部门,能够充分发挥集权型和分权型的优势,但母公司IT部门和业务部门IT团战的协调、管理负担较重。 IT应强化的两大功能 IT战略:确保IT的工作与组织的中长期经营战略和事业战略相匹配,IT应该和经营层、业务部门深入沟通,在此基础上确定IT的运用分支 协助推动业务变更:在业务产生变革想法的阶段,IT就应该提供咨询和帮助,尤其在如何利用IT的部分提供支援。 总体上,IT应该完成从成本中心到业务伙伴转变,IT的传统是按照经营和业务部门的需求完成系统构建,并并保证稳定运行;但在全球化、数字化的背景下,经营层对IT的期待发生了改变,更期望IT为商业模式的变革、业务流程的变革等经营课题的解决方案提供相应机制。 企业的IT人才类型 IT策划人才 IT战略规划师:负责IT战略的制定和推进 IT商务主管:负责业务变革和相关业务系统的车号 IT分析师:IT项目的可行性分析和确认、系统化构思、计划和需求定义 IT服务提供人才 IT架构师:IT架构设计、IT标准(应用程序和数据结构的标准化)制定 项目经理:项目立项,交付期、品质、成本的管理 应用工程师:系统需求定义、应用程序的设计、开发和运营 技术工程师:系统基础架构的设计和运营,软硬件的采购规格制定 系统运营经理:系统容量设计、故障管理、系统变更管理,能够完善整体运营流程的优化 IT人才培养 为了培养同时精通业务和IT的人才,需要在业务边和IT部门之间建立人事轮岗制度。 在IT战略方面,为培养全公司整体优化的视点,建议建立经营企划部门和IT部门的兼容和轮岗制度。 IT策划人才:不以IT专业能力为目的,从业务部门和IT部门的企划人才中重点培养 IT架构师:从新开发系统机会进行培养俯瞰系统、理解系统架构的能力,IT架构师需要理解和掌握不断变化的IT技术,企业内部的信息收集和研究开发能力有限,必要的时候可以借助于外部专家和供应商合作伙伴。 其他人才,在系统开的和运营等实践经验的积累进行培养。

[读书笔记]图解CIO工作指南-工作职责和工作领域

CIO工作职责 在企业经营和业务运作中推进IT运用,成为企业经营层和IT之间的沟通桥梁 要求具备沟通能力、领导能力、协调能力,以及对业务的深入理解 实现形式: 成立CIO办公室,为CIO决策提供所需信息,准备与业务、IT子公司的协同工作; 可以是IT部门内部领导兼职的虚拟组织。 2. 统管IT部门和信息系统 擅长IT实务的管理者,具备构建、维护复杂系统的能力,同时能正确判断突发问题的风险并解决问题。 常见的方式是CIO负责沟通,其他管理负责人负责此职责(美国企业中的CTO职责) 工作领域 战略、治理 与企业经营者一起制定符合企业战略的IT战略,并确定实现该战略的治理机制 投资、成本 IT组织、人才 确定IT、业务、IT分子公司、外部供应商的职责和责任划分,在此基础上确定IT组织形态 同时制定IT人才标准,并努力获得和培养 资源管理 包含企业内部资源(人力、物力、资金)和外部资源(供应商、专家、外包服务商),建立外部资源管理框架 IT服务 包含应用系统的开发、实施、问题咨询和处理 IT风险 评估系统故障、停机、信息安全泄露的风险并建立对策 IT架构 根据企业经营和业务战略追求的商业模型,构思企业信息系统的整体结构,即IT架构,并建立起对应的管理框架