Linux
菜鸟成长区,高手勿入。
1、Ubuntu终端Vim退出后出现乱码,一般情况是当路径名中含有中文的时候,网上说运行
sudo update-alternatives --config vi
sudo update-alternatives --config vim
后选择vim.basic即可,可是没有这个选择,原来还需要安装sudo apt-get install vim,之后就有了,乱码问题解决。
2、gcc还不能编译Hello World,stdio.h都找不到!原来安装系统的时候没装好,高手g++一下就明白了。高手给我 sudo apt-get install build-essential了一下,又 sudo updatedb
和locate stdio.h了一下,就出来了。
3、perl:$filepath = decode("GB2312", "中文目录");文件是GB2312编码,mkdir时目录名出现不支持的字符,创建中文目录名有问题,需要用decode解码成utf-8的,也可以再次编码encode("utf-8", $filepath)。
4、perl:在线安装perl模块,使用CPAN:perl -MCPAN -e shell,一路回车,最后选择合适的站点,获得帮助cpan>h,列出CPAN上所有模块的列表cpan>m,安装模块cpan>install DBI,自动完成DBI模块从下载到安装的全过程。
5、SVN服务器的建立,参见http://www.sunqingli.cn/168.html,http://blog.csdn.net/pwlazy/archive/2007/07/28/1713613.aspx,svnserve -d -r /home/svn。
sudo update-alternatives --config vi
sudo update-alternatives --config vim
后选择vim.basic即可,可是没有这个选择,原来还需要安装sudo apt-get install vim,之后就有了,乱码问题解决。
2、gcc还不能编译Hello World,stdio.h都找不到!原来安装系统的时候没装好,高手g++一下就明白了。高手给我 sudo apt-get install build-essential了一下,又 sudo updatedb
和locate stdio.h了一下,就出来了。
3、perl:$filepath = decode("GB2312", "中文目录");文件是GB2312编码,mkdir时目录名出现不支持的字符,创建中文目录名有问题,需要用decode解码成utf-8的,也可以再次编码encode("utf-8", $filepath)。
4、perl:在线安装perl模块,使用CPAN:perl -MCPAN -e shell,一路回车,最后选择合适的站点,获得帮助cpan>h,列出CPAN上所有模块的列表cpan>m,安装模块cpan>install DBI,自动完成DBI模块从下载到安装的全过程。
5、SVN服务器的建立,参见http://www.sunqingli.cn/168.html,http://blog.csdn.net/pwlazy/archive/2007/07/28/1713613.aspx,svnserve -d -r /home/svn。
6、grep '\$\(kissrat\)' -rl *。搜索$kissrat,其中-r自然是recursive的意思,-l是只显示文件名的意思。-n显示在文件中的行号,-i是ignorecase。搜索结果加上行号可以再加| cat -n。
7、批量替换文件中的某个字符串,如将字符串$(kissrat)替换成$(sjtu):sed -i "s/\$(kissrat)/\$(sjtu)/g" `grep \$\(kissrat\) -rl *`,要么后面可以直接跟一批文件名。
8、将文件置空:>filename或者cat /dev/null >filename。
9、在Shell脚本中打开alias命令:shopt -s expand_aliases,关闭:shopt -u expand_aliases。如果不打开,在Shell脚本中就无法识别alias命令。
10、sed命令中可以使用变量,但如果变量$kissrat中包含“/”比如kissrat=/kr就会出错:sed: -e expression #1, char 6: unknown option to `s',可以写成诸如:echo "/kr/string" | sed "s,$kissrat,/kissrat,g",即将分隔符“/”替换成“,”。范例记录:sed -i "s/\$(\(A_IMG\|B_IMG\|C_IMG\|D_IMG\|E_IMG\))/\$(\1_GCC3_4_5)/g" `grep -rl '\$(\(A_IMG\|B_IMG\|C_IMG\|D_IMG\|E_IMG\))' *`
11、使用ssh穿墙时如果连接异常断开,则注册的反向连接端口被占用,只有用root身份结束此对话的进程后重新连接了。ps -ef | grep ssh,kill -9 pid。
12、KDE下无法拖动窗口或调整窗大小(非最大化或还原),解决方法:ps -aux | grep `whoami` | grep kwin,找到kwin的进程号,kill -9 <pid>,然后重新启动kwin:nohup kwin &。
13、VNC切换到KDE,startkde命令也不管用?打开home目录下的.vnc/xstartup,修改WM=/usr/bin/startkde试试。