易截截图软件、单文件、免安装、纯绿色、仅160KB

linux学习指南

前言,Linux/Unix 社区的版块不热闹,新手太多,高手太忙,偶把自己这几年的Linux学习的过程讲讲,希望能给大家有点帮助,
引导初学者学习的方向,少走弯路,事半功倍,同时也是抛砖引玉,请过来人热烈发言。

1. 首先熟悉 Linux

建议在 Windows 上安装 VMware Workstation 6.5.0(以下简称VM), 下载种子在 http://www.verycd.com上找。
安装好 VM 后,在VM里安装 Linux Fedora core 4 或者最新的 Linux Fdrora 12, 下载网址:http://fedoraproject.org/get-fedora
在Winodws 上用开源的 putty, 或者 SecureCRT 通过SSH访问VM里的 linux.
Winodws和Linux间copy文件可以通过开源的 Winscp,或者在VM里开启文件共享,或者在linux上开启SMB服务。

建议熟悉文本界面上常用的 shell命令。当然linux的图形界面也比较友好,在文本界面通过 startx 可以进入GUI。
这类书籍太多了,自己去找两本国外作者写的linux入门书。

2. 在Linux上,用C,C++做应用程序开发(服务器程序,即非GUI程序)。

建议看经典的书《Unix环境高级编程》,W.Richard Stevens著。网络编程可以看《TCP/IP详解》三卷书.
学习Makefile的写法。
我习惯在linux上启用 smb 服务,在windows xp上用 source insight 编辑C、C++代码,通过SecureCRT访问linux, 执行make命令,
整个工程自动生成。当然也有高手喜欢用VI, 我一般不用,除非没有可以选择的编辑器。
要是有VC的开发经验,学习起来很快,估计2周就能上手。

3. 进入 Linux 内核开发。

内核开发的学习难度要比 Linux 应用程序开发大 3倍左右。基本上,有一年的linux应用开发经验,就可以主动进入到linux 内核开发。
必看的书籍;《Linux Device Drivers》,《Understanding TheLinux Kernel》,《Linux
Kernel Development》(分别简称LDD,ULK,
LKD)。LDD,ULK,我从卓越网或者当当网买了纸质版的。当然PDF格式的电子版也有,大家可以google.

学习编译内核,配置内核,用新内核启动系统.
学习写内核模块, 了解内核常用的API。
可以分析TCP/IP协议栈,网卡驱动等等。
例如TCP/IP协议栈,经典的书:
W.Richard Stevens著《TCP/IP详解》三卷书.
RFC文档。
lwIP,一个开源的TCP/IP协议栈,比Linux自己的TCP/IP协议栈要简单。
开源的协议分析工具:wireshark。
学习网络技术,可以参考我在VC版的贴子:http://topic.csdn.net/u/2


相关文档:

实战Linux Bluetooth编程(三) HCI层编程

1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI)  就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......

linux中的动静链接库

生成静态库:
  假如有文件  main.c、1.c、2.c    将1.c和2.c生成一个静态库的方法为,编写Makefile:
   mylib.a:1.c 2.c
       $(CC) -c $<    # $<表示所有最新的依赖项,若没有旧的则是全部依赖项
       ar crv  libmy.a 1.o 2.o   # 1.o 2.o为1.c和2. ......

Linux与windows C++开发异同


1) 使用的库不同。windows下图形开发一般用微软的MFC或.net库,而Linux下则常用qt库。C/C++通用库(c库,STL库)的接口相同,但内部实现不同。
2) 编译器不同。windows下用的是微软编译器VC或.net,而Linux下则用gcc。
3) 开发环境不同。windows的编译器自动生成makefile,而Linux则需要手动编写makefil ......

Linux文件压缩和解压


1) .tar
解压:tar xvf filename.tar
解压:tar xjvf filename.tar.bz2
解压:tar xzvf filename.tar.gz
打包:tar cvf filename.tar dirname1 dirname2
打包:tar czvf filename.tar.gz dirname1 dirname2
2) .gz和.Z
解压:gunzip filename.tar.gz
解压:gunzip filename.Z
打包:gzip  ......

查看和启动linux的服务,如:nfs

启动94,95的nfs服务
方法一:到/etc/init.d/中运行 ./nfs start
       到/etc/rc.d/rc3.d察看控制台服务(K字母开头的话为未启动,S为启动,直接改名字也可以将服务启动)
方法二:打命令setup,将System service中的nfs打勾,然后退出 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号