Linux console 最熱門的應用程式

Linux console 最熱門的應用程式排行榜. 取自 Top 10 Linux console applications

  1. Screen
  2. Pine
  3. Lynx
  4. Zed
  5. Oleo
  6. TPP(Text PowerPoint)
  7. MySQL
  8. Midnight Commander
  9. ZGV
  10. Nethack

閱讀全文〈Linux console 最熱門的應用程式〉

GPG Error for apt-get

apt-get 發生 GPG Error 的處理方式.

轉載自: GPG error: for apt-get

錯誤訊息

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

閱讀全文〈GPG Error for apt-get〉

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'); // 算字寬度

閱讀全文〈PHP 截字、斷字專用 function〉

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月21日〉

拿 RAM 當硬碟來用(RAM Disk)

臨時想要做個 RAM Disk, 就去翻以前寫的文章, 發現以前的 Blog 寫的真的是很亂, 還是重新整理一下好了.

    1. 目前的作法如下:
  • 首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
  • mkdir /dev/shm/tmp
  • chmod 1777 /dev/shm/tmp
  • mount --bind /dev/shm/tmp /tmp
    1. 方法2:
  • mkdir /mnt/ramfs
  • vi /etc/fstab
  • none /mnt/ramfs tmpfs defaults 0 0
  • mount /mnt/ramfs
  • 這樣就可以用這個 ramfs 來放一些有的沒有的, 可 man mount, man fstab
    1. 方法3:
  • mount -t tmpfs -o size=200m none /mnt/tmpfs
  • 200m 是 200Mb 的意思, 詳情請看 man mount 裡的 tmpfs
    1. 方法4:
  • 設定 /etc/default/tmpfs default shm 大小(系統會自動用此值去當硬碟)
  • 設定 /etc/fstab: tmpfs /tmp tmpfs size=100m,mode=1777 0 0 設讓 RAM 掛 100Mb 在 /tmp
  1. 方法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
  2. 其它方法: 可參見下面連結, "有趣的 tmpfs" 中, 有提供很多更好用的方法

參考文件:

閱讀全文〈拿 RAM 當硬碟來用(RAM Disk)〉

停止crontab的寄信通知

Crontab 在執行時, 只要營幕有任何標準輸出, 就會轉成信件寄出通知,初期要 Debug用時還不錯, 但是久了後就很煩, 就想把他丟到 /dev/null 或 改寄到其它地方去, 但是 /dev/null 丟了好多次都沒有用, 才發現到原來是少了 2>&1, 完整命令如下:

於設定時將標準輸出導到 /dev/null

0 * * * * script_name > /dev/null 2>&1

將信件改寄到其它地方, MATILTO="", (不過 "" 的話, 我不知道會寄到哪邊去)

於 Script 最前面加上 MAILTO=""

閱讀全文〈停止crontab的寄信通知〉