奇妙的 Linux 世界

种一棵树最好的时间是十年前,其次是现在。

代码统计利器 Cloc

软件开发过程中,有时候需要进行代码统计,比如在申请软件著作权的时候需要进行代码统计进而提供程序源码数据。本文给大家介绍一个开源代码统计工具Cloc,以供参考。 Cloc简介 Cloc是一款使用Perl语言开发的开源代码统计工具,支持多平台使用、多语言识别,能够计算指定目标文件或文件夹中的文件数(files)、空白行数(blank)、注释行数(comment)和代码行数(code)。 Clo......

终端环境下更好用的文件比较差异工具 ICDiff

在终端环境下,两个文件要进行差异比对,通常我们会使用系统内建的diff指令,效果如下 diff指令仅仅是将文件差异处以上下对照呈现,并不会以颜色标示差异处。 再看看icdiff比较文件的结果,效果如下 其中各种颜色代表的意义如下 [绿色]表示[新增] [红色]表示[删除] icdiff将文件差异处以左右对照呈现的方式,并且将差异处标记上颜色。看上去直观多了! icdiff官网: h......

通过 Docker Machine 快速安装 Docker 环境

什么是Docker Machine Docker Machine是一个简化安装Docker环境的工具。市场上主流Linux系统版本很多,使用Machine工具就简单很多,一两条命令即可在主流Linux系统上安装Docker环境,用户不用考虑什么操作系统。Docker Machine还具备Docker工具管理虚拟化技术,Generic驱动默认管理LXC容器技术。 Docker Machine ......

利用 Oh-My-Zsh 打造你的超级终端

什么是Zsh Zsh是一款强大的虚拟终端,既是一个系统的虚拟终端,也可以作为一个脚本语言的交互解析器。 Zsh的一些特性 兼容bash,原来使用bash的兄弟切换过来毫无压力。 强大的历史纪录功能,在用或者方向上键查找历史命令时,zsh支持限制查找。比如输入ls然后再按方向上键,则只会查找用过的ls命令。而此时使用则会仍然按之前的方式查找,忽略ls。 多个终端会话共享历史记录。经常......

如何透过 SSH 代理穿越跳板机

一般公司为了安全起见,线上服务器都无法直接访问,必须通过一台跳板机来访问。比如要访问机器webserver01,则必须先ssh到跳板机gateway,然后再ssh到webserver01机器。这样做自然可以减少攻击面,但是每次去webserver01机器执行命令,或者上传文件的时候都要两次ssh,对线上的调试和监控效率影响很大。 通过Proxycommand+Netcat 前提条件 本机......

使用 pyenv 搭建 Python 虚拟环境

pyenv可以帮助你在一台开发机上建立多个版本的python环境, 并提供方便的切换方法。 例如系统自带的Python是2.6,自己需要Python 2.7中的某些特性;此时需要在系统中安装多个Python,但又不能影响系统自带的Python,即需要实现Python的多版本共存,pyenv就是这样一个Python版本管理器。 pyenv项目地址: https://github.com/yyu......

为 Bash 和 VIM 配置一个美观奢华的状态提示栏

Powerline是使用Python所开发的一个外挂小工具,支援各种常见的Shell与应用程式,可以产生非常漂亮的提示字串与状态列文字,让终端机的文字看起来更舒服。除了Vim 之外也可以用于各种Shell 与应用程式中,如zsh、bash、tmux、IPython、Awesome与Qtile。 安装Powerline Powerline 在使用前需要进行一些安装步骤。 自动安装 如果您是使用......

Docker 下使用 Daocloud/阿里云镜像加速

在使用docker下载镜像时,在国内使用官方的Docker registry下载时速度很慢,庆幸国内还镜像加速服务。目前支持Docker镜像的有阿里云和DaoCloud两家。本文将详细讲解镜像服务的具体配置方法。 docker使用阿里云镜像库加速 注册阿里云开发者帐号帐号 https://cr.console.aliyun.com/ 登陆后取得专属加速器地址,类似这样https://xxxx......

使用 rbenv 安装和管理 Ruby 版本

如果你是Ruby开发者应该知道用rvm来安装/管理Ruby版本,同时也能用它的gemset功能来管理各个工程的gems。因为rvm过于强大以至于违背了某个Linux软件开发原则。所以出现了很多轻便的替代者,其中来自37signals的rbenv就很受欢迎。 rbenv可以帮助你在一台机器上建立多个版本的ruby环境, 并提供方便的切换方法。 注意:rbenv和rvm是不兼容的,所以安装rbe......

Linux 环境下 VI/VIM 编辑文件时无权限保存的解决方法

在Linux环境下,如果直接使用VI/VIM命令编辑没有修改权限的文件时,保存的时候就会提示用户无法进行保存操作,一般的解决方法只能是关闭文件重新以sudo权限打开该文件编辑后再保存(前提是用户具有sudo权限)。其实,在VI/VIM模式下通过一些简单的命令,就能在不关闭当前文件的情况下达到保存文件的目的。 方法一 1234输入命令:%! sudo tee % > /dev/null按......