一、工具的使用
1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。vim有一个中文在线手册http://vcd.gro.clinux.org。
2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。
4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。svn有一个中文网站:http://www.subversion.org.cn对svn进行介绍。
二、linux/unix系统调用与标准C库
系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。
三、库的学习
无论是在哪个平台做软件开发,对于库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。
1、glib库
glib库是gtk+和g ......
一、工具的使用
1、学会使用vim/emacs,vim/emacs是linux下最常用的源码编辑具,不光要学会用它们编辑源码,还要学会用它们进行查找、定位、替换等。新手的话推荐使用vim,这也是我目前使用的文本编辑器。vim有一个中文在线手册http://vcd.gro.clinux.org。
2、学会makefile文件的编写规则,并结合使用工具aclocal、autoconf和automake生成makefile文件。
3、掌握gcc和gdb的基本用法。掌握gcc的用法对于构建一个软件包很有益处,当软件包包含的文件比较多的时候,你还能用gcc把它手动编译出来,你就会对软件包中各个文件间的依赖关系有一个清晰的了解。
4、掌握svn/cvs的基本用法。这是linux,也是开源社区最常用的版本管理系统。可以去试着参加sourceforge上的一些开源项目。svn有一个中文网站:http://www.subversion.org.cn对svn进行介绍。
二、linux/unix系统调用与标准C库
系统调用应用软件与操作系统的接口,其重要性自然不用说,一定要掌握。推荐学习资料为steven先生的UNIX环境高级编程(简称APUE)。
三、库的学习
无论是在哪个平台做软件开发,对于库的学习都很重要,linux下的开发库很多,我主要介绍一下我常常用到的一些库。
1、glib库
glib库是gtk+和g ......
1.shell 是系统的用户界面,提供了用户与内核进行交互操作的一种接口(命令解释器)。它接收用户输入的命令并把它送入内核去执行。起
着协调用户与系统的一致性和在用户与系统之间进行交互的作用。
Shell在Linux系统上具有极其重要的地位
Shell的版本,Linux有很多Shell
echo $SHELL 查询本系统的Shell
more /etc/passwd 中也有记录同样能查到
more /etc/shells 本系统支持的shell
可以改shell 直接用ash或者csh。(当时生效)
chsh -l可以查询当前支持的chsh
chsh /bin/ash 修改shell 注销后生效
2.文件目录的操作
touch生成一个空文件或更改文件的时间
cp 复制文件或目录 cp -r 目录名 复制目录
mv 移动文件或目录、文件或目录改名
rm 删除文件或目录 rm -f 不提示直接删除 rm -rf 删除目录并不提示
ln 建立链接文件 (类似于快捷方式) ln -s /etc/passwd pass
wc 统计指定文本文件的行数、字数、字符数 wc /etc/passwd
ls 显示文件或者目录列表&n ......
用惯了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.  ......