Linux 操作系统基础操作教学.docx
《Linux 操作系统基础操作教学.docx》由会员分享,可在线阅读,更多相关《Linux 操作系统基础操作教学.docx(29页珍藏版)》请在冰豆网上搜索。
Linux操作系统基础操作教学
Linux操作系统-基础操作-教学
Linux操作系统基础教程
福州大学信息学院计算机系刘延华
2003.2
前言
Linux是在1991年发展起来的与UNIX兼容的操作系统,可以免费使用,它的源代码可以自由传播且可任人修改、充实、发展,开发者的初衷是要共同创造一个完美、理想并可以免费使用的操作系统。
我们并不能使同学们通过这次系列讲座成为一个UNIX类操作系统的高手,这次系列讲座的目的就是在同学们中间普及Linux基础知识,为今后我们更加接近的了解Linux做一个好的开端。
第一讲Linux基础
在这一讲中,我们主要是了解一下Linux的概况,以及对Linux有一个初步的感性认识。
一.什么是Linux?
Linux是一个以Intel系列CPU(CYRIX,AMD的CPU也可以)为硬件平台,完全免费的UNIX兼容系统,完全适用于个人的PC。
它本身就是一个完整的32位的多用户多任务操作系统,因此不需要先安装DOS或其他的操作系统(MSWindows,OS2,MINIX..)就可以进行直接的安装。
Linux的最早起源是在1991年10月5日由一位芬兰的大学生LinuxTorvalds(Torvalds@kruuna.helsinki.fi)写了Linux核心程序的0.02版开始的,但其后的发展却几乎都是由互联网上的Linux社团(LinuxCommunity)互通交流而完成的。
Linux不属于任何一家公司或个人,任何人都可以免费取得甚至修改它的源代码(sourcecode)。
Linux上的大部分软件都是由GNU倡导发展起来的,所以软件通常都会在附着GNUPublicLicense(GPL)的情况下被自由传播。
GPL是一种可以使你免费获得自由软件的许可证,因此Linux使用者的使用活动基本不受限制(只要你不将它用于商业目的),而不必像使用微软产品是那样,需要为购满许可证付出高价还要受到系统安装数量的限制。
我在讲义的最后面附有GPL的非官方中文译稿。
目前Linux中国的发行版本(LinuxDistribution)主要有RedHat(红帽子),Slackware,Caldera,Debian,RedFlag(红旗),BluePoint(蓝点),XteamLinux(冲浪),HappyLinux(幸福Linux),Xlinux等若干种,我推荐同学们使用的发行版本是RedHat(事实标准)和Xlinux(安装最容易)。
二.安装Linux的好处?
Linux的核心具有Windows无法比拟的稳定性和高效率,在不使用XWindows的情况下,它占用系统资源较少,可以使一台Intel486摇身一变成为高效工作站。
对于想要学习UNIX的用户来说,使他们熟悉UNIX操作环境,通往"骨灰级"高手境界的一大捷径。
最重要的是,Linux上有公认的C语言世界最好的编译器gcc,如果你想得到一个效率更高的开发环境(并不一定是最友好的,但一定是最强大的),我建议你一定要好好的熟悉一下Linux。
三.如何得到Linux?
据我所知,大多数的Linux发行版本(Linuxdistribution)和核心(Kernel)都是可以从网上下载的,但是我不推荐易用这种方法得到Linux,因为仅仅核心就有几十个Mbit的数据量,而一个完整的发行版本大概都是1Gbit左右的数据量,你自己可以估计一下得用多少时间来下载它们?
我建议你最好去软件商店买光盘来,因为Linux的产品光盘是非常便宜的,连带许可证GPL在内你大概支付50元人民币就可以,而具有同样功能的WindowsNT4.0你至少得付出17000元人民币(有一点需要声明:
在你购买光盘时GPL许可证你是不会肉眼看到的)。
直接到商店去买,可以省去你很多麻烦,因为从网上下载的Linux有很多它还是要求你有光盘刻录工具将安装文件刻到光盘上。
四.如何得到Linux的最新消息?
关于Linux的站点现在到处都是,我这里向大家推荐的是一个关于Linux核心最新消息的一个网站,你可以得到核心(Kernel)发展情况的最新信息。
网址如下:
http:
//www.kernel.org另外还有一个非常著名的讨论组,你也可以去看看:
另外还有一个我常去的讨论组,这个讨论组是有高手专门维护的,而且回应贴子的速度很快:
五.Linux操作系统上有什么应用?
Linux上有丰富的的应用软件,在这里我给大家做一个简单的介绍,具体它们是什么样子我会在讲座上为大家一一演示。
文本处理方面(控制台界面,XWindow界面在后面介绍)
vi最令UNIX类操作系统初学者裹足不前的editor,然而只要你习惯于操作,你会觉得它比任何的editor都好用,且功能强大。
pico一种风格很像MicrosoftDOS的EDIT的一种文本编辑器。
中文化方面
XCIN+Crxvt缺省的Linux系统是不支持显示中文的,虽然现在国内涌现出许多著名的Linux汉化厂商,但是一些著名的Linuxdistribution如RedHat、Debian、Caldera仍然不支持中文的输入和输出。
这套汉化工具组合在控制台(console)方式和XWindow方式下都可以显示和输入汉字信息。
Cxterm可以很容易的自行设置输入法,或者修改现有的输入法表格。
视窗界面(windowmanager)方面
KDE这是XWindowSystem使用率最高的WindowManager。
lFvwm公认的最为好用的WindowManager之一。
Fvwm95拥有和MicrosoftWin95同样界面的WindowManager。
Afterstep公认的最好看的WindowManager,但号内存也很大。
Enlightenment界面最华丽的WindowManager,Win95和它相比简直就是nothing,但是号内存太大,有点华而不实。
lIcewin又一个极富个性的WindowManager。
视窗应用软件方面
WWWBrowserNetscape公司的navigator3.x和communicator4.x版可用,使用方法和MSWindows上一样。
图像处理GIMP是类似于Photoshop的绘图软件,号称是Linux上最强的绘图软件。
看图工具
MTV这是一个可以播放VCD的软件,但是它是共享软件(Shareware),不是免费软件,我们也得不到它的源代码。
StarOffice这是一套著名的办公软件,我个人认为它无论在界面上还是在功能上都强于MicrosoftOffice产品。
唯一的缺憾是他不支持汉字,无论GB还是BIG5。
WordPerfect这是一个非常精彩的字处理软件,功能类似于MicrosoftWord。
文杰字处理系统这是一套由韩国人开发的字处理系统,功能强大,有专门的中文版推出,类似于MicrosoftWord。
编译环境
gcc公认的C语言世界中功能最为强大的编译器,但是界面不是很友好。
除此之外还有FORTRAN、Pascal、GNUmake、GNUdebugger、GNULISP、GNUPERL、TCL。
这里因为本人对这些编译工具都不熟悉,因此不多介绍。
MSWindows的模拟环境
WINE可以使绝大多数的16位MSWindow程序运行在这个模拟环境中。
但是不支持32位的程序。
六.在那里可以找到讨论区?
大家最熟悉的是北邮的BBS:
202.204.7.235port:
23
七.安装过程
这是非常重要的一部分,希望大家仔细了解本部分内容。
就我个人认为,对于初学者来说,Linux的安装过程是相当难的,新手往往会遇到系统屡装不成的情况。
遇到这种事情,是非常痛苦的,但是几乎每个新手又都会遇到,因此我觉得安装过程应当仔细的说明一下。
但是由于篇幅有限,我不见这个这个问题在讲义的正文中陈述,而是把它放在附文2中仔细说明。
希望没有安装过Linux的同学们将这篇文章看一看。
我想在上课的时候我会给大家演示一遍安装的过程。
第二讲Linux基础进阶
经过上一节课的探讨,我想同学们应该对Linux有了一个初步的感性认识,但我们的认识还只是处在一个尚需进步的表层上。
通过这一节的学习,同学们会对Linux的体系结构,它的基本操作,基本功能有一个更进一步的认识。
一.Linux的文件系统结构
Linux的文件系统和MS-Windows的文件系统有很大的不同,对于微软视窗系统的文件结构我在这里不再多说,我们主要了结一下linux的文件系统结构.linux只有一个文件树,整个文件系统是以一个树根"/"为起点的,所有的文件和外部设备都以文件的形式挂结在这个文件树上,包括硬盘,软盘,光驱,调制解调器等,这和以"驱动器盘符为基础的MS-Windows系统是大不相同的.Linux的文件结构体现了这个操作系统简洁清析的设,常我们能够接触到的linux发行版本的根目录大都是以下结构:
/bin/etc/lost+found/sbin/var/boot/root
/home/mnt/tmp/dev/lib/proc/usr
现在我将这些目录给大家做一个简要的介绍:
1./bin和/sbin
使用和维护UNIX和Linux系统的大部分基本程序都包含在/bin和/sbin里,这两个目录的名气之所以包含bin,是因为可执行的程序都是二进制文件(binaryfiles).
/bin目录通常用来存放用户最常用的基本程序,如:
login
Shells
文件操作实用程序
系统实用程序
压缩工具
/sbin目录通常存放基本的系统和系统维护程序,如:
fsckfdiskmkfsshutdownliloinit
存放在这两个目录中的程序的主要区别是:
/sbin中的程序只能由root(管理员)来执行.
2./etc
这个目录一般用来存放程序所需的整个文件系统的配置文件,其中的一些重要文件如下:
passwdshadowfstabhostsmotdprofileshellsservices
lilo.conf
3./lost+found
这个目录专门是用来放那些在系统非正常菪机后重新启动系统时,不知道改网哪里恢复的"流浪"文件的。
4./boot
这个目录下面存放着和系统启动有关系的各种文件,包括系统的引导程序和系统核心部分。
5./root
这是系统管理员(root)的主目录。
6./home
系统中所有用户的主目录都存放在/home中,它包含实际用户(人)的主目录和其他用户的主目录.Linux同UNIX的不同之处是,Linux的root用户的主目录通常是在/root或/home/root,而UNIX通常是在/。
7./mnt
按照约定,像CD-ROM,软盘,Zip盘,或者Jaz这样的可以动介质都应该安装在/mnt目录下,/mnt目录通常包含一些子目录,每个子目录是某种特定设备类型的一个安装点。
例如:
/cdrom/floppy/zip/win....
如果我们要使用这些特定设备,我们需要用mount命令从/dev目录中将外部设备挂接过来。
在这里大家可能看到了有一个win的目录,这是我的机子上面做的一个通向windows文件系统的挂接点,这样我通过访问这个目录就可以访问到我在windows下面的文件了。
但如果你的windows文件系统是NTFS格式,那么这个办法就不行了。
8./tmp和/var
这两个目录用来存放临时文件和经常变动的文件。
9./dev
这是一个非常重要的目录,它存放着各种外部设备的镜像文件,其中有一些内容我们是要牢牢记住的。
例如第一个软盘驱动器的名字是fd0;第一个硬盘的名字是hda,硬盘中的第一个分区是hda1,第二个分区是hda2;第一个光盘驱动器的名字是hdc;此外,还用modem和其他外设的名字,在这么多的名字中,我们只需要记住最最常用的那几个外设就可以了。
10./usr
按照约定,这个目录用来存放与系统的用户直接相关的程序或文件,这里面有每一个系统用户的主目录,就是相对于他们的小型"/"。
11./proc
这个目录下面的内容是当前在系统中运行的进程的虚拟镜像,我们在这里可以看到由当前运行的进程号组成的一些目录,还有一个记录当前内存内容的kernel文件。
就个人经验,我认为这些目录以及在它们下面应该存储什么内容,我们都应当很熟练的记下来,这对于我们进一步的使用系统是很有帮助的。
二.文件类型
本来我是想把基本操作命令放在这里介绍一下,但是这些命令中又不少是涉及到文件类型的,所以我就只好先介绍一下文件类型了。
Linux的文件类型大致可分为五类,而且它支持长文件名,不论是文件还是目录名,最长可以达到256个字节。
如果你能够用128个汉字写一片小作文,那你也可以用它来做某个文件的文件名(当然这里面不能有不合规定的命名字符存在)。
1.一般性文件
一般性文件,例如纯文本文件mtv-0.0b4.README,设置文件lilo.conf,记录文件ftp.log等等都是。
一般类型的文件在控制台的显示下都没有颜色,系统默认的是白色。
2.目录
至于目录是什么意思我就不解释了,我的任务是要告诉大家,你可以用cd+目录名进入到这个目录中去,而这个目录在控制台下显示的颜色是蓝色的,非常容易辨认。
如果你用ls-l来观看它们,会发现它们的文件属性(共10个字符)的一个字符是d,这表明它是一个目录,而不是其它的东西。
三.Linux基本操作命令
首先介绍一个名词"控制台(console)",它就是我们通常见到的使用字符操作界面的人机接口,例如dos。
我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。
我们现在要了解的是基于Linux操作系统的基本控制台命令。
有一点一定要注意,和dos命令不同的是,Linux的命令(也包括文件名等等)对大小写是敏感的,也就是说,如果你输入的命令大小写不对的话,系统是不会做出你期望的响应的。
1.ls
这个命令就相当于dos下的dir命令一样,肯定是我第一个就要介绍的,这也是Linux控制台命令中最为重要几个命令之一。
ls最常用的参数有三个:
-a-l-F。
ls-a
Linux上的文件以.开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls-a除了显示一般文件名外,连隐藏文件也会显示出来。
ls-l(这个参数是字母L的小写,不是数字1)
这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls-l这个指令。
例如我在某个目录下键入ls-l可能会显示如下信息(最上面两行是我自己加的):
位置1234567
文件属性文件数拥有者所属的group文件大小建档日期文件名
drwx------2Guestusers1024Nov2121:
05Mail
-rwx--x--x1rootroot89080Nov722:
41tar*
-rwxr-xr-x1rootbin5013Aug159:
32uname*
lrwxrwxrwx1rootroot4Nov2419:
30zcat->gzip
-rwxr-xr-x1rootbin308364Nov297:
43zsh*
-rwsr-x---1rootbin9853Aug155:
46su*
下面,我为大家解释一下这些显示内容的意义。
第一个栏位,表示文件的属性。
Linux的文件基本上分为三个属性:
可读(r),可写(w),可执行(x)。
但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。
第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横"-"表示,则表示这是文件。
其余剩下的格子就以每3格为一个单位。
因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
rwx(Owner)r-x(Group)r-x(Other)
这个例子表示的权限是:
使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。
另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。
一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
第二个栏位,表示文件个数。
如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三个栏位,表示该文件或目录的拥有者。
若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四个栏位,表示所属的组(group)。
每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五栏位,表示文件大小。
文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls-k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六个栏位,表示创建日期。
以"月,日,时间"的格式表示,如Aug155:
46表示8月15日早上5:
46分。
第七个栏位,表示文件名。
我们可以用ls-a显示隐藏的文件名。
Ls-F(注意,是大写的F)
使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。
但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
2.cd命令
这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。
首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。
其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的HomeDirectory。
假设如果是root,那就是回到/root.这个功能同cd~是一样的。
3.mkdir,rmdir命令
mkdir命令用来建立新的目录,rmdir用来删除以建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。
4.cp命令
这个命令相当于dos下面的copy命令,具体用法是:
cp-r源文件(source)目的文件(target)
参数r是指连同元文件中的子目录一同拷贝。
熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。
5.rm命令
这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。
Rm命令常用的参数有三个:
-i,-r,-f。
比如我现在要删除一个名字为text的一个文件:
rm-itest
系统会询问我们:
"rm:
remove'test'?
y",敲了回车以后,这个文件才会真的被删除。
之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。
rm-r目录名
这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。
rm-f文件名(目录名)
这个操作可以进行强制删除。
6.mv命令
这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。
它的用法同dos下面的move基本相同,这里不再多讲。
当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。
另外因为linux下面没有rename的命令,所以如果你想给一个文件或目录重命名时可以用以下方法:
mv原文件(目录)名新的文件(目录)名
7.du,df命令
du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。
如果du命令不加任何参数,那么返回的是整个磁盘的使用情况,如果后面加了目录的话,就是这个目录在磁盘上的使用情况(这个功能可是dos没有的呦)。
不过我一般不喜欢用du,因为它给出的信息是在是太多了,我看不过来,而df这个命令我是最常用的,因为磁盘上还剩多少空间对我来说是很重要的。
8.cat命令
这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。
cat是concatenate的简写,类似于dos下面的type命令。
它的用法如下:
cattext显示text这个文件
catfile1file2依顺序显示file1,file2的内容
catfile1file2>file3把file1,file2的内容结合起来,再"重定向(>)"到file3文件中。
"〉"是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。
这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。
如果〉左边没有文件的名称,而右边有文件名,例如: