在Unix中编写新程序的一种最简单的方法就是,以现有的程序为起点,并对其进行修改,编写使用手册也是一样。
如果在某个程序中发现了漏洞并进行了修补,给程序的作者发送一个补丁比仅仅给出 对补丁的描述要更容易,更准确,也更有礼貌:
diff file1.c file2.c >diffs (区别,产生补丁)
patch file1.c diffs ( 打补丁)
patch -R file1.c diffs ( 取消补丁)
diff -c file1.c file2.c >diffs (上下文补丁)
编译过程可能会出错,导致编译过程无法继续进行,详细分析出错信息,有助于解决源码中的语法错误。
那么如何保存这些信息呢?信息量很大,可能超出 shell向上翻滚查看的范围,最好是把编译过程的信息保存成日志文件,方便后面的分析。
$make 2>&1 | tee xxx.log
1. Ubuntu下安装mysql:
sudo apt-get install mysql-client mysql-server
会提示输入root账户的密码(这个root为mysql默认创建的账户,已系统的root账户不同)
安装libmysql++-dev,这样就有mysql的c/c++的API了
sudo apt-get install libmysql++-dev
如果已正确安装,输入如下命令,应该得到"Welcome to the MySQL monitor"信息
$mysql -u root mysql
关于Shell
1.关于shell 的declare:
在脚本中写了declare,运行是提示出错,这是由于Ubuntu运行时默认用的shell是dash,
所以
sudo dpkg-reconfigure dash
选择 NO
2. 使用分号;可以将2个命令隔开,这样可以实现一行中输入多个命令。
3. cp -r dir1 dir2 将目录dir1的全部内容全部复制到目录dir2里面。
4. 执行脚本: source YourScript.sh
关于VI
vim高亮:
ubuntu7.10 默认装的是vim.tiny,该精简版无语法高亮功能,我们要装vim的完整版本
sudo apt-get install vim
然后打开vim时:syn on所以就可以高亮了,
另那个文件名最好取成test.h,test.vhdl之类的,已便 vi自动识别
如要自动识别请修改 /etc/vim/vimrc这个文件,里面的说明挺详细的,just help yourself
开启daytime服务
sudo aptitude install xinetd
vi /etc/xinetd.d/daytime
两个disable的yes改为no
sudo invoke-rc.d xinetd reload