夕口技術錄
專業上的小常識,備而用之~
[Linux][find] – 用法
2011/03/07
Posted by 於 ●找 /根目錄下的某 檔名
# find / -name ooxx
●找出檔案大於 1G 的檔案後,交由 rm -rf 處理後結束
# find / -size +1000M -exec rm -rf {} \;
-exec:-exec 一直到 \; 是關鍵字,代表 find 額外動作的開始 (-exec) 到結束 (\;) ,例上 rm -rf 就是額外動作
; :在 bash 環境下是有特殊意義的,因此利用反斜線來跳脫 \;。
{}:『由 find 找到的內容』,結果會被放置到 {} 位置中
●搜尋 /home 底下屬於 vbird 的檔案
# find /home -user siko
●搜尋系統中不屬於任何人的檔案
# find / -nouser
●找出 /var 目錄下,檔案類型為 Socket 的檔名有哪些?
# find /var -type s
搜尋檔案的類型為 TYPE 的,
類型主要有:一般正規檔案 (f), 裝置檔案 (b, c), 目錄 (d), 連結檔 (l), socket (s), FIFO (p) 等屬性。
[Ajax] – 實作範例
2010/11/30
Posted by 於 <head>
<script language="JavaScript" src="js/ajax_fun.js"></script>
<script language=’javascript’>function search_ipowner(search_id)
{
http_request = getXHR();
http_request.open(‘GET’,’./?action=module&fun=<!–{$status.path.fun}–>&permit=search&ip=’+document.getElementById(“ip"+search_id).value,false); <- 同步處理
http_request.send(null);
info = http_request.responseText;
xmlDoc = getXDOM(info); <- 回傳值為 xml 格式接法echo “
<data>
<name>".htmlspecialchars($record[“record"][“name"])."</name>
</data>
“;if(info!="")
{
try{
document.getElementById(“name"+search_id).value = xmlDoc.getElementsByTagName(“name")[0].childNodes[0].nodeValue;
}
catch(e)
{
document.getElementById(“ipowner_chk").innerHTML = “<br />無任何對應資料!!!";
}
}//if
else document.getElementById(“ipowner_chk").innerHTML = “<br />無任何對應資料!!!";
} // function search_ipownerfunction search_ifname(search_id,ifname_enc)
{
http_request = getXHR();
http_request.open(‘GET’,’./?action=module&fun=<!–{$status.path.fun}–>&permit=search&deviceid=’+document.getElementById(“deviceid"+search_id).value+’&sno=’+search_id+’&ifname_enc=’+ifname_enc,false);
http_request.send(null);
info = http_request.responseText; <- 回傳值為 Data 格式接法
if(info!="")
{
try{
document.getElementById(‘ifname_option’+search_id).innerHTML = info;
}
catch(e)
{
document.getElementById(“ifname_option"+search_id).innerHTML = “ 無任何對應資料!!!";
}
}
else document.getElementById(“ifname_option"+search_id).innerHTML = “ 無任何對應資料!!!";
} // function search_ifname
</head><body>
<input type="text" size="18″ name="ip<!–{$record[loop].sno}–>" id="ip<!–{$record[loop].sno}–>" value="<!–{$record[loop].ip}–>"> <input type="button" value="查詢IP保管人" onclick="javascript: search_ipowner(<!–{$record[loop].sno}–>);"><span id="ipowner_chk"></span><select name="deviceid<!–{$record[loop].sno}–>" id="deviceid<!–{$record[loop].sno}–>" onclick="javascript: search_ifname(<!–{$record[loop].sno}–>,'<!–{$record[loop].ifname_enc}–>’);">
<option value=""></option>
<!–{section name=nd loop=$rt.network_device}–>
<option value="<!–{$rt.network_device[nd].id}–>"<!–{if $rt.network_device[nd].id == $record[loop].deviceid}–> selected<!–{/if}–>><!–{$rt.network_device[nd].name}–></option>
<!–{/section}–>
</select>
<span id="ifname_option<!–{$record[loop].sno}–>"></span>
<script language=’javascript’>search_ifname(<!–{$record[loop].sno}–>,'<!–{$record[loop].ifname_enc}–>’);</script>
</body>
閱讀全文
[eregi] – 不知算不算 php 的 bug
2010/08/25
Posted by 於 以下是在 pcname scan 程式中,
使用 nmblookup 碰到中文字時,
會出現被轉為奇怪字元的情形,
本會用 eregi 去判斷是否有此情況出現,
但…卻發現會出現以下情況 ???
也不知算不算 php 的 bug …
後來使用 stripos($pcname,"….") !== false 的方式來解決
if(eregi(“….“,"ACER3703″))
echo “in1″;
else
echo “out1″;
if(eregi(“..e“,"ACER3703″))
echo “in2″;
else
echo “out2″;
if(eregi(“__.","ACER3703″))
echo “in3″;
else
echo “out3″;
if(eregi(“..M","ACER3703″))
echo “in4″;
else
echo “out4″;
result : in1 in2 out3 out4
[Linux][pid] – 用 pid 反查是誰開啟的
2010/06/10
Posted by 於 問題:大部份都是用 ps 或 pidof 去查 程式 所執行的pid為何,但如要反向查詢呢?
# ps ax | grep snort
28180 ? S 0:01 /usr/local/eqit/netsecure/bin/snortc -l /usr/local/eqit/netsecure/log
解答:
方式1 ->
# ps -p 28180
PID TTY TIME CMD
28180 ? 00:00:01 snortc
方式2->
# ps ax | grep ‘^13241’
13241 pts/3 S 0:00 /usr/local/eqit/foundation/bin/sflowtool -p 6342 -t
[dd] – 用 dd 做塞爆硬碟測試
2010/06/04
Posted by 於 測試硬碟滿載的方式,
常用一些東西來塞爆
或改用 dd 來達成
作用: 製造一個 file(filename: hugefile), 內容都塞 0, 塞到 470Mb 為止, 語法如下
dd if=/dev/zero of=/hugefile count=470M obs=4096
of: filename
count: 塞 470MB
obs: 每個 black 要 4096 bytes
dd if=/dev/zero of=/hugefile count=470m obs=4096
[Linux][zip] – 加解密 指命
2010/06/04
Posted by 於 檔案:
zip -e -p test.zip test.txt
目錄:
zip -e -r -p aaa.zip /home/aaa/*
-r 将指定的目录下的所有子目录以及文件一起处理
解密:
unzip aaa.zip
[C] – malloc 函數
2010/05/31
Posted by 於 malloc()是C語言裡宣告動態記憶體的函式.
也就是說malloc()是C語言裡像電腦要/借記憶體的函式.
此函數有一個引數, 就是告訴電腦你要/借多少個記憶體.
比如說
malloc(sizeof(char))就是告訴電腦你要/借1個byte的記憶體
malloc(sizeof(int))就是告訴電腦你要/借4個byte的記憶體
malloc(sizeof(int) * 10)就是告訴電腦你要/借4*10=40個byte的記憶體
malloc()會回傳兩種答案.
1. NULL, 這表示電腦已經沒記憶體可以借給你了.
2. 不是NULL. 這表示電腦有記憶體可以借你. 回傳的是電腦借給你的記憶體的住址.
因malloc()不知你要如何用借來的記憶體, 所以malloc()的回傳型態是void *.
一個void的指標. 所以當你呼叫malloc()時要把malloc()回傳值改為你要的型態.
例:
//用malloc()像電腦借4*20=80個記憶體. 之後把這80個記憶體改成(int *).
//所以換句話說是像電腦借一個有20個int的陣列.
int *a;
a = (int *) malloc(sizeof(int) * 20);
//用malloc()像電腦借1*11=11個記憶體. 之後把這11個記憶體改成(char *).
//所以換句話說是像電腦借一個有11個char的陣列. 有11個字元的字串
char *a;
a = (int *) malloc(sizeof(char) * 11);
[C] – malloc 函數
[Linux][SSH] – 登錄慢(卡很久)問題
2010/05/21
Posted by 於 # vi /etc/ssh/sshd_config
UseDNS no
GSSAPIAuthentication no
有時會在某主機發現 ssh 登錄系統慢
原因在於 ssh-server端設置了UseDNS yes 及 GSSAPIAuthentication yes (認證),當DNS(/etc/resolv.conf)有問題時,導致登錄過程緩慢。
[jpgraph] – 中文字型及預設路徑
2010/01/06
Posted by 於 中文字型設定位置
#vi jpg-config.inc
DEFINE(‘CHINESE_TTF_FONT’,’bkai00mp.ttf’);
預設路徑
# vi jpgraph.php
DEFINE(‘TTF_DIR’,’/usr/share/fonts/zh_TW/TrueType/’);
[Linux][pcap.h] – error: pcap.h: No such file or directory
2010/01/06
Posted by 於 在 rebuild 套件時遇到這個錯誤
error: pcap.h: No such file or directory解決方式
#yum -y install libpcap-devel //安裝 libpcap-devel 套件 (/usr/include/pcap.h)
#rpm -ql libpcap-devel //列出此套件安裝了哪些檔案
/usr/include/pcap-bpf.h
/usr/include/pcap-namedb.h
/usr/include/pcap.h
/usr/lib/libpcap.a
/usr/lib/libpcap.so
近期迴響