‘壹’ 怎么学习linux
学习Linux有两种方式:一种是参加培训;另一种是自学。
Linux培训学习周期为五个月,从0基础开始教学,无论有没有基础,只要跟着老师坚持学下去,毕业后可以找到非常不错的工作;自学的话,学习周期较长,对基础和学习能力有要求,并且需要有合适的学习资料,否则很难掌握。
以下是Linux学习路线:
对于Linux的学习,可以分为四个阶段,Linux初级入门阶段→Linux中级进阶→Linux高级进阶→Linux资深方向细化阶段
第一阶段:初级阶段
初级阶段需要把linux学习路线搞清楚,任何学习都是循序渐进的,所以学linux也是需要有一定的路线。
1. Linux基础知识、基本命令;
2. Linux用户及权限基础;
3. Linux系统进程管理进阶;
4. linux高效文本、文件处理命令;
5. shell脚本入门
第二阶段:中级进阶
中级进阶需要在充分了解linux原理和基础知识之后,对上层的应用和服务进行深入学习,其中说到服务肯定涉及到网络的相关知识,是需要花时间学习的。
1. TCP/IP网络基础;
2. Linux企业常用服务;
3. Linux企业级安全原理和防范技巧;
4. 加密/解密原理及数据安全、系统服务访问控制及服务安全基础;
5. iptables安全策略构建;
6. shell脚本进阶;
7. MySQL应用原理及管理入门
第三阶段:Linux高级进阶
1. http服务代理缓存加速;
2. 企业级负载集群;
3. 企业级高可用集群;
4. 运维监控zabbix详解;
5. 运维自动化学习;
第四阶段:Linux资深方向细化
1. 大数据方向;
2. 云计算方向;
3. 运维开发;
4. 自动化运维;
5. 运维架构师
‘贰’ 求linux下shell的编写书籍
Linux教程 Shell精华文章
http://www.linuxfans.org/nuke/moles.php?name=Site_Downloads&op=geninfo&did=4250
《LINUX与UNIX SHELL编程指南》读书笔记
http://www.linuxfans.org/nuke/moles.php?name=Site_Downloads&op=geninfo&did=3907
LINUX与UNIX_SHELL编程指南(中文pdf格式)
http://www.linuxfans.org/nuke/moles.php?name=Site_Downloads&op=geninfo&did=247
这些教程都来自linux公社,这是在中国非常有名的linux论坛,可以去看看,有很多教程软件下载,还可以学到很多东西
‘叁’ 推荐几本好书:Unix||Linux下C编程
对你来说没什么难的``不会就问网络~问网络``
黑客就是这样学习的~~
IT界最基本的心态和方法.
‘肆’ 林纳斯·托瓦兹的成功读后感
林纳斯说,Linux所取得的许多成功其实可以归结为他的缺点所致。“我很懒散,我喜欢授权给其他人。”就连Linux的企鹅形象标识也是林纳斯的妻子,曾获芬兰空手道冠军的托芙(Tove)想到的,因为林纳斯曾经在澳大利亚被一只企鹅咬过。“黑客们,不,程序员们,把在Linux和其它开放源代码项目上的工作,放在比睡觉、锻炼身体、娱乐和聚会更优先的地位。因为他们乐于成为一个全球协作努力活动的一部分—Linux是世界上最大的协作项目。
‘伍’ 怎样学习linux
方法是多动手、动脑,学习时要经常与Windows进行对比。建议你先安装RedHat Linux,然后练习如何配置它,如何使用Linux命令,如何在X—WINDOWS下操作,如何在Linux下安装应用软件,如何在Linux下上网、编辑文档、播放多媒体文件、玩游戏等。
快速上手的方法只有一个,那就是多动手操作,看看你能否完成上面的工作。
2、Linux与Windows有哪些异同点?
Windows是图形界面的,Linux类似以前的DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux也能显示图形界面,也有开始菜单、桌面、图标等。
Windows有MS-DOS方式,在该方式下通过输入DOS命令来操作电脑;而Linux与Windows类似,也有命令方式,Linux启动后如果不执行X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图片,玩游戏、上网、播放多媒体文件等。
不过Linux的分区格式和目录结构,与Windows迥然不同,应用软件的安装方式也不同。
3、安装Linux时的注意事项
安装前确定好Linux安装在哪个分区,Linux也有系统分区和Swap分区(类似Windows的虚拟分区,即交换文件)两个分区。由于Linux支持的分区格式与Windows分区格式不同,所以如果安装了Linux后,Windows还能继续使用,Linux就应该安装在硬盘分区的最后一个扩展分区;其次Linux的Swap分区必须保证有60MB,系统分区最少要保证240MB;此外安装前搜集好PC硬件方面的信息,特别是显示器信息,这将直接决定你安装Linux后,使用图形界面程序的效果;在安装、使用中输入命令时,请注意大小写。
4、掌握Linux的目录结构
Linux的目录结构与Windows不同,而且在Windows下看不到Linux的目录,反过来,Linux也看不到Windows下的目录。Linux下各目录的含义如下:
目录名称
意 义
/vmlinuz
该目录中存放的是系统内核
/bin
该目录中存放Linux的常用命令,在有的版本中是一些和根目录下相同的目录。
/boot
该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息
/dev
该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
/cdrom
该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下, 例如“mount /dev/cdrom /cdrom”
/etc
该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
/sbin
该目录用来存放系统管理员的系统管理程序。
/home
如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
/lib
该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库
/lost+found
该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
/mnt
该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。
/proc
可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的
/root
如果你是以超级用户的身份登录的,这个就是超级用户的主目录
/tmp
用来存放不同程序执行时产生的临时文件
/usr
用户的很多应用程序和文件都存放在该目录下
5、Linux的常用命令
如果在Linux命令行模式下遇到不会用的命令,你可以打"man [command]"得到该命令的帮助,如果想知道一个命令有哪些参数,可以打command -help来得到。
注意:linux中的参数输入形式和dos不一样,在命令后面应该打一个空格,然后打"-",最后再跟一个或多个参数;另外linux下大小写是有区别的!
下面介绍几个linux下最常用的命令,每个命令都与对应的dos命令作比较,并列出一些常用的参数。
命令参数
意 义
Ls
-a列出系统中的隐含文件,linux下的隐含文件是靠文件名的格式来表示的,不同于dos是靠文件属性来表示,即只要该文件以“.”开头,那么它就是隐含文件。
-l以长式列出。就是把该文件或目录的所有信息都列出来,一个文件占一行
相当于dos下的dir命令,是列文件列表的命令。
cd
和dos下的cd一样,转换目录的命令。 注意:linux下转到上级目录要打"cd .."而不是dos下的"cd..",即"cd"后面要有个空格
pwd
列出当前目录命令,相当于dos下没有参数的cd命令。例如:
[root@ttqq bin]# pwd /usr/bin [root@ttqq bin]# 这表示目前在"/usr/bin"目录下。
Mkdir
-m mode表示建立目录时默认的目录模式。这个是dos和Windows所没有的功能,主要是关于权限的问题。
建立新目录,相当于dos的md命令。一般就用 mkdir [dirname]
rmdir
删除目录,相当于dos的rd命令。
用法:rmdir [dirname]
cp
-r相当于dos的x/s。用于拷贝一个目录下的所有子目录和文件
建立新目录,相当于dos的md命令。一般就用 mkdir [dirname]
cat
在文件后面追加文件,或在屏幕上打印文件内容,追加功能相当于dos的 file1+file2,而在屏幕上打印文件内容可以和dos的typeml来类比。如果文件太大,在一屏上无法完全显示,则可用more命令
more
分屏显示文件内容,和dos下的more命令大致相同,但它可以和别的命令搭配使用。如:cat /home/eec/myfile | more。
参考资料:http://blog.donews.com/jgs/category/29817.aspx
‘陆’ 如何编译linux内核内核 mint系统实现系统调用
《linux内核设计与实现》读书笔记(五)-系统调用主要内容:什么是系统调用linux上的系统调用实现原理一个简单的系统调用的实现1ernel/sys.c我在sys.c中追加了2个函数:sys_foo和sys_bar如果是在x86_64的内核中增加一个系统调用,只需修改 arch/x86/include/asm/unistd_64.h,比如sys_bar。修改内容参见下面的diff文件:diff -r new/arch/x86/ia32/ia32entry.S old/arch/x86/ia32/ia32entry.S855d854< .quad sys_foodiff -r new/arch/x86/include/asm/unistd_32.h old/arch/x86/include/asm/unistd_32.h357d356< #define __NR_foo 349361c360< #define NR_syscalls 350--- > #define NR_syscalls 349diff -r new/arch/x86/include/asm/unistd_64.h old/arch/x86/include/asm/unistd_64.h689,692d688< #define __NR_foo 312< __SYSCALL(__NR_foo, sys_foo)< #define __NR_bar 313< __SYSCALL(__NR_bar, sys_bar)diff -r new/arch/x86/kernel/syscall_table_32.S old/arch/x86/kernel/syscall_table_32.S351d350< .long sys_foodiff -r new/include/asm-generic/unistd.h old/include/asm-generic/unistd.h694,695d693< #define __NR_foo 272< __SYSCALL(__NR_foo, sys_foo)698c696< #define __NR_syscalls 273---> #define __NR_syscalls 272diff -r new/kernel/sys.c old/kernel/sys.c1920,1928d1919<< asmlinkage long sys_foo(void)< {< return 1112223334444555;< }< asmlinkage long sys_bar(void)< {< return 1234567890;< } 3.3 编译内核#cd linux-3.2.28#make menuconfig (选择要编译参数,如果不熟悉内核编译,用默认选项即可)#make all (这一步真的时间很长......)#make moles_install#make install (这一步会把新的内核加到启动项中)#reboot (重启系统进入新的内核)3.4 编写调用的系统调用的代码#include <unistd.h>#include <sys/syscall.h>#include <string.h>#include <stdio.h>#include <errno.h>#define __NR_foo 312#define __NR_bar 313 int main(){ printf (result foo is %ld/n, syscall(__NR_foo)); printf(%s/n, strerror(errno)); printf (result bar is %ld/n, syscall(__NR_bar)); printf(%s/n, strerror(errno)); return 0;}编译运行上面的代码:#gcc test.c -o test#./test运行结果如下:result foo is 1112223334444555Successresult bar is 1234567890Success
‘柒’ 求一篇《鸟哥的Linux私房菜》的读后感
自己在安装linux的过程中,遇到了一些问题,我的台式机没有光驱,笔记本的光驱也坏了。。加上我的台式机上已经装了win7系统,想装双系统,于是选择了在windows下硬盘安装centOS,昨晚毕业一周年聚餐,回来路上下雨了,洗完澡已经是10点半,本想看本书的20章了解一些引导之类的知识,但发现第20章有许多内容跟前面的章节有关,而我才看到第4章,于是放弃,直接开始装系统,当时自己打定主意不装完不睡觉,结果直接就装到凌晨三点半才装完。。。不过还是蛮有成就感。。过程中也遇到了许多很白痴的错误,把这个记录下来,一方面怕自己再忘了,一方面希望能够帮助之后装这个的童鞋。首先在网上之前就搜到了一篇很详细的教程,非常详细的教程,很感谢这位兄弟,但是在过程中,自己还是遇到了一些问题:1)把CentOs5.5的镜像放在计算机的一个文件系统为fat32的分区中(不能是欲安装centos的分区)。当然也可放在优盘、移动硬盘中,只要文件系统是fat32就行,因为linux不识别ntfs。这是遇到的第一个问题,我的所有硬盘都是ntfs格式的,而且我格式化磁盘的时候发现格式化都没有fat32的选项。想了好几个办法,比如下partition magic软件,结果发现win7下不能运行该软件。。然后发现我的一个2G的U盘可以被格式化为fat32格式,于是果断备份文件并格式化,把已经下好的镜像文件CentOS-5.8-i386-bin-1of7(这个是接下来要讲的白痴问题。。)放置到U盘中,然后按照教程的操作,解压grub中的文件和镜像中的相应文件到C盘根目录。之后就遇到了另一个问题。2)教程要求找到C盘根目录下的boot.ini文件,在文件最后添加一句话:c:\grldr="CentOS" 。但是我在我的C盘根目录下找不到这个文件。。于是google之,然后找到另一个人在win7下用grub装ubuntu的心得,他直接新建了个这个文件。。。于是我依葫芦画瓢,在根目录下新建boot.ini,然后添加了该语句。重启电脑,依照教程图片以及《私房菜》书中的说明一步步设置分区以及引导装载程序、网络、时区、root密码等。等到最后安装的时候,安装了一小部分之后,发现出现一个错误missing ISO 9660 Image的错误。。无法安装,于是选择reboot来abort安装。3)继续上网查找该错误。发现很多人遇到同样问题,都说是要把所有镜像放到一个目录下。我就纳闷了,我就一个镜像啊,然后再仔细看一下我的镜像文件,然后就发现自己脑残了,我那个iso镜像文件名说的很明白,是1of7,说明还有6个其他镜像啊。。!然后开始到官网下剩下的6个镜像,这一来就已经两点多了。。4)现在还有一个问题,就是U盘只有2G的空间,总共7个镜像加起来有4G多,U盘无法装下,必须用电脑或者移动硬盘才有足够空间,但是移动硬盘和电脑硬盘格式化时都没有fat32选项,又找不到合适的分区软件,网上有人说直接格式化就可以,那为什么我的不可以?于是继续google该问题,发现原来超过35G的硬盘是不能被格式化为fat32的。。。。于是果断在磁盘管理中分出一个20G的卷,再格式化其为fat32格式,接着把下好了的7个镜像放置其中。重启,在安装选项选择硬盘安装,选择放置镜像的磁盘,然后一路设置,最后开始安装,期间去客厅看英格兰vs意大利,看完半场之后装好了,于是点击完成并重启进行第一次设置,设置仍然是按照《私房菜》的教导,最后完成,一看时间,已经快凌晨4点了。。这次安装linux的经历说明,遇到问题不要害怕,网上能找到几乎所有的答案,要善于利用教程,还有很重要的一点,我很久之前就下好了镜像,一直不敢开始,反而浪费了大量时间做无效的工作,在计算机学习上,只有不断地实践、实践,才能学到东西,记住这一点,加油!
‘捌’ 记事读书笔记
楼主是想问什么?
如果是想问应用的话推荐为知笔记。
我喜欢为知笔记的原因很简单——支持多平台(安卓、Windows、Linux)云上传,而且可以在浏览器使用。
‘玖’ 深入理解计算机系统 读后感
[深入理解计算机系统 读后感]
从程序员的视角,看计算机系统!
本书适用于那些想要写出更快、更可靠程序的程序员,深入理解计算机系统 读后感。通过掌握程序是如何映射到系统上,以及程序是如何执行的,读者能够更好的理解程序的行为为什么是这样的,以及效率低下是如何造成的。粗略来看,计算机系统包括处理器和存储器硬件、编译器、操作系统和网络互连环境。而通过程序员的视角,读者可以清晰地明白学习计算机系统的内部工作原理会对他们今后作为计算机科学研究者和工程师的工作有进一步的帮助。它还有助于为进一步学习计算机体系结构、操作系统、编译器和网络互连做好准备。
本书的主要论题包括:数据表示、C程序的机器级表示、处理器结构,程序优化、存储器层次结构、链接、异常控制流、虚拟存储器和存储器管理、系统级I/O、网络编程和并发编程。书中所覆盖的内容主要是这些方面是如何影响应用和系统程序员的。例如,在讲述数据表示时,本书说明了用来表示数字的表示方法是有限的,它能够近似地表示整数和实数,但是这种表示方法是有限制的,程序员必须了解。在讲述高速缓存时,本书讨论了矩阵代码中的循环变量的顺序是如何影响程序的性能的。在讨论网络互连时,本书描述了并发服务器如何能有效地处理来自多个客户端的请求。
本书基于Intel兼容(IA32)机器,在Unix或者相关的操作系统(例如,Linux)上执行C程序。虽然书中包括了一些帮助读者将Java转化成C的提示,但是还是要求读者对C或者C++有一定的了解。
您可以通过本书的Web网站www.csapp.cs.cmu.e获得完整的资料,包括实验和作业,授课笔记和代码示例,读后感《深入理解计算机系统 读后感》。
本书英文版久负盛名,被众多专业人士称为“最伟大的计算机教材”之一,着名的美国卡内基梅隆大学计算机科学系一直将本书作为教材使用,程序员眼中的透彻讲述计算机系统的扛鼎之作。作者Randal
E.
Bryant是卡耐基梅隆大学的计算机科学系主任,ACM和IEEE双院士(Fellow),其研究成果多次获得ACM和IEEE颁发的大奖。
本书共分十三章,分别介绍了信息的表示和处理、程序的机器级表示、处理器体系结构、存储器层次结构、静态和动态链接、虚拟存储器、系统级I/O、网络编程和并发编程等精彩内容。其目的是解释计算机系统的所有本质概念,并向读者展示这些概念是如何实际地影响应用程序的正确性、性能和实用性。与其他主要针对系统构造人员的系统类书籍不同,这本书是写给程序员的,是从程序员的角度来描述的。本书为软件和硬件之间搭起了一个桥梁,它给出了一种帮助读者分别从硬件和软件的角度去理解一个程序及其行为的途径,这也填补了国内计算机系统教学中的一个空白。本书的最大优点是帮助读者理解概念,让读者很清楚地在脑海中构造一个层次型的计算机系统,从最低层数据在内存中的表示(如我们一直陌生的浮点数表示),到流水线指令的构成,到虚拟存储器,到编译系统,到动态加载库,到最后的用户应用。
本书提供了大量的例子和练习及部分答案。尤其值得一提的是,对于每一个基本概念都有相应的笔头或程序试验,加深读者的理解。
〔深入理解计算机系统 读后感〕随文赠言:【这世上的一切都借希望而完成,农夫不会剥下一粒玉米,如果他不曾希望它长成种粒;单身汉不会娶妻,如果他不曾希望有孩子;商人也不会去工作,如果他不曾希望因此而有收益。】