Monday, January 26, 2009

Linux 指令備忘

用來紀錄一些指令的應用,有需要就更新。
====================
指令:date 一般應用:檔名的變數
date '+%Y%m%d-%H%M%S'
結果 ==> 20060203-123740 年月日-時分秒(用大寫的H是為了取得兩位數,方便用在檔名上)

====================
指令:find
find . -name '字串'(找出字串相同的檔名)
find . -type d(找出目錄) -type f(找出檔案)
find . -name 'tmp*' -exec cat {} ;(找出目錄下以tmp開頭的檔案並且 "一個一個" cat 出內容。*請注意是一個一個,所以-exec這種傳遞方式,並不適合用tar這個命令來做備份)
find /etc/mail/ -name 'sendmail.*' | xargs tar zcf sendmail.tgz(備份/etc/mail/目錄下以sendmail.開頭的所有檔案)
====================
指令:ls
ls -Al "/etc/" | grep ^d | awk 'BEGIN {FS=" "} {print $9}' > /tmp/list.txt
(將 /etc/ 這個目錄底下的所有目錄名稱,放到/tmp/list.txt這個檔案下。)(看似這個命令沒有多大的意義,實際上可以配合Script做備份用的檔名,變成 /etc/目錄下,每一個目錄都備份成一個檔案。)
Script ==> backup.sh
#!/bin/bash
for i in `cat /tmp/list.txt`; do
tar zcf /backup/etc_$i.tgz /etc/$i
done
====================
2006/02/06新增
====================
指令:col
取消多餘的空格(檢查開頭是否有空白,最後是否有多餘的空白使用)
Ex : cat mrtg.cfg | col > mrtg.cfg.new
col -x 可以將 [tab] 取代對等的空白鍵。
col -b 不輸出任何退格符號,可以用在列印 manpage
Ex : man | col -b | lpr
====================
指令:unix2dos
# unix2dos filename.txt
因為Windows跟Linux的換行指令不相同,我們可以用這個命令來作處理。
====================
2006/02/07新增
====================
Big5 跟 UTF-8 之間的轉換
檔名的轉換:Big5 ==> UTF-8
convmv -f big5-eten -t utf8 -r /home/mason/public_html
convmv -f big5-eten -t utf8 -r --notest /home/mason/public_html
第一行是把轉換的資料列出來觀看,如果確定要轉換的話,就要用第二行命令。
檔案內容的轉換:Big5 ==> UTF-8
iconv -f big5 -t utf8 test.txt > newTest.txt
UTF-8 ==> Big5
iconv -f utf8 -t big5 test.txt > newTest.txt
====================

No comments: