怎么学好linux c\c++

如何学好linux c\c++
本人刚开始工作,通信领域,主要是嵌入式linux平台开发一些网络协议什么的,本人一直学习c和c++,在windows平台也做过些项目,但也挺想往linux嵌入式这方面靠的。但刚开始接触这些,感觉项目封装的类多,分的层次繁多,还有各种插卡,各种多线程,进程的操作,感觉有点乱。主要还是架构分层方面,如果不使用已有封装类,那么我的任务很容易完成,都能找到现成答案。设计分层不是为了简化编程的吗?反而很绕了。不知应怎样着手项目,学习这些知识?

------解决方案--------------------
帮顶,。。我也是学这个。
------解决方案--------------------
帮顶。。。。
------解决方案--------------------
推荐看看《Unix高级编程》
------解决方案--------------------
学习中,呵呵
------解决方案--------------------
主要是把Linux用熟,vi是不用说的,然后gcc,gdb,makefile.
之后,就用vi在linux上写编程,然后编译,debug
如果写socket程序,再学一下tcpdump使用。
看书的话,unix高级编程这一本就可以了