海风的Linux开发环境介绍
tag: linux开发入门, 开发环境, samba, indent, SourceInsight, Winux
文档发布声明: 任何人都可以针对本文档自由转贴,拷贝,引用,及修改后再发布,而无需过问我本人,只希望能够留下属于原作者的一些版权信息,请尊重原作者的劳动。
`海风 = temp77 ,意思是出生于 77 年的临时变量,目前就职于 GDLC .
简单归纳地说:
"Winux"式开发环境 -- 出于好的开发效率考虑,又何必拘泥于Win阵营还是Linux阵营呢?
( 补:由于个人偏爱C的开发,C++方面的一些设置请各位稍微自己变化、补充一下 )
首先声明一下:撰写本文的时候,测试和实践都是在 Red Hat Linux Enterprise AS4 (Nahant Update 4) 下完成的,简称 RHEL4_U4 。
我的开发环境选择是:
gcc+make + (Linux+ssh+samba) + (Win32+putty+SourceInsight) [ + indent.exe ]
简单解释一下上面所指的含义:
○ Linux下开发首先必须要有 gcc 和 make 实现编译、链接 ;
○ Linux下要提供远程连接的便利,推荐SSH方式(SSH数据传送量小、比VNC更专业,资源和带宽消耗也小得多);
○ samba打开Linux文件共享的大 ......
用惯了Windows平台开发工具的人,转到Linux平台上肯定有一个适应的过程。
Windows下面直接使用VS20....等等,配合MSDN文档,开发查询轻松自如。
而Linux平台,由于种类繁多没有像MSDN这样全面的技术文档,对于技术资料的查询就要依靠
[root@localhost]#MAN [函数名]
的方式来查询。大部分的C++函数时可以查询到得,但是遇到宏,就没有像MSDN能迅速找到对应的值和定义。
比如,connect常碰到的111错误,(一般是端口设定错误造成的),就没有办法知道它的意义。
所以,只有找到宏对应的头文件/usr/include/errno.h中,找111的宏
ECONNREFUSED,之后再用 MAN connect查寻ECONNREFUSED的意义。 ......
当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。
把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中
假设本地主机linux100,远程主机linux200
一,在linux100主机里的用户
运行
#ssh-keygen -t rsa
结果如下
QUOTE:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.username/ssh/id_rsa):#回车
Enter passphrase (empty for no passphrase):#回车
Enter same passphrase again:#回车
Your identification has been saved in /home/.username /.ssh/id_rsa.
Your public key has been saved in /home/.username /.ssh/id_rsa.pub.
The key fingerprint is:
38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost
Generating RSA keys:
Key generation complete.
会在用户目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub
二,把linux100主机上的id_rsa.pub文件拷贝到linux200主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys
即:
/root/.ssh/authorized_keys
这样在linux100主机上使用scp命令复制文件到linux ......
为什么Linux不能普及,相信这个问题使用过Linux的用户多少的都能感觉到。当然在普及这方面说,我们要以大众的观念来看,所谓的大众就是那些普通的用户,非专业的人士。全球使用电脑的80%的人群还是普通用户(这里的80%是根据软件产业的规则来说,具体多少我也不知道,O(∩_∩)O~),普通用户需要什么?他们需要拿来就用,不需要知道这之间是什么联系。比如说游戏,他们只需要知道怎么去控制人物或者是什么如何走动,如何跳跃,再比如说观看电影,他们不需要考虑用什么样的播放器去看,这个电影是什么格式,问题很简单,我们去看电影,而不是想着去怎么播放电影。当然这里又牵扯其他的问题。
那么现在来说一下windows优于Linux的地方在哪里呢?
1,软件的支持度。
都说Linux也有很多的软件,但是跟windows相比还是少之又少,少是一个层面,亲民度不如windows又是更重要的一个层面。Linux的软件总是显得那么”专业“,而windows的软件就比较亲民了。这里用过的人都会有感觉。
2,设置的简单性。
Linux系统的设置很繁琐,必须要有一段时间的学习才能熟悉,这里面其实还是很复杂的,对普通用户而言,他们可没有那么多耐心为了安 ......
一. 使用 Network Time Protocol (NTP) 服务器
1.1 服务器可链接外网时
# crontab -e
加入一行:
*/1 * * * * ntpdate 210.72.145.44
210.72.145.44 为中国国家授时中心服务器地址,这样该机每隔1分重就可以与国家授时中心进行同步了。
注意: 在使用ntpdate 命令时, ntpd 服务必须是关闭的, 否则会报the NTP socket is in use, exiting 错误。
关闭 ntpd 服务命令如下:
[root@node2 init.d]# /etc/init.d/ntpd stop
Shutting down ntpd: [ OK ]
1.2.  ......
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET ......