March 12, 2008

sort -n -t. +0 -1 +1 -2 +2 -3 +3 -4 ip

September 13, 2007

CSH
        set prompt=’%B%n@%~%%%b’
        set promptchars=’%#’
        set history=1000
        set savehist=( 3000 merge )
        set histdup = erase

放~/.cshrc里面,/etc/csh.cshrc会被默认的.cshrc覆盖 :)

bash下面history里面记录时间:
 export HISTTIMEFORMAT=”%F %T “

>file                  csh, sh         
        将 STDOUT(标准输出/Standard output) 重定向到文件
        (command > file)

>>file                 csh, sh        
        将 STDOUT(标准输出/Standard output) 字符串加到文件内容之后
        (command >> file)

<file                 csh, sh        
        将文件重定向到 STDIN(标准输入/Standard Input) 作为命令的输入
        (command < file)

<<word                 csh, sh        
        读取在线输入直到word(结束输入时,结束行输入word), 并做输入内容的变量替换
        (command <<word)

<<\word         csh, sh        
        读取在线输入直到word(结束输入时,结束行输入word), 不做输入内容的变量替换
        (command <<\word)

<<-word         sh                        
        读取在线输入直到word(结束输入时,结束行输入word), 忽略TABS(制表符)
        (command <<-word)

>>!file         csh                
        将 STDOUT(标准输出/Standard output) 字符串追加到文件内容之后,当设定 $noclobber 时,可重写文件。
        (command >>! file)

>!file                 csh                
        将 STDOUT(标准输出/Standard output) 重定向到新文件,当设定 $noclobber 时,可重写文件。
        (command >! file)

>&file                 csh                
        将 STDOUT(标准输出/Standard output) 及 STDERR(标准错误/Standard error) 重定向到文件
        (command >& file)

>>&                csh                       
        将 STDOUT(标准输出/Standard output) 及 STDERR(标准错误/Standard error) 字符串追加到文件内容之后
        (command >>& file)

<&digit         sh                        
        切换 STDIN(标准输入/Standard Input) 到文件句柄
        (command >cmd.log 2<&1)

<&-                 sh                        
        关闭 STDIN(标准输入/Standard Input)
        (command <&-)

>&digit         sh                        
        切换 STDOUT(标准输出/Standard output) 到文件句柄
        (command >cmd.log 2>&1)

>&-                 sh                        
        关闭 STDOUT(标准输出/Standard output)
        (command >&-)

>&!                csh                       
        将 STDOUT(标准输出/Standard output) 及 STDERR(标准错误/Standard error) 重定向到文件,当设定 $noclobber 时,可重写文件。
        (command >&! file)

>>&!                csh                       
        将 STDOUT(标准输出/Standard output) 及 STDERR(标准错误/Standard error) 字符串加到文件内容之后,当设定 $noclobber 时,可重写文件。
        (command >>&! file)

找一台有外网的机器,echo “1″>/proc/sys/net/ipv4/ip_forward.
然后在需要上网的只有内网的机器上加入可以上网机器为默认网关.

September 10, 2007

tail -f 和 -F 差異

tail -f 和 -F 參數的差別, 主要是差在 -f 如果在追蹤此檔案被移除重建了(ex: log rotate), 那就停止不會動了, 而 -F 會再重新 try 那個同檔名的那個檔案, 如果重建了, 會繼續追蹤此檔案, 不會因為檔案被 rotate 而就此停止追蹤.

ls 管道输出后保留颜色
ls -l 再 pipe 給 less 或 more 捲著看, 是很常用的功能, 但是缺點就是原本 ls 的顏色都沒用了 :~~

查的結果, 只要 ls -l –color | less -r 就會看到顏色了. :)

於是在 .bashrc 把原本 alias ll=’ls -l’ 換成如下:

alias ll=’ls -l –color | less -r’

上述是要用 less 的狀況(less 好處是可以上下捲動, 缺點是要另外裝 XD), more狀況就比較簡單, ls -l –color | more 直接 pipe即可(alias設定: alias ll=’ls -l –color | more’).

Notes:FreeBSD下需要设置两个环境变量:
~/.cshrc:
setenv CLICOLOR
setenv CLICOLOR_FORCE

$ls | more -r

显示所有目录
ls */ -d或者 ls -d */(FreeBSD只能用这个)  ^_^

sed -i
sed -i 在Linux和FreeBSD上用法有点不一样,FreeBSD的sed -i后面必须接suffix,而linux默认的不需要suffix:
freebsd$sed -i.bak -e ’s/Hello/Greeting/g’ -e ’s/World/China/g’ 1.txt
linux$sed -i -e ’s/Hello/Greeting/g’ -e ’s/World/China/g’ 1.txt (不做备份)