X

2004-04 到 2005-01 資料整理

此 Blog 記錄著關於 nagios, nslookup, RESIN, The RCS MINI-HOWTO,
使mysql支援事務, MySQL SQL Tips, 備份和資料庫回復,
shell 範例, Awk Tips, Sed Tips, sudo, PROCMAIL, nfs, bind.. 太多了..
還有 ssh 認證和一堆有的沒的的技術~~~
就當一本工具書來看好了.. 裡面找的到太多太多的資訊了~ 🙂


以下是節錄一些常用的東西~ (真想全部都抓來看. 不過. 要為自己的頻寬和硬碟著想)
Mysql 備份和資料庫回復
1. 先用dump檔恢復到最近一次備份。

2. 再用log恢復這次備份到崩潰前的狀態。

用途
isamchk———————》isam
myisamchk——————〉myisam
mysqlcheck —————〉myisam
檢查
/user2/leo/mysql/bin/myisamchk /user2/leo/mysql/data/mysql/user.MYI
/user2/leo/mysql/bin/myisamchk --extend-check cities.MYI
修復
/user2/leo/mysql/bin/myisamchk --recover cities.MYI
/user2/leo/mysql/bin/myisamchk --safe-recover cities.MYI
刪除一個表
drop table if exists table_name;
替換一個記錄值
replace into cities_bolean (id,page_text,time) values ('137','77','134.345');
特權
mysql> grant all privileges on . to lglmelody@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> revoke all privileges on . from lglmelody@localhost;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privilege;
ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'privilege' at line 1
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
注意:
如果給root設定了.my.cnf檔,往往使用-u user參數時出現不太合理的狀況

最後先 su — user 在進資料庫。

  1. .o 就相當於windows裏的obj文件
  2. .a 是好多個.o合在一起,用於靜態連接

3. .so 是shared object,用於動態連接的,和dll差不多

【轉貼】Bash內建指令集
文件原網址: http://www.fanqiang.com/a4/b1/20010525/201000236_b.html


http://www.openchess.org/noitatsko/programming/ (2001-05-25 20:10:00)
Bash內建指令集

以下的命令,大部份都沒有使用例,您可能會看不出所以然,摸不著頭腦。在我加入例說明前,建議您"man bash",然後自己實際操作一次。

[arguments]
不做任何事,除了[arguments]一些參數展開及一些特定重導向的作業外。

永遠返回零。它的用法跟true一樣。

. filename [arguments]
source filename [arguments]
由filename中讀取命令,並執行。
您會在/etc/rc.d/*中發現很多
. /xxxx
的指令,而xxxx的permission都不是可執行的。事實上,在tcsh中,需要用
source /xxxx
來做同樣的指令。
注意到"."的後面是有空格的(比較一下". /"跟"./",不一樣)。filename是內含指令的純文字檔即可,無須chmod 755 filename。

filename : my_source
DEV=lo
IP=127.0.0.1
NETMASK=255.0.0.0
BROADCAST=127.255.255.255
ifconfig $IP netmask $NETMASK broadcast $BROADCAST dev $DEV
接下來 . my_source
或 source my_source

便可執行該script,而不需要"chmod 755 my_source"

alias [name[=value] ...]
暱稱命令
例如您如果來自DOS的世界,對UNIX的指令不習慣,可用alias來修改,以符合您的習慣。

alias ls="ls --color"
alias dir="ls"
alias cd..="cd .."
alias copy="cp -f" # dangerous, recommend, "cp -i"
alias del="rm -f" # dangerous, recommend, "rm -i"
alias move="mv -f" # dangerous, recommend, "mv -i"
alias md="mkdir"

alias rd="rmdir"

unalias [-a] [name ...]
unalias取消alias的設定。"unalias -a"將全部alias取消。

例 unalias copy

bg [jobspec]

將指定任務放到背景中,如果jobspec未指定,內定為目前的。

fg [jobspec]

將指定任務放到前景中,如果jobsepc沒有指定,那麼內定為目前的。

jobs [-lnp] [ jobspec ... ]
第一種形式列出目前正在工作的任務。
-l : 除了列出一般資訊外,還列出Process IDs。
-p : 僅列出該工作群"首腦"(Process group leader)的Process ID.
-n : 則僅列出有改變的jobs的狀態。
如果給定jobspec,輸出資訊則只有該jobspec。
返回值為零,除非有非法的選項發生。
jobs -x command [ args ... ]

如果使用第二種形式(-x),jobs取代指定的command及args,並執行返回其Exit Status。

kill [-s sigspec | -sigspec] [pid | jobspec] ...
將sigspec的信號送到pid或jobspec。
sigspec可以是SIGKILL/KILL這種形式或是信號號碼。如果sigspec是signal name,則大小寫無關,而且可以沒有SIG。
kill -l [signum]
列出信號名稱。
[foxman@foxman bash]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL
5) SIGTRAP 6) SIGIOT 7) SIGBUS 8) SIGFPE
9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2
13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD
18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN
22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO

30) SIGPWR

wait [n]

等待指定的行程,並返回其結束狀態。n可以是個jobspec或Process ID。如果n未指定,則等待所有的子行程,及返回值為零。若n為不存在的job或process,則返回127。否則,返回值為最後一個job/process的Exit Status。

bind [-m keymap] [-lvd] [-q name]
bind [-m keymap] -f filename
bind [-m keymap] keyseq:function-name
顯示出目前readline的按鍵及鏈結函數設定或是巨集。
-m keymap : 設定keymap binding。
-l : 顯示出所有readline function的名稱。
-v : 顯示出目前的function name及bindings。
-d : 顯示出function name及bindings。
-f filename : 從filename讀取key bindings。

-q function : 詢問那個按鍵觸發function。

break [n]

跳出控制回圈for/while/until中使用。如果有指定n,則跳出n層。n必須是大於等於1。若n大於巢狀圈數,則所有的圈都會跳離。返回值回零。

continue [n]

還原控制回圈for/while/until中使用。如果有指定n,則返回n層。n必須是大於等於1。若n大於巢狀圈數,則還原到最上層。返回值回零。

exit [n]

離開程式。n是Exit Status。

return [n]

在function中使用。n為返回值,其作用與Exit Status一樣。

builtin shell-builtin [arguments]

執行內建函數。當您定義了與內建函數相同的指令時,可用此命令來執行內建函數。

cd [dir]

更換目錄到dir。如果沒有指定,內定為HOME所指定的目錄。

command [-pVv] command [arg ...]

用command指定可取消正常的shell function尋找。只有內建命令及在PATH中找得到的才會被執行。"-p"選項,搜尋命令的方式是用PATH來找。"-V"或"-v"選項,會顯示出該命令的一些簡約描述。

declare [-frxi] [name[=value]]
typeset [-frxi] [name[=value]]
宣告參數並給它們設定屬性。如果沒有給定名稱,將會顯示各參數值。
-f : 僅使用函數名稱。
-r : 將name設為readonly。
-x : 將name輸出給後續環境使用。
-i : 該參數被設為integer來使用,可用於算術表述。

用"+"時,關閉該屬性。

dirs [-l] [+/-n]
顯示目前記憶的目錄。目錄可透過pushd/popd來操作。
+n : 顯示開始的記錄n個。
-n : 顯示結尾的記錄n個。

-l : 顯示較多的資訊。

echo [-neE] [arg ...]
輸出顯示args,由空白分隔。返回值永為零。
-n : 不跳行。
-e : 啟動""符號的解譯。
-E : 將ESC解譯功能取消。
"a" : alert(bell),發出聲響。
"b" : backspace,倒退。
"c" : suppress trailing newline,不跳行。
"f" : form feed,跳行跳格。
"n" : new line,新行。
"r" : carriage return,回到行起點。
"t" : horizontal tab,水平跳位。
"v" : vertical tab,垂直跳位。
"" : 輸出""。

"nnn" : 輸出ASCII Code號碼nnn(八進位)。

enable [-n] [-all] [name ...]

啟動或關閉內建函數命令。使用"-n"將所有指定命令皆關閉,否則都是啟動的。如果只有"-n"參數,它將會顯示所有關閉的函數。如果只有"-all",它將會顯示所有內建命令。

eval [arg ...]

讀取args,並將args合為一個命令,然後執行。其返回值成為eval的返回值。如果沒有參數,eval返回True。

exec [[-] command [arguments]]

當命令執行時,該命令取代shell,沒有新的process產生。如果第一個參數是"-",shell會將"-"放入第零個參數,傳給command。

export [-nf] [name[=word]] ...
export -p

將name輸出給環境,給往後的命令使用。"-f"選項表示name是函數。"-p"顯示出所有export的名稱。"-n"移除name。

set [--abefhkmnptuvxldCHP] [-o option] [arg ...]
-a : 自動將變數標記為可讓後面環境所使用。
-b : 立即報告被終結的背景程式狀態。
-e : 當命令(simple-command,見後面)返回非零值時,立即跳出。
-f : 取消pathname expansion。
-h : 找出所記憶的函數命令位置。
-k : 所有keyword參數都放到環境中。
-m : 監督模式。
-n : 讀取命令,但不要執行。可用於語法檢查。
-p : 打開privileged模式。
-t : 當讀取一個命令並執行後,立即離開。
-u : 當參數展開時,把unset參數當成是錯誤。
-v : 列出shell input lines。
-x : 在展開每個simple-command後,bash顯示展開值在PS4上。
-l : 儲存並還原name binding在for語法中。
-d : 關閉hasing command搜尋。
-C : 跟noclobber=一樣。請見內定參數一節。
-H : 啟動! style history substitution。
-P : 在使用像cd這種指令時,不要跟隨symbolic links。
-- : "--"之後,沒有參數跟在後面。
- : 指定將所有後面的參數當成是位置參數。
-o option-name : option-name可以是以下之一
allexport : 與"-a"相同。
braceexpand : 啟動Brace Expansion。這是內定設定。
emacs : 使用emacs-style命令列編輯介面。
errexit : 與"-e"相同。
histexpand : 與"-H"相同。
ignoreeof : 效果跟IGNOREEOF=10一樣。
interactive-commands : 允許#做為解。
monitor : 與"-m"相同。
noclobber : 與"-C"相同。
noexec : 與"-n"相同。
noglob : 與"-f"相同。
nohash : 與"-d"相同。
notify : 與"-b"相同。
nounset : 與"-u"相同。
physical : 與"-P"相同。
posix : Bash行為修改為Posix 1003.2標準。
privileged : 與"-p"相同。
verbose : 與"-v"相同。
vi : 使用vi-style命令列編輯程式。

xtrace : 與"-x"相同。

unset [-fv] [name ...]

移除對映於name的參數。要注意PATH、IFS、PPID、PS1、PS2、UID、EUID不能unset。若RANDOM、SECONDS、 LINENO、HISTCMD被unset,它們會喪失原有意義,既始它們後來被重設也一樣。返回值為True,除非name是不能被unset的。

fc [-e ename] [-nlr] [first] [last]
fc -s [pat=rep] [cmd]

修正命令。

getopts optstring name [args]

解析位置參數。

hash [-r] [name]

對每個name命令的完整路徑記錄下來。"-r"選項強迫忘記所有命令位置。如果沒有給參數,則將會印出所有的資訊。返回值為True。

help [pattern]

顯示協助資訊。

history [n]
history -rwan [filename]
沒有參數時,會顯示所下命令的歷史記錄。帶有參數"n"則顯示最後n個。
其他參數如下:
-a : 新增"新歷史"到歷史檔中。
-n : 讀取尚未讀到歷史中的記錄。
-r : 讀取filename做為歷史檔,並用它為目前歷史記錄。

-w : 將現有歷史記錄寫到filename中。

let arg [arg ...]

算術表述。請參考算術表述一節。

local [name[=value] ...]

產生一個局部參數。如果用於function,則其作用圍在function內及其子函數。

logout

離開login shell。

popd [+/-n]

移除目錄堆疊。"+n"移除上面n個,"-n"移除下面n個。

pushd [dir]
pushd +/-n

將目錄新增到目錄堆疊的最上面。"+n"旋轉該堆疊,使第n個目錄變成最上面。"-n"旋轉該堆疊,使倒數第n個目錄變成最上面。

pwd

列出目前工作目錄的絕對路徑。

read [-r] [name ...]

讀進一行,然後第一個字設到第一個name,第二個設到第二個name,依此類推。如果沒有name在參數中,則read會將值設到REPLY。返回值為零,除非遇到End-Of-File。若有"-r"選項,則"n"被考慮為該行的一部份。

readonly [-f] [name ...]
readonly -p

將給定的name標記為readonly。如果是"-f"選項,則函數也一樣被標記為readonly。"-p"會列出所有readonly的name。"--"取消檢查剩餘的參數。

shift [n]

Positional Parameters從n+1...開始,會被改為$1...。n若為零,則沒有改變。n若未給定,則內定為1。n必須是非負數,並且小於或等於$#。若n大於$#,則沒有改變。返回值為零,除非n大於$#或小於零。

suspend [-f]

暫停這個shell的執行,直到它收到SIGCONT信號。"-f"選項則是叫login shell不要抱怨,不過還是一樣暫停。返回狀態零,除非該shell是個login shell,而且沒有"-f"選項。

test expr
[ expr ]

我們在Exit Status的部份已經說過了,不再重。

times

列出該shell的累積的使用者及系統時間及從shell執行的process時間,返回值為零。

trap [-l] [arg] [sigspec]

當收到sigspec信號時,執行arg命令。"-l"顯示出信號名稱及號碼。

type [-all] [-type | -path] name [name ...]

沒有參數的狀況下,它會顯示出shell如何解譯name做為命令。如果有"-type",它將會顯示alias、keyword、function、 builtin或file。如果有"-path"的參數,它將會顯示該命令的路徑,找不到的話,不顯示任何東西。如果有"-all"的參數,它將會顯示所 有可執行name的可能路徑。type接受"-a"、"-t"、"-p"做為縮寫。

ulimit [-SHacdfmstpnuv [limit]]
ulimit提供了對shell的可獲取資源控制的功能。
-a : 報告目前所有限制。
-c : 設定最大可產生的core檔案。
-d : 行程資料段(process's data segment)最大值。
-f : 可被這個shell產生的最大檔案。
-m : resident set size最大值。
-s : 堆疊最大值。
-t : CPU TIME最大值(以秒計算)。
-p : pipe size in 512-byte blocks的最大值。
-n : 可開啟的file descriptors最大值。
-u : 單一使用者可使用的最大process數。
-v : 該shell最大虛擬記憶體可用值。

所有項目是以1024做為單位。

umask [-S] [mode]

將使用者的file-creation mask設為mode。"-S"選項將mask印成符號形式。

【轉貼】Bash內建參數
文件原網址: http://www.fanqiang.com/a4/b1/20010525/210401237_b.html


http://www.openchess.org/noitatsko/programming/ (2001-05-25 21:04:01)
PPID : 該bash的呼叫者process ID.
PWD : 目前的工作目錄。
OLDPWD : 上一個工作目錄。
REPLY : 當read命令沒有參數時,直接設在REPLY上。
UID : User ID。
EUID : Effective User ID。
BASH : Bash的完整路徑。
BASH_VERSION : Bash版本。
SHLVL : 每次有Bash執行時,數字加一。
RANDOM : 每次這個參數被用到時,就會產生一個亂數在RANDOM上。
SECONDS : 從這個Shell一開始啟動後的時間。
LINENO : Script的行數。
HISTCMD : 歷史記錄數。
OPTARG : getopts處理的最後一個選項參數。
OPTIND : 下一個要由getopts所處理的參數號碼。
HOSTTYPE : 機器種類。
OSTYPE : 作業系統名稱。
IFS : Internal Field Separator。
PATH : 命令搜尋路徑。
PATH="/usr/gnu/bin:/usr/local/bin:/usr/ucb:/bin:/usr/bin:."
HOME : 目前使用者的home directory;
CDPATH : cd命令的搜尋路徑。
ENV : 如果這個參數被設定,每次有shell script被執行時,將會執行它所設定的檔名做為環境設定。
MAIL : 如果這個參數被設定,而且MAILPATH沒有被設定,那麼有信件進來時,bash會通知使用者。
MAILCHECK : 設定多久時間檢查郵件一次。
MAILPATH : 一串的郵件檢查路徑。
MAIL_WARNING : 如果有設定的話,郵件被讀取後,將會顯示訊息。
PS1 : 提示訊息設定,內定為"bash$ "。(請詳見提示訊息一節。)
PS2 : 第二提示訊息設定,內定為"> "。
PS3 : select命令所使用的提示訊息。
PS4 : 執行追蹤時用的提示訊息設定,內定為"+ "。
HISTSIZE : 命令歷史記錄量,內定為500。
HISTFILE : 歷史記錄檔,內定~/.bash_history。
HISTFILESIZE : 歷史記錄檔行數最大值,內定500。
OPTERR : 如果設為1,bash會顯示getopts的錯誤。
PROMPT_COMMAND : 如果設定的話,該值會在每次執行命令前都顯示。
IGNOREEOF : 將EOF值當成輸入,內定為10。
TMOUT : 如果設為大於零,該值被解譯為輸入等待秒數。若無輸入,當成沒有輸入。
FCEDIT : fc命令的內定編輯器。
FIGNORE : 請詳見READLINE。
INPUTRC : readline的startup file,內定~/.inputrc
notify : 如果設定了,bash立即報告被終結的背景程式。
history_control, HISTCONTROL : history使用。
command_oriented_history : 存入多行指令。
glob_dot_filenames : 如果設定了,bash將會把"."包含入檔案路徑中。
allow_null_glob_expansion : 如果設定了,bash允許路徑明稱為null string。
histchars : history使用。
nolinks : 如果設定了,執行指令時,不會跟隨symbolic links。
hostname_completion_file, HOSTFILE : 包含與/etc/hosts相同格式的檔名。
noclobber : 如果設定了,Bash不會覆寫任何由">"、">&"及"<>"所操作的檔案。
auto_resume : 請見任務控制一節。
no_exit_on_failed_exec : 如果該值存在,非互動的shell不會因為exec失敗而跳出。
cdable_vars : 如果啟動,而cd命令找不到目錄,可切換到參數形態指定的目錄下。

Tsung: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.