備查用..
以後要認真看~~
sed 快速參考
http://sed.sourceforge.net/sed1line.txt (英文)
http://sed.sourceforge.net/sed1line_zh-CN.html (中文)
perl 參考
http://www.ibm.com/developerworks/linux/library/l-p102/index.html
備查用..
以後要認真看~~
sed 快速參考
http://sed.sourceforge.net/sed1line.txt (英文)
http://sed.sourceforge.net/sed1line_zh-CN.html (中文)
perl 參考
http://www.ibm.com/developerworks/linux/library/l-p102/index.html
標題有些繞舌...不過不影響我們的主題需求...
Linux上有個好用的指令叫做watch,
能夠持續的監控指令的輸出狀態,讓系統管理員能夠隨時嘗握狀況。
比方說我們想要監控 netstat -ant 的輸出狀況,隨時觀查連線狀態的變化。
則可以使用
# watch -d -n 1 ‘netstat –ant'
-n 表示每一秒更新一次輸出。
-d 表示將有變更的部份以高亮標示(Highlight)
輸出如下圖
可惜...在IBM AIX上沒有這個好東西...( AIX上的watch指令是別的奇怪用途..)
不過別擔心! 因為這種問題在網路上早就一堆解答了...
這篇只是把他們整理一下,方便日後查找而已 ;-)
其實也不難! 就是寫個迴圈來一直進行~
root@aix # cat watch.sh
#!/bin/ksh
#
# $1 = 監控的間隔時間,以秒為單位.
# $2 = 請將所有要輸入的指令以雙引號(")或單引號(')包起來.
#
# Exit the watch.sh use Ctrl + C
#
while true
do
clear
echo "Interval $1 sec, Command: $2"
eval $2
sleep $1
done
root@aix # #以下比方說要執行監控ls -l /home/user | grep .profile,每秒更新一次.
root@aix #
root@aix # ./watch.sh 1 "ls -l /home/user | egrep '.profile'"
參考資料如下:
Monitoring logs and command output
工作中常常會需要將設定檔或script內的很多字替換掉,
當然這本身是一個很簡單的事情。
比方檔案內容如下:
[xxooxp@blogsopt ~]# cat xyz.txt
/uuu/abc
/uuu/abc
/uuu/abc
/uuu/abc
而我們想將 uuu 置換為 xyz 可透過簡單的幾個方法達成。
使用 vi 置換,
[xxooxp@blogsopt ~]# vi xyz.txt
/uuu/abc
/uuu/abc
/uuu/abc
/uuu/abc
~
~
:1,$s:/uuu/:/xyz/:g
使用 sed 置換
[xxooxp@blogsopt ~]# sed –i ‘s:/uuu/:/xyz/:g’ xyz.txt
有時我們的程式會使用Unix timestamp來做為時間表示的方法,
Unix timestamp 也有人稱為 Unix time、POSIX time,
但不是每個人都能很快速的算出從GMT (格林威治) 1970年1月1日00時00分00秒 至今的秒數(應該沒人不同意吧?)。
為此在使用 Linux / Unix 的時候,就會想要快速的知道怎麼計算?
這邊有從網路上蒐集而來的方法,就來看看吧。
| # 轉換 Unix timestamp 為本地時間 (依系統時區)。 |
| [xxooxp@blogspot / ]# perl -le 'print scalar(localtime(1287234368))' |
| Sat Oct 16 21:06:08 2010 |
| # 轉換 Unix timestamp 為 GMT 時間。 |
| [xxooxp@blogspot / ]# perl -le 'print scalar(gmtime(1287234368))' |
| Sat Oct 16 13:06:08 2010 |
| # 按照本地時間 (依系統時區),計算出 Unix timestamp。 |
| [xxooxp@blogspot / ]# perl -le 'print time()' |
| 1287234778 |
| # 在 Linux 系統轉換 Unix timestamp 為本地時間更方便。 |
| [xxooxp@blogspot / ]# date –d @1287234778 |
| Sat Oct 16 21:12:58 CST 2010 |
參考資料:
Epoch & Unix Timestamp Conversion Tools
[xxooxp@blogspot / ]# info date
tar 可以透過 pipe line 做一些特別的備份方式。
像是使用
[root@/tmp]# tar -cvf - /etc | tar -xvf -
這邊以|(pipe line)為分隔說明兩部份,
前半部的參數是
| c | 建立被 tar 的資料。 |
| v | verbose 的意思,就是會顯示 tar 了什麼。 |
| f | 這個參數後要接 tar 完後的檔名,比方說 tar –cvf backup.tar 要tar的來源 |
| - | 這符號是表示標準輸入或標準輸出,要看使用的位置,這邊的例子是標準輸出。 |
因此前半部就是叫 tar 指令將 /etc 內的所有資料,tar 到 – (標準輸出)內。
後半部的參數是
| x | 解開被 tar 的資料。 |
| v | verbose 的意思,就是會顯示 tar 了什麼。 |
| f | 這個參數後要接 tar 完後的檔名,比方說 tar –xvf backup.tar 解tar的目地 |
| - | 這符號是表示標準輸入或標準輸出,要看使用的位置,這邊的例子是標準輸入。 |
所以後半部就是讓 tar 指令將 – (標準輸入,將前半部的標準輸入拿來用),
內的資料解 tar 到目前所在的目錄(因為我們沒在最後”解tar的目的”中輸入參數)。
或者是
# (cd source-Folder ;tar -cf - .)|(cd target-Folder ; tar -xfBp –)