Linux console 最熱門的應用程式排行榜. 取自 Top 10 Linux console applications
作者: Tsung
Ruby on Rails將程式設計化繁為簡
unzip 解壓多個檔案
unzip 一直以來都只有在解壓單獨檔案, 遇到 bug 才發現, 解壓多檔的語法是不同的.
- 這樣只會解壓第一個match 的 file:
unzip -j -o *.zip - 這樣子才能解壓多個檔案:
unzip -j -o\*.zip
GPG Error for apt-get
apt-get 發生 GPG Error 的處理方式.
錯誤訊息
W: GPG error: ftp://www.hk.debian.org unstable Release:
The following signatures couldn't be verified
because the public key is not available:
NO_PUBKEY F1D53D8C4F368D5D NO_PUBKEY 010908312D230C5F
W: You may want to run apt-get update to correct these problems
解決方法:
$ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F1D53D8C4F368D5D $ gpg --armor --export F1D53D8C4F368D5D | apt-key add - $ gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 010908312D230C5F $ gpg --armor --export 010908312D230C5F | apt-key add - $ apt-get update
感謝 Range 大師告知, 下述兩個步驟即可解決此問題 🙂
$wget http://ftp-master.debian.org/ziyi_key_2006.asc $apt-key add ziyi_key_2006.asc
PHP 截字、斷字專用 function
在寫網頁的時後常會遇到 80 個字要截字, 然後超過 80 字加 "...", 未滿 80 字不加.. 等等之類的問題.
之前用 substr 的寫法如下:
$string = strip_tags($string); // 先清掉 html tag, 以免 html tag 被破壞 $string = mb_substr($string, 0, 80, 'UTF-8'); $string .= (mb_strlen($string, 'UTF-8') > 80) ? '...' : '';
PHP 有支援很方便的 function 可以直接達到此功能.
$string = strip_tags($string); $string = mb_strimwidth($string, 0, 80, '...', 'UTF-8');
在 UTF-8 的環境算字數用 strlen 或 mb_strlen 都不是很準, 所以可以用另一個做法, 算字的寬度, 也是個不錯的做法
echo mb_strwidth($string, 'UTF-8'); // 算字寬度
Perl 文字 / 字串 取代(Regex)
感謝 洪朝貴 老師 寫的 Regular Expression.
老師的教導, 而學生當時沒有好好學習.. 需要用到時才偷偷的溜回去看老師的網頁..
真是慚愧... 慚愧之餘.... 還是趕快把語法記下來.. :p
-
取代法1:
perl -pe 's/<?/<?php/g' 檔名 -
取代法2:
perl -pe 's/<?/<?php/g' action.php > action-new.php -
取代法3:
perl -i -pe 's/<?/<?php/g' `find . -iname '*htm*'`
取代法3 後面的 find.. 可以改用其它你想改的檔名(ex: 改成 *.php), 以上三個範例都是要將 <? 改成 <?php 的做法..
取代法3 能將所有目錄中.你想取代的檔案都取代到(靠自己多嘗試學習吧!!)
此命令是要將 InnoDB 取代成 MyISM 並將原始檔案備份成 filename.sql.bak
perl -i.bak -pe 's#InnoDB#MyISAM#g' filename.sql
結婚 2006年1月21日
結婚果然會忙到不可開交, 來簡單記錄一下經過,
- 1/20 Pm 11:00 開車高雄, 到彰化把老婆放下, 再開到高雄時是 Am 5:30
- 1/21 Am 5:30 緊接著去天公廟拜拜, 兩個小時(依習俗拜, 再燒金紙)
- 1/21 Am 7:30 回到家整理要迎娶的東西, 8:30 出發
- 1/21 Am 11:30 到彰化迎娶, 再接著一堆儀式、吃飯.
- 1/21 Pm 1:30 從彰化迎娶完成, 出發回高雄(趕著 3:30 要回到家)
- 1/21 Pm 3:25 差 5分鐘就來不及了, 幸好來的及到.
- 1/21 Pm 5:45 到漢王準備
- 1/21 Pm 10:00 回家休息
- 1/22 Am 2:00 東西整理好準備睡覺
- 1/22 Am 9:00 起床準備回台北補請需要的東西, 10:30出發
- 1/22 Am 12:30 到彰化, 回門儀式(就是要吃個飯)
- 1/22 Pm 1:30 從彰化出發
- 1/22 Pm 5:15 在重慶北路交流道下去, 另外找人先載老婆去化妝
- 1/22 Pm 5:30 到台北汐止家(塞車 :~), 趕緊搬喜餅和酒
- 1/22 Pm 6:15 還是拼到古亭澎園請客(新娘 6:30 才化好妝到場)
- 1/22 Pm 10:30 回到家裡準備度過辛苦的兩天
然後從結婚忙完, 1/23請一天假, 去桃園一堆地方跑一天, 把銀行該處理的事情都解決, 1/24 就繼續回公司趕案子, 今天總算有點時間抽出時間來為此行程做個記錄, 其它等過完年再說吧~
受保護的內容: 訂婚 2006年1月10日
拿 RAM 當硬碟來用(RAM Disk)
臨時想要做個 RAM Disk, 就去翻以前寫的文章, 發現以前的 Blog 寫的真的是很亂, 還是重新整理一下好了.
-
- 目前的作法如下:
- 首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
- mkdir /dev/shm/tmp
- chmod 1777 /dev/shm/tmp
- mount --bind /dev/shm/tmp /tmp
-
- 方法2:
- mkdir /mnt/ramfs
- vi /etc/fstab
- none /mnt/ramfs tmpfs defaults 0 0
- mount /mnt/ramfs
- 這樣就可以用這個 ramfs 來放一些有的沒有的, 可 man mount, man fstab
-
- 方法3:
- mount -t tmpfs -o size=200m none /mnt/tmpfs
- 200m 是 200Mb 的意思, 詳情請看 man mount 裡的 tmpfs
-
- 方法4:
- 設定 /etc/default/tmpfs default shm 大小(系統會自動用此值去當硬碟)
- 設定 /etc/fstab: tmpfs /tmp tmpfs size=100m,mode=1777 0 0 設讓 RAM 掛 100Mb 在 /tmp
- 方法5:(我目前都用此方法)
- 直接設定 vim /etc/fstab 寫入下面那行
- tmpfs /tmp tmpfs size=100m,mode=1777 0 0
- # 設讓 RAM 掛 100Mb 在 /tmp
- 註:2022年 Ubuntu 預設這種設定會 mount 在 root 下,可以增加 UID來解決視窗都會跳出警告訊息的狀況
- tmpfs /tmp tmpfs size=100m,mode=1777,uid=1000 0 0
- 其它方法: 可參見下面連結, "有趣的 tmpfs" 中, 有提供很多更好用的方法
參考文件:
停止crontab的寄信通知
Crontab 在執行時, 只要營幕有任何標準輸出, 就會轉成信件寄出通知,初期要 Debug用時還不錯, 但是久了後就很煩, 就想把他丟到 /dev/null 或 改寄到其它地方去, 但是 /dev/null 丟了好多次都沒有用, 才發現到原來是少了 2>&1, 完整命令如下:
於設定時將標準輸出導到 /dev/null
0 * * * * script_name > /dev/null 2>&1
將信件改寄到其它地方, MATILTO="", (不過 "" 的話, 我不知道會寄到哪邊去)
於 Script 最前面加上 MAILTO=""
