博客介绍:大名鼎鼎的Linux私房菜,放在第一个位置毋庸置疑。如果你想要系统的学习Linux这儿会是你得不二选择。鸟哥是何许人也?鸟哥的 Linux 私房菜 -- 关於鸟哥
博客目录摘要(更多精彩内容请进博客):
新手建议:Linux 新鲜人必看
开始阅读之前:鸟哥这个网站的字体与风格编排之意义
网站导览:就是您目前看的这个网页
Linux 基础文件:一些很基础的文件汇整
Linux 架站文件:架站文件的汇整
Linux 安全管理:主机主体与网路安全的文件汇整H(施工中)
Apache 套件安装:关於各种 Apache 上面执行的套件的安装!
ADSL 频宽分享相关文件:主要利用不止是 Linux 的频宽分享!
第二个:Linux - 标签
博主介绍:Vamei,一名编程爱好者熟悉Python/Linux/网络协议/算法/Java/数据科学系列
博客介绍:如果你正在想学习Linux,你完全没有基础,那么这个博客正适合你。通读几篇文章练习练习一些基本的命令,不要再犹豫了,马上就动手吧。
博客目录摘要:
为什么要学习Linux
Linux文件系统的实现
Linux常用命令
Linux进程间通信
Linux多线程与同步
Linux从程序到进程
Linux用户与“最小权限”原则
Linux进程关系
Linux信号基础
Linux进程基础
Linux架构 - Vamei
Linux文本流 - Vamei
Linux文件管理相关命令
Linux命令行与命令
Linux文件管理
Linux开机启动(bootstrap)
Linux简介与厂商版本
第三个:Linux大棚 – 不忘初心的技术博客,浮躁时代的安静角落
博客介绍:写了八年的博客、关于Linux关于Linux C。正如标题:不忘初心、浮躁时代的安静角落。用一个月用两个月去学习阅读一遍别人的八年、何尝不是一种享受。学习前辈的经验、学习别人总结的内容。
博客目录摘要(更多精彩内容请进博客):
《service》-“linux命令五分钟系列”之二
《du命令》-linux命令五分钟系列之三
《chkconfig命令》
《uname命令》
《tr命令》-linux命令五分钟系列之六
《海量运维、运营规划之道》
你应该知道的16个Linux服务器监控命令
《ssh-copy-id帮你建立信任》
《神探tcpdump第五招》-linux命令五分钟系列之三十九
[转]知名互联网公司系统工程师面试题
第四个:fudan_abc的Linux内核专栏
博客介绍:如果你对Linux内核以及usb比较感兴趣,这里将是你的不二选择。本专栏将Linux内核的学习分为四个层次:全面了解,掌握基本功;兴趣导向,选择重点深度钻研。还等什么,让我们一起开始Linux之旅吧!
博客目录摘要(更多精彩内容请进博客):
《Linux那些事儿之我是USB》我是U盘 -- 系列
《Linux内核修炼之道》精华分享与讨论 -- 内核系列
Linux那些事儿 -- 系列
第五个:专栏:Linux 运维
博客介绍:如果你想做运维,Linux运维的话。来这里吧,整个专栏都是关于Linux运维的内容,再不来学习就晚了。教程都在这里你还在犹豫吗?当然此博主还有另一个专栏,写的全是与Linux编程相关的内容,如果你有兴趣同样可以取访问另一个专栏,这里给上这个专栏的链接:专栏:Linux 编程
博客目录摘要(更多精彩内容请进博客):
重装Windows后修复Linux引导
Linux下top命令详解
Shell编程入门(第二版)(下)
Shell编程入门(第二版)(中)
Shell编程入门(第二版)(上)
Linux用户管理案例(第二版)
用户管理实用命令(第二版)
Linux用户管理命令(第二版)
Linux特殊权限分析(第二版)
Linux用户配置文件(第二版)
Vim/Vi实用技巧(第二版)
Vim/Vi常用 *** 作(第二版)
GRUB与Linux系统修复(第二版)
inittab文件剖析[CentOS 5.X](第二版)
CentOS 6.X启动流程
/etc/fstab文件出错,无法进入Linux系统
Linux引导流程(第二版)
Linux备份策略(第二版)
设置磁盘配额(第二版)
/etc/fstab文件分析(第二版)
第五个:最实用的Linux博客
博客介绍:博文收集了很多关于Linux比较实用比较有意义的一些文章和教程。
博客目录摘要(更多精彩内容请进博客)(目录结构分类+文章数量):
linux安全(100)
linux客户端工具(3)
linux开发之汇编(1)
linux性能监控与调整(49)
linux服务器深度历险(电子书)(12)
linux系统管理(336)
linux网站(0)
linux网络管理(138)
第六个:依云's Blog
博
客介绍:如果大家有仔细翻阅上一篇的python篇的博客,你就会发现这一期将会有一两个博客的重复,因为我实在觉得这两者之间有种强烈的关系。博客大部
分都是关于Linux和Python方面的~看完就是感觉:哇大神。关于Linux方面的内容写的都很有深度。不是很适合新手朋友阅读。
比较适合对系统有所研究的同学。
博客关键词:Linux 、Python
博客目录摘要:
1、发包太快,请勿跟踪
2、Linux 作业控制实践
3、SIGHUP, nohup, disown 以及 expect + sudo + bash + ssh
4、当 SSD 坏掉之后
5、从 slim 到 lightdm
6、交换 ThinkPad 键盘上的 Insert 和 End 键
在上一期的评论区,大家说博客有点多不知道如何下手,今天从以前的10博客缩减到7个博客。如果有选择恐惧症,可以直接选择第一个进行学习。
(待更。。。
学习汇编语言、C语言,这两种语言是你进行Linux Kernel开发与维护的必备语言能力,这样你才有能力阅读与编写Linux Kernel的能力。
下载Linux Kernel源代码,建议下载先前的版本,因为目前的新版本代码数量太庞大,技术太新,如果是进行Linux Kernel的开发的话,先从简单的版本0.11或者1.XX.XX版本开始,以前的版本中没有过多的新技术的代码,适合入门Linux Kernel的学习。
当你熟悉了Linux Kernel了后,可以下载目前最新的版本Linux Kernel3.18版本的源代码,里面包含了很多的新技术的知识,方便你了解与学习~~~
这是一篇很重要的文档,它介绍了内核开发的方方面面。这篇文档已被加入到内核源码树的Documentation文档里(名字为HOWTO),你可以在最新的内核树里找到它。尽管已经有网友翻译过这篇文档,但是我还是决定自己再翻译一遍。翻译完之后,我的感触是如果依靠翻译来进行学习,速度太慢了。以后的技术文档直接看英文,适当的做做笔记即可。
山涛
-----------------------------------------------------
How to do Linux Kernel development
-----------------------------------------------------
关于如何进行Linux Kernel development,这篇文档是最值得你阅读的一篇。它指导你如何成为一名Linux内核开发者以及如何和Linux内核开发社区一同工作。尽管它不包含内核编程的技能方面的知识,但是本篇能够给你正确的指导去做内核开发。
如果这篇文档讲述的任何东西已经过时了的话,请给这篇文档的维护者发送你的更新。
Greg Kroah-Hartman greg@kroah.com
Introduction
-----------------
你想成为一名Linux内核开发者吗?或者你的老板曾经告诉你:去给某个设备写个Linux驱动程序。这篇文档的目标是,通过描述你进行开发时需要经历的一些流程规则去指导你如何与社区一起工作,教会你所需要的一切从而让你实现你的目标(成为一名合格的内核开发者,或者写出合格的令老板满意的驱动程序);这篇文档也会说明内核社区工作的风格和原因。
内核绝大部分代码是基于C语言编程,与体系结构有关的一小部分由汇编完成。很好的理解和掌握C语言,是内核开发的必备要求。汇编语言(不同的体系结构有不同的汇编语言)不是必需的,除非你计划做体系结构相关的底层开发。如果你想加强C语言的掌握,很好的参考资料如下:
- "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
- "Practical C Programming" by Steve Oualline [O'Reilly]
Linux内核是使用GNU C和GNU工具链完成的。尽管它遵循ISO C89标准,但是内核的编写也使用了许多的GNU C的扩展特性,这些特性不属于标准的一部分。内核的C编程环境自成体系,不依赖于C标准库,所以C标准的一部分特性没有被支持:例如Arbitrary long long divisions和浮点指针不被支持。有时你会很难理解内核基于GNU工具链的一些假定以及内核使用的一些GNU C扩展,不幸的是对于这类问题没有确定性的参考资料。如果你遇到这类问题,建议你查阅GCC的info pages来获取相关的信息(在Linux PC上,通过命令 info gcc可以获得信息)。
请记住你正在学习如何与已经存在的内核开发社区一起工作。内核开发社区由全球不同地方的开发人员组成,它以代码、风格、开发流程的高质量标准著称。这些高质量的标准使内核开发社区(这个组织非常大,地理位置非常分散)能够非常有效的进行。应当提早努力学习这些高质量标准(编程风格、代码要求以及开发流程),它们有很好的文档;不要期望内核开发社区别的开发人员会适应你自己的或者你公司的开发风格。
Legal Issues
------------------
Linux 内核代码基于GPL许可协议发布。请阅读内核源码树的主目录里的COPYING文件,它提供了GPL许可的详细描述。如果你有关于GPL许可的进一步问题,请联系一名律师,不要在Linux kernel mailing list里询问。Linux kernel mailing list里的开发人员不是律师,所以你不应当听取他们的任何关于法律事务的建议。
对于一些通常的关于GPL许可的问题和解答,请参考:
http://www.gnu.org/licenses/gpl-faq.html
Documentation
---------------------
Linux内核源码树里有大量的非常有用的文档用于学习,使你与内核社区相互促进和共同发展。当一个新的特性要加入到内核里,建议相关的文档也要加入到内核里,用于描述如何使用这个新特性;当一个内核的修改导致了内核提供给用户的接口发生了变化,建议你发送信息或者一个补丁给mtk-manpages@gmx.net,告诉manual pages的维护者用户接口的变化。
这里罗列了一些内核源码树里的需要阅读的文档:
README
这篇文档简要的介绍了Linux内核的背景,描述了配置和build内核需要什么。一个刚刚接触内核的新手应当从这里开始。(注:build kernel,就是编译内核源代码,生成可供系统使用的内核二进制文件(vmlinux/zImage)的过程。
Documentation/Changes
这篇文档给出了一个用于成功编译和运行内核的各种软件包的列表的最小集合。
Documentation/CodingStyle
这篇文档描述了Linux内核编码风格,和一些隐藏在背后的基本原理。所有的想加入内核的新代码应当遵循这篇文档的指导。绝大数的内核代码维护者只愿意接受那些符合这篇文档描述的风格的补丁,许多内核开发者也只愿意审查那些符合Linux内核编码风格的代码。
Documentation/SubmittingPatches
Documentation/SubmittingDrivers
这些文档清楚而又详细地告诉你如何成功的创建和向社区递交一个补丁,包括:
----邮件内容
----邮件格式
----发送者和接收者
遵循文档里提倡的规则并不一定保证你提交补丁成功(因为所有的补丁遭受详细而严格的内容和风格的审查),但是不遵循它们,提交补丁肯定不成功。
其他的一些非常优秀的描述如何正确的创建补丁的文档如下:
"The Perfect Patch"
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
"Linux kernel patch submission format"
http://linux.yyz.us/patch-format.html
Documentation/stable_api_nonsense.txt
这篇文档描述了有意决定在内核里没有固定内核API的基本原因,包含下面的讨论主题:
---子系统的shim-layers(为了兼容性?)
--- *** 作系统之间的驱动移植性
---减缓内核源码树的快速变化(或者说,防止快速变化)
这篇文档对于理解Linux的开发哲学非常关键,也对于从其他 *** 作系统转移到Linux上的开发人员非常重要。
Documentation/SecurityBugs
如果你确知你在Linux Kernel里发现了security problem,请遵循这篇文档描述的步骤,帮助通知内核的开发者们并解决这类问题。
Documentation/ManagementStyle
这篇文档描述了Linux内核开发者们如何进行管理运作,以及运作方法背后的分享精神(shared ethos)。这篇文档对于那些内核开发新手们(或者那些好奇者)值得一读,因为它解决或解释了很多对于内核维护者独特行为的误解。
Documentation/stable_kernel_rules.txt
这篇文档描述了一个稳定的内核版本如何发布的规则,以及需要做些什么如果你想把一个修改加入到其中的一个版本。
Documentation/kernel-docs.txt
关于内核开发的外部文档列表。如果你在内核开发的内部文档中找不到你想要的资料,请参考这篇文档提供的资料链接。
Documentation/applying-patches.txt
这篇文档很好地描述了什么是补丁(patch),以及如何将它应用到内核的不同开发分支(branch)上。
内核里也有大量的由内核源码自动生成的文档。其中包括了内核内部API的全面描述,和如何处理好锁的规则。这些文档在Documentation/DocBook/下创建,格式可以是PDF、Postscritpt、HTML和man pages,在内核源码主目录下通过运行下面命令自动生成:
make pdfdocs
make psdocs
make htmldocs
make mandocs
附上出处链接:http://www.cppblog.com/flyonok/archive/2011/04/15/144316.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)