如何学习linux,入门的经典书籍有哪些?
你应该给自己创造一个学习linux的环境——在电脑上安装一个linux或者unix。
问题1:版本选择
北美用Redhat,欧洲用SuSE。桌面上有很多mandrake,debian是最先进的linux。
Debian是开发者使用最多的,其次是redhat。从linux应用的全球市场份额来看,
毫无疑问,redhat是最多的,还有很多著名的发行版本,就不一一列举了。
对于linux的初学者,我建议使用redhat,原因如下:
1)现在很多书都是以redhat为例,为了和书协调。
2)身边的人用redhat,交流更方便。
3)redhat应用广泛,具有典型性和代表性。
4)易于使用和安装,我们不必在“安装系统”上浪费时间。
相反,我们应该集中精力学习最有用的东西。
//注:我觉得RH现在很死板,还有AS,ES等。可能对服务器有好处。
Mandrake,Debian,SuSE都很适合个人桌面。我现在用曼德拉草,因为她很漂亮。
如果不打算深入学习linux,而是有适应北京市政府办公平台,迁移到上面之类的事情。
对于linux上的这种需求,中软、红旗等中文linux是不错的选择。
我强烈建议你自己在硬盘上安装linux。
你必须学会独立安装linux系统的技巧。对于目前的版本来说,其实就是安装WinXP那么简单。
从现在开始,请不要用windows的方式去思考问题。
你应该试着挖掘一下linux上“天才unix”的气质。
三。先进的
掌握至少50个常用命令。
了解外壳管道“|”、文件流重定向“>”和添加“> >等待
熟悉X-windows桌面操作,如Gnome/KDE。
掌握tgz.rpm.biz等软件包的常用安装方法。
学习添加外围设备和安装设备驱动程序(如调制解调器)
熟悉Grub/Lilo引导和简单的修复操作。
熟悉系统固有目录的名称和公共。
学习使用mount命令访问其他文件系统。
了解vi,gcc,gdb等常用编辑器,编译器,调试器。
学习linux环境下的简单网络。
建议:买一本不需要太厚的linux教材,基本能满足要求。
//现在书越来越多,图片也多。我那时候没有那么多书:)
四。高级应用
澄清一些概念:
linux的普通操作是无法和真正的系统管理相比的,需要很多知识。
我个人认为几种linux语言比较重要。
英语
即使你不学linux,我也强烈建议你学好英语[美语]
因为计算机语言本质上是英语和字符,所谓的多语言只是外在包装。
你必须能够毫无障碍地阅读大量的英文技术文件。
熟练搜索被搜索引擎找到的英文网站和网页
最好能直接用英语交流。
去掉这个障碍,你的学习和理解会快很多,你就有机会拉开和别人的差距。
2.shell[sed/awk]
Shell是命令解释器,是内核和用户界面之间的通信通道。shell写的小脚本有点类似于。赢下比赛。
但是shell比。蝙蝠。shell不仅是一个解释命令,也是一种编程语言。有时候几百行C用shell。
几十行就可以代替完成工作,因为shell的工作模式是基于系统中很多已有的应用。
这也是CS中的一个重要思想。
此外,shell可以自动化工作的概念也很重要。
Sed,awk是用来处理文本的,一直都很常见。
3.Perl/PHP
漂亮的脚本,CGI的首选,比ASP好,应用广泛。
4.C\C++
C和C++是linux/unix的核心语言,系统代码都是用C写的。
5.空对地导弹
底层系统和内核,硬件,设备驱动,嵌入式开发都需要。
//如果走核心路线,我个人认为C \ c++和ASM最重要。
6.Java,Python,Tcl,XML
*系统管理
在熟悉linux的基础上,你需要掌握至少一个unix。
我把Solaris放在第一位,然后是FreeBSD。
比如操作级系统一般是Solaris+Oracle/DB2等等。
学习Apache,ssh,sendmail/qmail,proftp/vsftp,samba,squid,MySQL/PostgreSQL/Oracle,bind。
各种应用服务器的架构和电子商务的应用
熟悉TCP/IP协议族,学习apache+php+proftp+mysql+quota,大型局域网,分布式集群的实现。
和其他企业应用解决方案。
熟悉多用户管理、数据库管理、文件系统、逻辑存储管理、日志分析、备份和灾难数据修复。
系统补丁,内核升级,以及在此基础上的防火墙架构,保证系统安全等系统管理技巧。
我认为在此基础上掌握路由/交换设备才是好的系统管理员:d。
基于linux的各种解决方案,请参考相关书籍和文档,必要时使用google或各大linux站点。
搜索引擎寻找最新的文档以避免错误和漏洞。
有几本技术百科和技术内幕,我觉得都是这方面的好书。
*深入研究linux
我个人对linux内核阅读基础的理解:
在此之前,我希望先了解一下应用层,这样会更容易理解。
1.C
如果你学过谭浩强的大学课本(除了编几个数学模型,好像什么都不会)
建议你再看看。
c编程语言,第二版,圣经。
/*想学缓冲区溢出,C的这个技能可能不够*/
还有,,& ltc专家编程>;,& ltC\C++深度探索>
反正经典的书看多了也没什么坏处:)
2 . ASM(AT & amp;测试语法,保护模式)
保护模式比较复杂,基本上每本关于内核的书都会介绍。
只要您对80x86 Intel语法有基本的了解,
如果你有兴趣,可以看看英特尔的官方白皮书。
3.数据结构(离散数学)
计算机专业核心课程的重要性我就不说了。
4.操作系统原理
先看这个再看linux。
5.微机原理/组成原理(数字电路)
底层直接处理硬件,所以这也应该是。
6.了解linux/unix
我觉得至少你应该会操作,了解unix的API。
7.软件工程/编译原理
这方面的经典书籍可以在www.china-pub.com找到。
我认为APUE不适合初学者,所以我们先读UPE吧。
APUE:
《unix环境下的高级编程》
unix环境下的高级编程
作者:W.Richard.Stevens*** * *有六部经典著作,被誉为“圣经”
全世界的黑客都在读他的书!
UPE:《unix编程环境》
《unix编程环境》更适合初学者,简单易懂,
其中有一些重要的想法。
此外,还有很多介绍linux下应用层编程的书籍,比如
& ltGNU\Linux编程指南>,redhat,redflag书...........
有很多经典的书。......
操作系统:设计与实现//焦大的考研参考书,其中重点介绍了Minix。
Unix操作系统设计
4.4BSD操作系统的设计和实现
Angles unix源代码分析
Ulk:了解linux内核(第2期)深入了解Linux内核。
Linux设备驱动程序(第二版)
linux内核源代码的场景分析
80386及其保护模式下的编程(第二本书绝版,只有超星的电子版,如果有人能拿到纸质书,请告知,万分感谢!!!)
在这里你可以理解“黑客”和“哈兴”这两个词的真正含义。
希望我写的这篇文章能造就更多的黑客,而不是黑客。
动词 (verb的缩写)一些资源
Www.linuxforum.net//The中国最高级别的GNU网站。
Www.chinaunix.net//UNIX,系统管理不错。
Www.linuxeden.com//downloading软件不错。
www.linuxaid.com.cn
www.linuxsir.org
其实还有很多,包括国外的。
以上内容为他人转载。
这些是关于linux的。
至于嵌入式学习,需要深厚的硬件知识。
对编程和系统移植有很深的理解。
嵌入式系统是一种包括DSP和arm的最小系统板。
其结构也各不相同,有的是传统的冯诺依曼结构,大部分是DSP领域的改进哈佛结构。
学嵌入式一定要学linux,这是一个关键环节。
& lt& ltunix环境中的高级编程>:& gt是linux和Unix圣经,大师作品,好到无法形容。
& lt& ltLyons UNIX源代码分析>:& gt了解内核的工作原理。
而且:& gt。
你可以在网上到处找到它。
我经常访问的网站:
/
/