收集整理的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 ",$0);}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的。
另外一个是multiget,没有试过,有兴趣可以去看看http://multiget.sourceforge.net
更多推荐
所有评论(0)