快速搭建一套开发环境(linux,ubuntu,vi,bash,gcc,gdb,octave)

一套工作环境(ubuntu,vi,bash,gcc,gdb,octave)

嗯,这两天弄了一下。
感觉有句话是说对了:
windows能干的正事linux肯定能干。。。

至于是不是干得更好,有待用熟悉了之后再说。
毕竟机器和系统都是工具,
关键看人和他们的磨合怎样。

vi:

首先是配置文件,照的弄一下就很方便了。

默认的版本是不支持语法高亮的,
于是自己下个就行了:

apt-get install vim

对着一些入门教程练习了之后,
应该能够进行一些基本的操作,
不过命令太多不好记,
所以有一张不错的图,
速查起来很方便:

(来自shallway,作者不祥)


补充一张图,来自3楼的帖子:




bash:

应该说它之所以强大,
还是依靠着已经有的很多命令,
而且这些命令往往参数很多,
新手用起来很头疼,
用熟了之后又觉得很爽。。

像alias这样的特性,
就是需要时间积累的,
自己DIY一套符合习惯的,
常用的命令集合。

比如:

alias rm='rm -i'
每次都有提示,可以屏蔽一些脑筋短路的操作。

alias ms='chmod 744'
这个是前段时间练习脚本的时候常用的命令。
因为每次都要自己添加执行权限很烦,
这样alias一下,就好用了。
(make script的意思)

alias hls='ls -ali'
这类alias就很多了,主要是针对自己平时的喜好。
一般都在标准名称前加个h,以示区别。

将他们添加到bash启动配置的后面就行了。
/home/hpl/.bashrc


如果一行alias还不足以表达一个意思。
一样可以用script来弄。

像这样的。
把他们放到/usr/bin下面就行了。

总的来说,这个环境很开放。
有问题还可以man一下。
(其实往往百度一下更快)
主要是个长期积累的过程吧,
越用越灵活,越用越高效 。

源的配置:

在网上搜一下ubuntu源,应该有很多的。
比如我们学校的:
http://ubuntu.uestc.edu.cn/

把搜到的内容添加到:
/etc/apt/sources.list

然后再:
sudo apt-get update

就可以了。
中间貌似要等那么久,
主要是从服务器上下载index。

选个好的源,速度快多了。。
想我apt第一个东西的时候还没这概念,
于是等了将近半个小时。。。

gcc:

安装好的时候就已经有gcc了。
这个时候进行一些基本的工作应该没什么问题。
不过有的时候还是要G++的环境。

经业内人士提点,知道了build-essential这东西。
而apt的好处就是会递归地帮人把组件安好。
于是build-essential所依赖这些东西就一并装好了,
查看方法:

apt-chache depends build-essential

然后安一个:

sudo apt-get install build-essential

gdb:

这本还不错,很适合入门。

最早是大一集训的时候,
看zhymaoiing在那耍,
觉得很高级。。

由于还没正式地在linux下弄过东西,
没什么直观的感觉。

唯一的体会就是,
这东西让人可以手不离键盘地工作。
包括像vi之类的工具,
大致上也是这个特点。

也许用熟了之后可以让人集中精力,
但是刚开始会觉得眼睛很吃力,
因为程序的输出和gdb本身的输出都混在一起。。

octave:

开始是想弄个matlab的,
但是看大家都推荐octave,
于是弄来看下。

发现还不错,基本上是兼容的。

CLI的:
sudo apt-get install octave3.2

GUI的:
sudo apt-get install qtoctave

如果在脚本文件前面加上:
#!/usr/bin/octave

就可以如同运行一般的程序(脚本)那样运行这个octave脚本了。
./first

在这种情况下,其实一个程序的用户并不用知道first是什么。
他是bash的脚本,octave的脚本,或者就是二进制的执行文件。
用户不必关心,他们拥有完全一样的运行方式。
这点是整套linux哲学中很闪光的地方。
而实现他们仅仅是前面标红的那句话而已。
在windows下,还得跑注册表里面去改,麻烦多了。

有个初学者的细节问题,
就是像上面 ./first运行的octave脚本没法plot出东西。


这是因为执行完后,
octave就退出了。

于是可以有两个解决办法:
1.使用octave --persist first,执行完后将进入octave的CLI中
2.使用print命令在结束之前将图打出(如:print -dpng myfigure.png)

(感谢linux区兄的解答和提供法2)

posted @ 2010-10-14 09:59  太阳神LoveU  阅读(172)  评论(0编辑  收藏  举报  来源