發表文章

目前顯示的是有「linux」標籤的文章

Remove old ubuntu linux kernel

為了節省 SSD 的硬碟空間,撙節措施是有必要的。 所以把舊的 kernel 清出來,也是可以省下不少空間的。 步驟如下 1. 列出現在有的 kernel: dpkg --list|grep linux-image 2. 然後排除現在在使用的 kernel: grep --invert $(uname -r) 3. 參考網路上的資料,說也不能把 linux-image-generic 給刪掉: grep --invert 'linux-image-generic'  (ps. 筆者不小心刪掉了,但是還是可以開機,不過為了安全還是寧可信其有。) 4. 總結上面的指令,取出 kernel 的名稱: awk -F ' ' '{print $2}' 5. 依上面的名單,逐個 purge 或是 remove: sudo apt-get purge linux-image-4.4.0-36-generic 6. 再乾淨一點,多執行 auto remove: sudo apt-get autoremove 7. 更新開機選單: sudo update-grub2 總結如下

linux useful command

useful command:     help, info , man: help document     touch: create file     updatedb: 更新系統資料庫     vimdiff: vim difference     which,type,whereis,locate,find: command related     who,whoami:     uptime:     nl: 逐行編號     grep: 找出特定文字     sort: 逐行排序     uniq: 排除相同資料     tr: 取代或刪除特定字元     col: 將 tab 跟 空白 互相轉換     join: 兩個文件依鍵值 concate     paste: 雷同 join. 但是不比對數據,單純將多個文件合併     df: disk free     du:     dd: dd if=/dev/zero of=virtual.img bs=1024 count=1024         cat fileA | dd conv=ucase > fileB ←將 fileA 內小寫改大寫存入 fileB         dd if=/dev/sr0 of=CD1.iso bs=2048←將光碟轉 iso 映像檔(光碟內要放光碟片才可轉換)         http://wanggen.m...

Use PTT to track your friends' sleeping habits

00:02:08 不在站上 最近無新信件 23:18:21 123.195.xx.xx 08:26:11 閱讀文章 最近無新信件 08:22:36 111.70 .xx.xx 09:00:14 閱讀文章 最近無新信件 08:54:48 111.70 .xx.xx 10:36:14 不在站上 最近無新信件 08:54:48 111.70 .xx.xx 14:04:11 閱讀文章 最近無新信件 13:58:08 140.136 .xx.xx 14:47:15 閱讀文章 最近無新信件 14:44:02 140.136 .xx.xx 15:31:08 不在站上 最近無新信件 14:44:02 140.136 .xx.xx   (隱藏部份資訊) 上面的資訊是之前用 expect 為主體完成的練習題,自動登入 ptt、查詢某位網友的動態、上線時間、ip等資料,再進行資料整理的結果。 利用這些資料,進一步想知道這 ip 的來源,ip 是誰發放的,如果是學術網路的話,又是那一所學校呢? 要完成上述的事項,需要幾個功能。 1. 查詢 ip 發放單位 2. 學術網路各學校的ip分配 指令如下 catptt 1|awk -F ' ' '{print $5}'|sort|uniq|while read x; do  echo $x; whois $x; done  whois 是自己寫的一個功能,可以查到發放單位及是學術網路的哪個學校的ip catptt 也是自己寫的,用來顯示每天所收集的資料, 後面參數 1 指的是昨天的資料 以下是 linux 指令 awk: 用來切字串的工具 (好用、推) (awk -F ' ' '{print $5}' 意思是用空白當切割符號,並印出第五個元素) sort: 排序資料行 uniq:利用排序過的資料,將重複的資料去除 while read x; do echo $x;whois $x; done 針對每一資料行,顯示 ip 並做 whois 查詢 結果如下 111.70.xx.xx 中華電信股份有限公司 1.168.xx.xx 中華電信股份有限公司 123.195.xx.xx 凱擘股份有限公司 140.136.x...

sqlplus 中文亂碼解決方案

原因就不多說了, 總之是資料庫編碼與console viewer編碼不一致, 導致看到的中文變亂碼. 資料庫環境是 ZHT16MSWIN950, 所以設定 NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950 ----------------------------------------------------  首先 查詢資料庫 NLS 參數 SQL> select * from v$nls_parameters where parameter in ('NLS_LANGUAGE','NLS_TERRITORY','NLS_CHARACTERSET'); PARAMETER                      VALUE ----------------------------------------------------- NLS_LANGUAGE                  AMERICAN NLS_TERRITORY                 AMERICA NLS_CHARACTERSET        ZHT16MSWIN950  回到 linux export NLS_LANG=AMERICAN_AMERICA.ZHT16MSWIN950 終端機->設定字元編碼->BIG5    

非同步、交互式程式編寫工具 (sikuli、expect)

非同步、交互式程式編寫工具 (sikuli、expect) 先前發布的 相見恨晚自動化測試工具 sikuli ,可以用圖案去編寫程式流程,適用於自動化測試、一鍵執行程式及指令。 用 sikuli 編寫程式是很特別的體驗,概念上來說在程式流程裡,因為無法預期下一個作業或圖案的出現時間,常會有 wait 的情形, 這樣非同步的訊息傳遞、接收、執行,在這工具上變得很自然。 這次在 unix 系統上透過 expect 自動連上 bbs,透過 expect 自動收集想要的資料,並經由 log file 取回資料,再做進一步的資料整理。 expect 讓我有一種既視感,啊~就是 sikuli 呀! 寫程式流程時的體驗相近,sikuli 流程控制時,當發現某個圖形就去點擊另一個圖形。 expect 流程控制時,當發現某段文字就輸入你要的文字。 wait then action,又是個不可多得的好工具。 expect 是用 Tcl 語法 (筆者也是第一次看到 Tcl),expect 相關資料很少,不過還是有找到比較完整的語法書。 Welcome to the Tclers Wiki!   這次以 expect 為主體完成的練習題,自動登入 ptt、查詢某位網友的動態、上線時間、ip等資料,再進行資料整理。 條列中間遇到的一些問題 1. 編碼問題: ptt 是 BIG5 編碼,ubuntu shell 預設是 UTF-8 編碼,所以會出現有亂碼的問題。 解決方法是透過 iconv -f UTF-8 -t BIG5 file_name -o output_file_name  (將 UTF-8 轉成 BIG5) 如果遇到錯誤訊息, iconv: 位置 xxxx 有不合法的輸入序列,可能是語系的問題,locale LANG 設成 BIG5 就可以了。 範例: [osboxes@osboxes log]$ locale LANG=zh_TW.UTF-8 LANGUAGE=zh_TW:en_GB:en LC_CTYPE="zh_TW.UTF-8" LC_NUMERIC=zh_TW.UTF-8 LC_TIME=zh_TW.UTF-8 LC_COLLATE="zh_TW.UTF-8" LC...

'apt-get dist-upgrade' get error message 'Job for docker.service failed because the control process exited with error code.' after upgrade ubuntu kernel

referenece: [graphdriver] prior storage driver "aufs" failed: invalid argument 精簡版 1. aufs is no longer supported on Ubuntu kernel 4.* 2. trick is 'rm -rf /var/lib/docker/aufs' 3. sudo service docker start 完整操作過程