随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:
常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linux 的基础之后,应该就可以很轻易的解决掉这方面的问题。而有些朋友们常常一接触Linux 就是希望构架网站,根本没有想到要先了解一下Linux 的基础。这是相当困难的。
二、Linux命令是必须学习
虽然Linux桌面应用发展很快,但是命令在Linux中依然有很强的生命力。Linux是一个命令行组成的操作系统,精髓在命令行,无论图形界面发展到什么水平这个原理是不会变的,Linux命令有许多强大的功能:从简单的磁盘操作、文件存取、到进行复杂的多媒体图象和流媒体文件的制作。举一个例子:Linux的常用命令find,察看man文档,初学者一定会觉得太复杂而不原意用,但是你一旦学会就爱不释手.它的功能实在太强了,在配合 exec参数或者通过管道重定向到xargs命令和grep命令,可以完成非常复杂的操作,如果同样的操作用图形界面的工具来完成,恐怕要多花十几陪的时间.
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令,按照它们在系统中的作用分成几个部分介绍给大家,通过这些基础命令的学习我们可以进一步理解Linux系统:
安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umount 、chsh
文件处理命令:file、 mkdir、 grep、dd、 find、 mv 、ls 、diff、 cat、 ln
系统管理相关命令: df、 top、 free、 quota 、at、 lp、 adduser、 groupadd kill、 crontab、 tar、 unzip、 gunzip 、last
网络操作命令:ifconfig、 ip 、ping 、 netstat 、telnet、 ftp、 route、 rlogin rcp 、finger 、mail 、nslookup
系统安全相关命令: passwd 、su、 umask 、chgrp、 chmod、chown、chattr、sudo、 pswho
三、选择一本好的工具书
工具书对于学习者而言是相当重要的。一本错误观念的工具书却会让新手整个误入歧途。目前国内关于Linux的书籍有很多不过精品的不多,笔者强烈建议阅读影印本的“O'Reilly原版Linux图书http://www.oreilly.com.cn/ ”,而且出版社还提供了一个非常好的路线图:http://www.oreilly.com.cn/guide/guide_linux.php 见图-1。
四、选择一个适合你的Linux发行版本
目前全球有超过1百多个Linux发行版本,在国内也能找到十几个常见版本。如何选择请根据你的需求和能力,Redhat Linux 和Debian Linux是网络管理员的理想选择。对于英语不是很好的读者红旗Linux、中标Linux这些中文版本比较适合。现在一些Linux网站有一些 Linux版本的免费下载,这里要说的是并不适合Linux初学者。
五、 养成在命令行下工作:
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢,但是熟悉后,您未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。即使是通过一条缓慢的调制解调器线路,它也能操纵几千公里以外地远程系统。
六、 选择一个适合你的Linux社区;
随着Linux应用的扩展,出现了不少Linux社区。其中有一些非常优秀的社区:www.linuxforum.net(国内最高水平GNU站点)、http://www.chinaunix.net/ (中国最大的Unix技术社区),但是这几个论坛往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。推荐适于初学者的Linux社区: www.linuxgo.org
红旗联盟论坛:http://www.linuxdiyf.com/
七、勤于实践:
要增加自己Linux 的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个 Linux 发行版本,然后进入精彩的Linux世界。相信对于你自己的 Linux 能力必然大有斩获。此外,人脑不像计算机的硬盘一样,除非硬盘坏掉了或者是资料被你抹掉了,否则储存的资料将永远而且立刻的记忆在硬盘中。在人类记忆的曲线中,你必须要不断的重复练习才会将一件事情记得比较熟。同样的,学习 Linux 也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。 Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可,其中一台计算机最好安装Windows系统。自己多动手,不要非要等着别人帮你解决问题。
七、 如何得到联机帮助
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。其实当你安装了一个完整的Linux系统后其中已经包含了一个强大的帮助,只是可能你还没有发现和使用它们的技巧。
1. 主流Linux发行版都自带非常详细的文档(包括手册页和FAQ),从系统安装到系统安全,针对不同层次的人的详尽文档,仔细阅读文档后40%问题都可在此解决。
2. 查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
八、在Linux论坛获取帮助
如果上面的措施没有解决问题,此时你就需要Linux社区的帮助了。Linux的使用者一般都是专业人士,他们有着很好的电脑背景且愿意协助他人,Linux高手更具有鼓励新手的文化精神。如何在Linux社区获得帮助,需要说明的是你要有周全的思考,准备好你的问题,不要草率的发问,否则只会得到到草率的回答或者根本得不到任何答案。越表现出在寻求帮助前为解决问题付出的努力,你越能得到实质性的帮助。最好先搜寻一下论坛是否有您需要的文章。这样可以获得事半功倍的效果。
下面笔者在论坛看到的一个好问题:“安装红旗4.0 后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练,笔者五分钟后就给出了解决方法:“首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini ,最后重启动计算机,生成新的unispimsp.ksc”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的,这种补充有助于他人在邮件列表/新闻组/论坛中搜索对你有过帮助的完整解决方案,这可能对他们也很有用。
下面看看一个让人无法回答的问题:“救命各位高手,向你们请教一些问题:如何在Linux下配制HTTP、FTP、Samba、DNS、DHCP、Sendmail服务器,谢谢” 这样的问题我想即使Linux高手也很难快速准确精练的回答你。
你需要提供精确有效的信息。这并不是要求你简单的把成吨的出错代码或者数据完全转储摘录到你的提问中。如果你有庞大而复杂的测试条件,尽量把它剪裁得越小越好。可能你会遇到这种情况,对于一个问题会出现不同内容回答,这时你需要通过实践来验证。另外把这个问题放在其他Linux社区请求帮助也是一种选择。如果得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
另外发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
9.用Unix思维学习Linux
Linux是参照Unix思想设计的,理解掌握Linux必须按照Unix思维来进行。思想性的转变比暂时性的技术提高更有用,因为他能帮助你加快学习速度。
10.学习专业英文
如果你想深入学习Linux,看不懂因为文档实在是太难了。写的最好的,最全面的文档都是英语写的,最先发布的技术信息也都是用英语写的。即便是非英语国家的人发布技术文档,也都首先翻译成英语在国际学术杂志和网络上发表。安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
11.最后是Linux学习的路线图:
1. 掌握至少50个以上的常用命令。
2. 熟悉Gnome/KDE等X-windows桌面环境操作 。
3. 掌握.tgz、.rpm等软件包的常用安装方法
4. 学习添加外设,安装设备驱动程序(比如网卡)
5. 熟悉Grub/Lilo引导器及简单的修复操作 。
6. 熟悉Linux文件系统 和目录结构。
7. 掌握vi,gcc,gdb等常用编辑器,编译器,调试器 。 www.linuxgo.org
8. 理解shell别名、管道、I/O重定向、输入和输出以及shell脚本编程。
9. 学习Linux环境下的组网。
以上是笔者学习Linux一些经验,希望对你有些帮助。
***********************************
【编者按:互联网资讯的发达,在带来大量讯息的同时,也让我们难于从整体上去看待一个事物。如美国畅销书《第五项修炼》中作者所说一样,我们常自觉或不自觉地不断将一个整体支解成片断,并让自身陷于片断知识的"细节性复杂"中,整体而系统地认识事物在互联网资讯时代已显得尤为必要!鉴于此,主要面向Linux初学者的"Linux学习指导"专题与大家见面了。
Linux的"旺火"烧得已有三、四年了,但对照Windows的应用普及程度,根本还未在一个数量级上,说到底,这"旺火"中有很大程度的"虚火",使用Linux在现在还大有阳春白雪之意。Linux是一块宝玉,但在一般人眼中,它的安装复杂、界面难看、硬件兼容差、应用软件少,再加上其网络应用功能强而让人多了"畏不可攀"的心理。姑且不谈这些印象是否正确,究其背后的原因,很重要的一点就是学习者未能比较完整地认识Linux,他们了解的不是太笼统就是太细节,面对一大堆的术语、命令的烦扰,很难拼合起一个对Linux的整体理解。本专题以问答的形式,让你从六个方面来了解Linux,祈于你的学习有所益!】
如今“Linux热”席卷全球,预计Linux不久将成为Windows家族最强的对手,由于很多朋友都在学习Linux,为了帮助大家快速上手,下面按照学习指导篇、基础、硬件安装、软件安装、使用、开发共六个方面来分别回答初学者经常遇到的问题。 www.linuxgo.org
学习指导篇
1、如何快速掌握Linux?
方法是多动手、动脑,学习时要经常与Windows进行对比。建议你先安装红旗 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]
cat 在文件后面追加文件,或在屏幕上打印文件内容,追加功能相当于dos的copy file1+file2,而在屏幕上打印文件内容可以和dos的typeml来类比。如果文件太大,在一屏上无法完全显示,则可用more命令
more 分屏显示文件内容,和dos下的more命令大致相同,但它可以和别的命令搭配使用。如:cat /home/eec/myfile | more。
cp
-r相当于dos的xcopy/s。用于拷贝一个目录下的所有子目录和文件 拷贝文件,相当于dos下的copy,使用方法与dos下的copy一样。
**********************************************
下面介绍几个我常去的不错的Linux网站:
国外的:
Linux Questions
是我认为世界上最好的Linux论坛,主要为新手解答各类问题(回贴率极高)
Distro Watch提供Linux各个版本的最新信息,我的这篇文章的一半都转自这儿,强烈推荐
Linux on Laptops提供Linux在N多款毛记本电脑的运行情况,强烈建议想在笔记本上使用Linux的人进去看看
Linux Journal最好的Linux新闻网
Linux ISO提供Linux 系统ISO光盘映象的下载,便速度有时不快(你也可以去各个Linux的官方网站找下载的链接)
国内的:
下面三个都是以论坛著称,各有特色:
Linux Sir输入法版块很好
China Linux Forum以提供许多流行的Linux ISO映象著称(Fedora core 2我就是在这里下载的)
ChinaUnix中国最大的unix社区,有一个版专门讨论Linux
下面给出我们OS老师推荐的Linux网站
国内的Linux网站
中国自由软件库:http://freesoft.cei.gov.cn/
Linux技术支持网站:http://www.Linuxaid.com.cn/
中国Linux组织的网站:http://www.Linux.org.cn/
中文Xteam Linux的网站:http://www.xteamLinux.com.cn/
中文TurboLinux的网站:http://www.turboLinux.com.cn/
国外著名Linux网站
Linux Online: http://www.Linux.org/ (这是Linux官方网站)
Linux国际协会(Linux International): http://li.org/
Linux: http://www. Linux.com/ (这里企业Linux网站)
HowTo: http://www. Linux-howto.com/
Linux help online: http://www.Linuxhelp.org/
Linux Sources: http://www.Linuxresources.com/
ftp网站
中国自由软件库:ftp://freesoft.cei.gov.cn/pub/Linux
Linux软件大本营:ftp://sunsite.unc.edu/pub/Linux
如果你想找到在Linux下使用的软件的下载处,请访问如下国外网站:
http://www.kde.org KDE桌面下使用的所有的程序的下载处
http://www.gnome.org GNOME桌面使用下所有的程序的下载处
http://www.freshmeat.net一堆软件下载处
http://www.icewalkers.com又一堆软件下载处
如果你更关心在Linux下编程或高级使用,请去下列国外网站看看:
http://www.kernel.org Linux内核官方网站
http://www.gnu.org GNU's Not Unix Project 官方网站
我们OS老师推荐的Linux原码分析书:(可在china-pub, dearbook, welan等网站在线订购)
蒋静, 徐志伟. 操作系统 原理"技术与编程. 机械工业出版社. 2004-01.
李善平, 刘文峰, 李程远, 王焕龙, 王伟波. Linux 内核2.4版源代码分析大全.机械工业出版社. 2002-01
陈莉君. 深入分析Linux内核源代码.人民邮电出版社. 2002-08
毛德操, 胡希明. LINUX内核源代码情景分析(上下册).浙江大学出版. 2001-09
郭玉东. LINUX 操作系统结构分析. 西安电子科技大学出版社. 2002-01
对于熟悉Windows操作系统的Linux初学者,或者是硬盘空间有限的Linux使用者,我建议大家用vmware虚拟机,这样你就可以在windows下运行linux!
这可真够神奇的!同时运行n个操作系统!
vmware的网站:www.vmware.com
我推荐VMware GSX Server,主要是为服务器设计的,更稳定。
可以在www.ttdown.com下载到。
使用vmware之前,要仔细阅读说明!而且还可以实现虚拟机Linux和主机windows的文件共享!
Linux是自由的,是免费的,因此发行版特别多,而且更新速度特别快。下面推荐几本不错的Linux书籍或在线文档,其中有一些可以在网络上免费下载。
先补充一个Linux常用网站:
Linux Today(Linux新闻,每日更新)
以下是书和在线文档,若是免费的,附下载链接:
综合类:
Linux Documentation Project(最大的Linux在线文档,但是偶上不去)
Linux Newbie Administration Guide 本人强烈推荐,保你看完那13篇文章后不再是Linux莱鸟!(但记得要付诸实践,多运行文章中给的操作和命令!)
在Windows与在Linux运行的软件的比较 新手必看!在Windows下运行的软件在Linux下都有替代品!Linux有比Windows更丰富的软件资源!
编程类:
Joyfire笔记 这里有好多笔记和书下载
Advanced Linux Programming
The Art of Unix Programming
[url=http://cslibrary.stanford.edu/107/Unix Programming Tools[/url]
《Linux内核完全注释》 V1.9.5版
关于不同发行版的Linux(如Red hat, Mandrake等)的文档,都可以在相应发行版的官方网站上看到,也可以下载。现在Fedora的文档还不是很齐全,建议你看red hat的,或去社区问高手。
我其实只能算是一个刚入门的Linux新手,如果文章哪里不对,请各位指出!
以后我再想到什么有用的东东,我会再发贴补充的,谢谢大家的支持!
担心word, ppt, xls, pdf,chm等文档不能在linux下查看?
那您是多余了。
Sun的OpenOffice.org可以打开微软件的doc, ppt, xls.
而ggv, acrobat, xpdf等工具可以在Linux下看pdf.
xchm和KDE的konqueror可以看chm,
其它的文件格式也一样!您不必担心!
想在Linux下运行Windows软件?绝对可以!
Wine可以用来运行许多windows程序
Crossover:专门用来运行Microsoft Office, DreamWeaver, Adobe Photoshop等windows下的大型软件
WineX:专门用来运行Windows下的游戏(所以别担心在Linux下玩不了CS!)。
担心Linux与Windows用户不能进行文件共享?那是不会的!Linux有一个叫Samba的文件服务器,可实现与Windows的文件共享。
所以,Linux不比Windows差,反而比Windows更富创新和激情!
我认为,Linux是您的理想选择。
Linux有这么多的好处,您还不去试试?