1.遠程copy大文件
利用ssh和tar,一邊壓縮,一邊copy. 當文件大小上G了以後比較有用.
如果你要copy的文件名為big_file.img,則可以用如下命令.
tar -czvf - big_file.img | ssh dest_host "cd /share/; tar -xvf"
copy 到dest_host的/share/目錄.
2.文件自動備份
用rsync,查一下 rsync的manual就會了,很方便也比較簡單。我用rsync來備份幾百G的數據依然工作的非常好。
用rsync還有幾個原因:
增量式備分
遠程文件可進行一邊壓縮一邊備分
3.Linux X Window下連接Windows的桌面
1).用rdesktop命令,請先安裝rdestktop的RPM包,然後把Windows的遠程桌面打開
2).用VNC,在Windows下安裝 realvnc的server,然後在Linux下用vncviewer命令連接Windows的桌面
4.用wget下載整個網站
wget -r -p -np -k http://www.shaohui.org
5.解決vim中文亂碼問題
把一下配置copy到你的vimrc裡面,然後問題就解決了,另外對於中文的顯示,pietty比putty做得更好。推薦一下。
set fileencodings=utf-8,cp936,big5,latin1
an 20.4109 &Edit.-SEP6- <Nop>
an 20.4109.10 &Edit.Encoding.&GBK :set encoding=gbk<CR>
an 20.4109.11 &Edit.Encoding.&Big5 :set encoding=big5<CR>
an 20.4109.12 &Edit.Encoding.&UTF-8 :set encoding=utf-8<CR>
an 20.4119.10 &Edit.Fileencodings.&GBK :set fileencodings=gbk<CR>
an 20.4119.11 &Edit.Fileencodings.&Big5 :set fileencodings=big5<CR>
an 20.4119.12 &Edit.Fileencodings.&UTF-8 :set fileencodings=utf-8<CR>
an 20.4139 &Edit.gb\ \ convert.gb->big5 :%!autogb -i gb -o big5<CR>
an 20.4139 &Edit.gb\ \ convert.gb->utf8 :%!autogb -i gb -o utf8<CR>
an 20.4149 &Edit.big5\ \ convert.big5->gb :%!autogb -i big5 -o gb<CR>
an 20.4149 &Edit.big5\ \ convert.big5->utf8 :%!autogb -i big5 -o utf8<CR>
an 20.4159 &Edit.utf8\ \ convert.utf8->gb :%!autogb -i utf8 -o gb<CR>
an 20.4159 &Edit.utf8\ \ convert.utf8->big5 :%!autogb -i utf8 -o big5<CR>
6. 字符集轉換
也是用來解決中文亂碼問題,尤其是用wget下載網頁的時候出現的亂碼,tip 5解決了用vim的亂碼問題,但是用cat命令查看問題的時候依然亂碼。最近想寫個腳本去baidu mp3去抓歌曲,順便解決了這個問題。
iconv -f gbk -t utf8 srcfile > dstfile
7. Shell中多行變一行的方法
一直都用vim來做,就是太ugly了一些。
vi filename -c ":%s/\n//g" -c ":x"
google了一把,有意外的收獲
文本內容:
$cat test.txt
001
002
003
004
005
006
0000999
需要格式化成:
001 002 003 004 005 006 0000999
方法一、最好的答案
xargs < test.txt
方法二、整個文件讀入一個變量,然後直接打印,也很容易理解
a=`cat test.txt`;echo $a
方法三、使用tr把換行符替換成空格:
tr -s "\n" " " < test.txt;echo
方法四、使用sed,把整個文件讀入保持空間,處理最後一行的時候,替換所有換行符為空格,打印:
sed -n '1h;1!H;${g;s/\n/ /g;p;}' test.txt
方法五、使用awk,讀入一行打印一行,但是不打印換行符,最後一行多打印一個換行符:
awk '{printf("%s ",{GetProperty(Content)});}END{print}' test.txt
方法六、使用paste命令格式化打印,-d指定分隔符,-s表示合並成一行:
paste -d" " -s - < test.txt
方法七、使用pr格式化打印,-s指定分隔符,-50指定每行打印多少域,-t指定取消頁眉、頁尾:
pr -50t -s" " test.txt
8.Linux下的多線程下載工具
wget是單線程下載,所以速度很慢。 prozilla是個不錯的選擇,有命令行的,也有GUI版本的,下載速度超級快。
官方網站:http://prozilla.genesys.ro/
安裝很簡單, 我用source自己make的。