原创 用grep提取正則匹配上的字符串

echo "a192.67.20.1abc192.168.20.1a" | grep --color=auto -P '(\d{1,3}.){3}\

原创 linux daemon中執行system調用方法

daemo中若忽略掉了SIGCHLD信號,則在使用system函數時,需先把忽略的信號設置爲默認處理方式,然後才能調用system函數。 否則system調用得到的返回值將不是子進程的返回值。 signal(SIGCHLD, SIG_DF

原创 vim縮進與TAB設置

set ci        # 開啓cindent  set noet   # 關閉expandtab  set sw=4 # shiftwidth

原创 lsof命令使用詳解

lsof命令只能以root的權限執行 用法如下: 1. 顯示開啓文件abc.txt的進程 lsof abc.txt 2. 顯示22端口現在被什麼程序佔用 lsof -i 22 3. 顯示abc進程現在正在打開的文件 lsof -c

原创 打印函數調用棧----backtrace原理簡單實現

backtrace函數是callstack調試器的基本功能之一,利用此功能,可以看到各級函數的調用關係。在gdb中,這一功能被稱爲backtrace,輸入bt命令就可以看到當前函數的callstack。它的實現多少有些有趣,這裏研究一下。

原创 jpgraph聯合tcpdf動態生成圖文並茂的pdf文件

基礎環境:PHP5 因爲jpgraph依賴於GD庫,所以使用jpgraph之前需確認GD庫是否已經安裝。(GD庫,是php處理圖形的擴展庫,GD庫提供了一系列用來處理圖片的API,使用GD庫可以處理圖片,或者生成圖片。) 如何確認GD

原创 字符串旋轉算法 -- 求逆

#include <stdio.h> #include <stdlib.h> void reverse(char *array, int begin, int end) { char tmp; while (begin

原创 linux獲取指定接口的IP

#include <stdio.h> #include <stdlib.h> #include <stdint.h> #include <string.h> #include <unistd.h> #include <arpa/inet.

原创 內存分配鉤子__malloc_hook, __reallac_hook, __free_hook的使用

mem.h #ifndef __MEM_H__ #define __MEM_H__ #include <malloc.h> #include <stdio.h> static void *(*old_malloc_hook)(size

原创 刪除匹配關鍵字的行和後幾行

text.txt: 37. Yahoo! Messenger: Chat (12)  This scenario contains user-initiated operations of Yahoo! Messenger on a PC

原创 命令行郵件發送工具

command line email utility febooti http://www.febooti.com/

原创 用perl生成linux密碼

perl -e 'print crypt("test",q($6$hoiLHdTI)) ."\n"' 結果如下: $6$hoiLHdTI$hmqx7iThdTf3lW3oQcaGimBfx.LapJ8Q9a8rvnlw.Zg.6KTx5

原创 Bash history命名配置及使用

歷史是寶貴的財富,當然也包括編程的時候。 bash history有多種使用方式,最簡單的方式就是按上下方向鍵。按一次“上”鍵,bash列出上次運行的命令,按兩次,bash則列出再上次運行的命令;按“下”鍵正好相反,bash列出當前命

原创 字節對齊的一般算法

比如要4字節對齊的話,採用的計算方法爲: int align_base = 4; align_len = (len + (align_base - 1)) & ~align_base;

原创 64位Centos6.0上編譯32位程序

1. 查看當前系統的版本,確定當前系統是64系統 [root@zjh:~]# uname -r 2.6.32-5-amd64 2. 查詢編譯環境是否完備 確認下"Development tools", "Compatibility li