Tag: Linux

Linux 的搜尋技巧

在檔案內搜尋指定文字,search_key 是搜尋字串,/path/to/filename 是檔案名稱: grep search_key /path/to/filename 功能同上,但不分大小寫: grep -i search_key /path/to/filename 搜尋檔案:在指定目錄中搜尋檔案,以下是在 /var/www/ 目錄下搜尋 upload.php 的檔案: find /var/www/ -name upload.php 功能同上,但目標不是檔案,而是目錄: find /var/www/ -name uploads -type d 還有更多有用的功能,以上只列出較常用的用法。

Sed 做 Search & replace

在本站另一篇文章介紹了用 Perl 來做 search and replace,而用 sed 也可以做到相同效果,語法為: sed -i ‘s/src_str/new_str/g’ filename 以上指令會將 filename 檔案內的 src_str 替換成 new_str。

Unix Crontab

Crontab 是在 Unix Like 系統下設定排程自動執行的工具,最常用到的地方是備份。而 crontab 有 4 個不同的參數,作用分別是: crontab -e 編輯 crontab 檔案,如果檔案不存在則會自動建立。 crontab -l 顯示 crontab 檔案內容。 crontab -r 刪除 crontab 檔案。 crontab -v 顯示上一次編輯 crontab 的時間,但不是所有系統適用。 …

字串處理工具: Awk

AWK 的名字由來是三位作者的姓氏 — “Aho, Weinberger 及 Kernighan”, AWK 是一種專門處理文字的直譯語言。AWK 會把檔案逐行讀入, 並預設以空格作為分隔符號, 將一行字串分割成不同欄位, 第一個欄位用 $1 表示, 第二個用 $2, 如此類推, 而 $0 則表示整行資料, 這樣可以更好的分析處理。 除了對檔案進行分析外, 跟其他 Linux 工具一樣, awk 同樣可以讀取管線輸入。 不論在指令模式或者撰寫 …

Perl 實現 Search & replace

一些用靜態 HTML 編寫的網站,如果要將每一頁的特定文字更新 (例如 copyright),要逐頁逐頁更改真的十分麻煩。這個問題有幾個解決方法,其中一個是在指令模式用 perl 來做替換,例如: 以上指令會將目錄下所有 .html 尾的檔案更新,用 “new_str” 替換 “src_str”。

Linux 下編譯 Apache 的 mod_rewrite

要為 Apache 加載 mod_rewrite 模組,如果 Apache 並未安裝,可以在編譯時加上 –enable-rewrite 便可以,但如果 Apache 已經安裝好,而又不想重新編譯 Apache 的話,可以用以下方法: 1. 首先 cd 到 Apache 的源代碼目錄並到 mod_rewrite.c 檔案, 1. 在apache的源码安装目录中寻找mod_rewrite.c文件 2. 進入 mod_rewrite.c 的目錄並用 apxs 編譯 …

Linux 下找出體積最大的檔案/目錄

當發現系統硬碟空間突然上升時,想知道那個檔案或目錄佔用最多空間,可以用 du + sort + head 指令完成,它們的作用分別為: du: 計算目錄所使用的空間 sort: 將輸入的資料排序 head: 將輸入資料的最開頭幾行資料輸出 假如發現 /home 裡面的空間使用異常時,可以用以下指令查看 /home 裡面頭 10 個使用最多硬碟空間的檔案或目錄: # du -a /home | sort -n -r | …

Redhat / Centos 安裝 DNS 伺服器

安裝環境 Centos 5.7 1. 安裝 DNS 所需套件: 只要用 yum 指令便可以一次過想所需的套件安裝。 在預設的情況下 Centos 不會建立 named.conf,要用以下方法建立: 2. 更新 root.zone 到 ftp://rs.internic.net/domain/root.zone 下載最新的 root.zone 資料檔,然後放到 /var/named/var/named/ 裡面。 然後就可以用 /etc/rc.d/init.d/named start 啟動 DNS …

透過 shell script 發送 email

如果想用 shell script 發送郵件,可以用 mail 實現: # echo “email content” | mail -s “email subject” you@emaildomain 以上語句會發送一封標題為 “email subject” 的電郵到 you@emaildomain,其中 “email content” 為電郵內容。 以下簡單的兩行 shell script 便會將檔案系統使用量,透過電郵發送給指定的電郵信箱: #!/bin/sh …