2014IT鐵人賽-08-基礎指令練習-grep過濾以及history
今天一樣使用 EasyCloud 雲端簡單龍的帳戶, 那就登入 https://gemini.nchc.org.tw/ 來開始練習openSUSE 基礎指令吧.
今天練習使用grep 指令來過濾我們要的字元以及使用 history 來觀察指令歷程
筆記部份:
上一個練習我們可以找出我們要的檔案名稱或是大小
但是如果我們想要找檔案內容包含哪些字串該如何? 這個時候我們就可以透過 grep 來過濾出我們所要的檔案. 在實務上我們可以利用 grep 來簡化設定檔的顯示, 不顯示註解以及空白行, 這樣在網路上請教問題的時候, 其他人也比較好判斷.
grep 過濾檔案的內容
-i 忽略大小寫
-w 符合整個字串
-v 符合就不要
接下來我們會開始談到 shell, 首先先介紹 shell 有分兩種以及會讀入的設定檔
Login shell 需要登入才能取得的shell
/etc/profile
/etc/bash.bashrc
Non-Login shell 需要登入才能取得的shell
/etc/bash.bashrc
我們今天要練習的是 history 指令, 可以列出指令的歷程, 有助於 trouble shotting.
history 列出指令歷程
預設 HISTSIZE=1000
存放在 ~/.bash_history
可以用 Ctrl + R 來搜尋
開始練習吧
Lab: grep, egrep
#cd /home/max/
#grep max /etc/* <找出 /etc/* 內有max字串>
#grep Max /etc/* <找出 /etc/* 內有Max字串>
#grep -i max /etc/* <找出/etc/* 有max字串不分大小寫, -i 不分大小寫>
#grep -w max /etc/* <找出 /etc/* 內有max字串, -w whole word>
#cp /etc/apache2/httpd.conf /home/max/ <複製http.conf到max家目錄>
#cat httpd.conf
#grep -v '^#' httpd.conf <請觀察內容>
#grep -v '^#' httpd.conf | grep -v '^$' <請觀察內容>
#grep -v '^#' httpd.conf | grep -v '^$' | wc -l <請觀察內容>
#wc -l httpd.conf <請觀察內容>
#egrep -v '^#|^$' httpd.conf <請觀察內容>
補充:
正規表示式: 龍門少尉的窩
http://www.rtfiber.com.tw/~changyj/
Lab: history
#cd ~ <回到家目錄>
#history <觀察指令歷程>
#history 5
#ls -a
#cat .bash_history
#id <請觀察資訊>
#whoami <請觀察資訊>
#su - max <switch user切換身份為使用者max >
>id <請觀察資訊>
>whoami <請觀察資訊>
>exit <登出>
Fun with Day 8 ~