努力工作,认真生活。


Shell


  1. Shell解析处理XML方法汇总

    前言 前几天干活的时候遇到一个需要解析处理xml文件的一个需求,当时考虑到逻辑比较复杂,因此用java慢慢搞了搞。不过这个需求经常会变,每次变化之后都要重新找到jar包的代码,改了之后还要替换原来的jar包,一来不方便修改,二来不方便统一保存代码,三来也不方便查看jar包的功能。 其实对于这种比较灵活的功能,最方便高效的做法是采用一些脚本语言,比如python,ruby等等,开发效率高,而且也能处理一些复杂逻辑。但是由于种种原因,工作中有的机器没有安装这些语言的解释器。因此不得已,研究了一波用…

    Shell, Linux, Tools, XML阅读全文

  2. Linux下定时任务配置深入理解

    前言 关于定时任务的配置其实是一个老掉牙的问题了,为什么我又要总结一遍呢?我想大概有以下几点原因。首先,大多数文章都聚焦于cron语法,而比较忽视具体的操作步骤。其次,很多文章都介绍的比较凌乱,层次不是很清楚。而且,当我理清楚linux下定时任务配置的一套流程之后,深刻的觉得他的设计真的是很周到的。不过最重要的一点大概就是我非常不喜欢那种堆砌命令用法的文章,好像Linux就是他写的一样,东一块说明,西一块说明,谁都不知道这些说明是谁说的,从哪里来的,是不是以讹传讹,可信度有多少,是不是已经不被…

    Linux, Shell, Cron阅读全文

  3. 编写Shell脚本的最佳实践

    前言 由于工作需要,最近重新开始拾掇shell脚本。虽然绝大部分命令自己平时也经常使用,但是在写成脚本的时候总觉得写的很难看。而且当我在看其他人写的脚本的时候,总觉得难以阅读。毕竟shell脚本这个东西不算是正经的编程语言,他更像是一个工具,用来杂糅不同的程序供我们调用。因此很多人在写的时候也是想到哪里写到哪里,基本上都像是一段超长的main函数,不忍直视。同时,由于历史原因,shell有很多不同的版本,而且也有很多有相同功能的命令需要我们进行取舍,以至于代码的规范很难统一。 考虑到上面的这些…

    Linux, Shell阅读全文

  4. Linux的环境变量配置详解

    简介 在平时使用Linux的时候,经常需要配置一些环境变量,这时候一般都是网上随便搜搜就有人介绍经验的。不过问题在于他们的方法各不相同,有人说配置在/etc/profile里,有人说配置在/etc/environment,有人说配置在~/.bash_profile里,有人说配置在~/.bashrc里,有人说配置在~/.bash_login里,还有人说配置在~/.profile里。。。这真是公说公有理。。。那么问题来了,Linux到底是怎么读取配置文件的呢,依据又是什么呢? 文档 我一向讨…

    Linux, Shell阅读全文

  5. 大文件分割与重组技巧

    简述 由于各种不同的问题,我们经常会遇到需要将一个大文件分割存储的问题。比如github里单个文件大小一般不能超过100M、比如FAT32文件系统里单个文件大小不能超过4G,比如我们想把某一个数据文件分割存储和查看,比如对日志文件进行分割保存等等。 在ubuntu下,这个工作其实相当简单,只需要牵涉到两个命令:split、cat. 文件分割--split split命令用来将一个大文件分割成多个小文件,可以固定大小分割(常用于分割二进制文件),还可以固定行数分割(常用于分割文本文件)。…

    Linux, Tools, Shell阅读全文

  6. Service命令及init.d启动脚本简析

    我们在启用一些服务的时候,经常会用到这个service命令,比如启动apache2的命令$sudo service apache2 start等等。用他来开启或者关闭我们的服务可谓是非常的方便,因为service命令基本都会支持start、stop、restart之类的参数,十分的好记。 作用原理 那么service命令的原理是什么呢?为什么他能做到这么统一的样式呢? 其实答案很简单,我们来查看帮助文档就知道了: $man service ...... service run…

    Linux, Shell阅读全文

  7. Screen命令基本用法详解

    在服务器上搭建一些服务的时候,经常要用到screen命令。这是因为一般情况下我们只会开一个连接服务器的控制台,但是某些服务(比如minecraft服务器)开启的时候需要占据一整个控制台,如果关闭了就会导致进程终止。这就成了类似单进程的效果。而screen命令就是为了能够在服务器上开启多个控制面板(screen),用以容纳不同的任务。 安装 ubuntu软件库里就有,直接下载: $sudo apt-get intstall screen 基本概念 话说我看了网上很多的教程,发现他们…

    Linux, Tools, Shell阅读全文

  8. Ubuntu中命令行下的图片查看器eog

    有时候在命令行下看文件的时候突然遇到个图片,这个又不能直接在命令行下查看,还得手动在桌面上打开文件来查看,十分的不方便。其实ubuntu本身自带的图像查看器就带了一个命令行下打开的接口------eog 命令(eye of gnome 的缩写,十分好记)。 命令 EOG(1) General Commands Manual EOG(1) NAME eog - a GNOME image viewer SYNOP…

    Linux, Shell阅读全文

  9. Ubuntu中修改主机名的方法

    在实验室的电脑上安装了Ubuntu,安装的时候填写主机名时没注意,使用的时候才发现命令行是这样的: myths@myths-HP-ProDesk-498-G3-MT-Business-PC:~$ 名字长的很蛋疼,本来挺小的命令行硬是被占满了一行,使用的时候怪怪的。 其实修改的方法也很简单,打开/etc/hostname 文件,填写一个新的主机名就好了。 别急,修改完成后还要再修改一下hosts文件的配置,因为hosts里有这样的开头: myths@myths-HP-ProDesk-4…

    Linux, Shell阅读全文

  10. Fork炸弹简析和应对方法

    简述 第一次听到fork炸弹这种东西的时候以为是一个很神奇的破坏力惊人的高能脚本,然而稍微深入的了解了一下才发现这个玩意其实是个挺简单纯粹的东西,只是被一个叫Jaromil的家伙对他的精美包装给戏耍了。他在2002年给出了Linux下fork炸弹的最经典的形式: myths@myths-X450LD:~$ :(){ :|:& };: 一段非常忽悠人的代码,只有13个字母,乍一看完全看不懂。。但其实这个代码的思路非常简单,就是递归的开一个新的进程,不断的开不断的开,直到操作系统崩溃。中招后唯一的…

    Linux, Shell, Anecdote阅读全文