原创 vim 縮進

vim tab變空格 對於使用vim的程序員來說,shiftwidth,tabstop,softtabstop絕對是經常接觸的三個縮進因素。能否有方便美觀的,整體化的縮進,主要是由他們相互間的配合決定。在經過一段時間試用後,總結一下

原创 xmlstarlet toolkit 腳本操作xml的好工具, 用法心得

在linux終端或者secureCRT ssh上去,或者是shell腳本可以直接調用xmlstarlet命令操作,解析xml很方便,由於是工作上用到的東東,查了相關的資料,也遇到過一些問題,所以在解決後記錄備忘,這裏只列出一些常用的命令和

原创 shell 多行註釋

由於Shell不支持直接多行註釋,總結了以下Shell註釋多行的變通方法   一、通過Here Documents和:實現   1、最簡單方法  :<<BLOCK   ....註釋內容     BLOCK   把輸入重定義到前面的命令,但

原创 iptables用法初解

一、四表五鏈之間的關係 4個表:filter,nat,mangle,raw,默認表是filter(沒有指定表的時候就是filter表)。表的處理優先級:raw>mangle>nat>filter。 filter:一般的過濾功能 na

原创 shell中數組擴展技巧及實例

1、申明數組 例一: a=(111 222)    #一對括表示是數組,數組元素用“空格“符號分割開。 echo ${a[0]}    #數組下標從0開始 echo $a          #數組也是指針形似,數組名稱相當於一個指針,指

原创 根據成員變量的地址推算出結構體變量的地址

在linux當中對此有一個很好的宏可以使用,叫做 container_of, 放在 linux/kernel.h當中。它的定義如下所示:/** * container_of - cast a member of a structure o

原创 shell if判斷常用參數

Grammar: if 條件  # 條件爲真,則條件返回0,進入then語句, 如果條件是函數,那麼函數返回0則進入then語句 then  command else   # 或者 elif 條件 command fi Fast  IF

原创 Linux 啓動詳解

機器加電啓動後,BIOS開始檢測參數,如內存的大小,日期和時間,磁盤設備以及這些磁盤設備用來引導的順序,通常情況下,BIOS都是被配置成首先檢查軟驅或者光驅(或兩者都檢查),然後再嘗試從硬盤引導。如果在這些可移動的設備中,沒有找到可引導

原创 linux 修改時間 date

修改linux的時間可以使用date指令  修改日期:  時間設定成2009年5月10日的命令如下:  #date -s 05/10/2009  修改時間:  將系統時間設定成上午10點18分0秒的命令如下。  #date -s 10

原创 shell 間接變量引用的問題

1.感嘆號的使用 aaa=123 bbb=aaa echo $bbb echo ${!bbb} 輸出結果: aaa 123 可見,感嘆號是可以引用間接變量的值 2.eval的使用 aaa=123 bbb=aaa echo $bbb

原创 Linux 啓動詳解2

機器加電啓動後,BIOS開始檢測參數,如內存的大小,日期和時間,磁盤設備以及這些磁盤設備用來引導的順序,通常情況下,BIOS都是被配置成首先檢查 軟驅或者光驅(或兩者都檢查),然後再嘗試從硬盤引導。如果在這些可移動的設 備中,沒有找到可

原创 shell基本計算、邏輯運算、位運算詳解

http://blog.pureisle.net/archives/1352.html Shell 提供大量的基本運算操作,在腳本中非常有用。Shell 對您提供的算術表達式求值,執行運算展開式,此時使用得出的結果替換表達式。以下面的

原创 sed實例收集

一、元字符集    1)^錨定行的開始 如:/^sed/匹配所有以sed開頭的行。     2)$ 錨定行的結束 如:/sed$/匹配所有以sed結尾的行。     3).    匹配一個非換行符的字符 如:/s.d/匹配s後接一個任意

原创 如何自動輸入密碼ssh連接到其他機器

想在shell腳本里ssh連接到另外一臺服務器後執行一些命令,但是不希望通過交互方式輸入登錄密碼。 主要的解決方法有三種: 1. 生成ssh公鑰,建立和對方機器的信任關係; 2. 使用expect腳本; 3. 使用sshpass

原创 git 詳細教程,從頭開始,看簡單英文比中文好懂

Get started Setting up your username and email GIT records your name and email address with every commit you m