歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 收集整理的Linux下的小技巧(三)

收集整理的Linux下的小技巧(三)

日期:2017/3/2 16:54:13   编辑:Linux服務器

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的。

Copyright © Linux教程網 All Rights Reserved