Linux指令Screen指令 – 避免執行中的程式因為關閉console而終止

Linux指令Screen Cheat sheet

有時候一個程序可能會運行很久或者是你想把某個程式一直運行,就會把程式開在某個console讓他一直跑,可是開在實體的console上如果沒有鎖定的話,會有安全上的問題(可以摸到這個電腦的人,就可以直接操作了),又或者是用SSH遠端連線的時候,一斷開連線程式就終止了,此時也許可以用nohup指令,或在程序執行的時候就使用背景執行,不過用nohup預設會把程式產出的訊息寫在nohup.out時間一久,檔案不斷增長也不是個辦法,另外一點這跟跟背景執行有一樣的缺點,就是如果想要直接回去原本的console變得不可行。

Linux的screen指令就是一個管理工作console的程式,在screen程式中一個console稱為一個window,我們可以利用screen開啟多個window。

以下是screen的常用指令:

在還沒進入screen的時候,輸入screen就會讓screen 開啟一個新的window,也就是一個新的console。

screen -list
screen -ls

列出目前所有的screen

screen -r [id]
重新連接某個id的screen,如果不設定id的話,會連接上一次detached的screen (id 可以用 screen -list看到)

screen -R
重新連接上一個screen,如果沒有上一個screen就建立新的

在screen中有下列的動作

要跳出、或登出screen

Ctrl+a d
Ctrl+a Ctrl+d

Detach screen 跳出screen,但screen仍在運行

Ctrl+a C
Clear清空screen上的資訊

Ctrl+a D D
Detach & Logout 跳出並登出screen,screen中運行的程式會被終止

其實在screen中可以開啟多個window
Ctrl+a w
列出目前的window

Ctrl+a c
Create 開啟新的 window

Ctrl+a n
Next 下一個 window

Ctrl+a p
Previous 前一個 window

Ctrl+a Ctrl+a
兩個window相互切換

Ctrl+a #
#是0?9的數字,切換到該編號的 window

完整操作請參考screen的man page:http://www.manpagez.com/man/1/screen/

MySql 資料表、資料庫名稱區分大小寫的設定

MySql 資料表(table)、資料庫名稱(database names)區分大小寫(Case Sensitive)

參考文件: http://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html

幫客戶轉移系統到Linux卻發現Linux上的Mysql有區分table及DB name的大小寫的問題,導致原本寫的query不相容。google後發現這和mysql的設定有關係,導致mysql是區分大小寫的。

需要配合 lower_case_table_names 這個參數來調整,這個是mysqld的啟動參數,所以可以寫在 my.ini 或 my.cnf 中。
參數簡略說明

以下是針對這個參數的小翻譯(詳情請看官方文件)
lower_case_table_names = 0 (Windows預設)
資料表(table)及資料庫名稱(database names)一律用小寫存在磁碟中。比較(查詢)時是區分大小寫(case sensitive)。

lower_case_table_names = 1
資料表(table)及資料庫名稱(database names)一律用小寫存在磁碟中。比較時是不區分大小寫(case insensitive)。MySql轉換所有的資料表(table)、資料庫名稱(database names)、table aliases(這個我不知道怎麼翻譯比較好)名稱為小寫來存取。
註:所以實體檔案的名稱必須全為小寫,否則會存取不到。

lower_case_table_names = 2 (Mac OS X預設)
資料表(table)、資料庫名稱(database names)儲存時磁碟的檔案區分大小寫。但查詢比較時MySQL將查詢轉換成小寫,不是區分大小寫。但這個設定僅適用於不區分大小寫的檔案系統。

所以如果要將Case sensitive的資料庫改成case insenstive,必須把lower_case_table_names = 1 或 2 。但2只使用於Mac OS X、Windows之類不區分大小寫的系統,所以必須設定為1,但設定為1時,實體儲存資料的檔名就必須全是小寫,否則會存取不到,但這個系統在production中,所以我不敢貿然去改data中的檔案(萬一改壞了,我也死定了),所以這個方案是不是可行可能還要實驗一下。

謝謝觀賞

Ps. 因為還沒有研究得很深,所以本文中應該有些謬誤,所以如果有錯麻煩還請指正嚕。

2009花東縱谷疾行之旅 Day1

因為flickr的pro帳戶快要期滿了,所以趕快來趕一下進度…(不趕進度的話…要再讀出照片,就要在繳錢了)…如果你願意的話可以送flickr的pro帳戶給我 (請捐給gwokae…感恩)

本來計劃的花東縱谷之旅本來「應該」是在下面這種秋高氣爽、舒適的天氣下成行的…

IMG_5971

首先感謝一手籌劃的蟲師大人…被我胡亂慫恿之下買了O’rip工作室所編著的通往花蓮的祕境一書也間接的促成了這次花蓮之行,這次的行程中有很多的部分是參通往花蓮的祕境這本書而來,所以有興趣的人可以至各大書店購買這本書。


IMG_5471
真人不露像的蟲師大人

Continue reading “2009花東縱谷疾行之旅 Day1”