《Linux操作系统应用编程全书电子课件完整版ppt整本书电子教案最全ppt教学教程.pptx》由会员分享,可在线阅读,更多相关《Linux操作系统应用编程全书电子课件完整版ppt整本书电子教案最全ppt教学教程.pptx(88页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Linux操作系统操作系统应用编程应用编程 本章主要介绍本章主要介绍LinuxLinux操作系统的基本概念、发展历程、主操作系统的基本概念、发展历程、主要组成部分、运行模式、功能特征、操作流程、命令基础,以要组成部分、运行模式、功能特征、操作流程、命令基础,以及文件与进程的基本概念等,让读者对及文件与进程的基本概念等,让读者对LinuxLinux操作系统有初步操作系统有初步的认识,为后文的学习打下基础。的认识,为后文的学习打下基础。1.1.1 什么是Linux LinuxLinux是一个可以免费使用和自由传播的类是一个可以免费使用和自由传播的类UNIXUNIX操作系统,操作系统,也是一个基于也
2、是一个基于POSIXPOSIX和和UNIXUNIX的支持多用户、多任务、多线程和的支持多用户、多任务、多线程和多多CPUCPU的操作系统。的操作系统。LinuxLinux操作系统继承了操作系统继承了UNIXUNIX操作系统以网络操作系统以网络为核心的设计思想,是一个性能稳定的网络操作系统。它能运为核心的设计思想,是一个性能稳定的网络操作系统。它能运行主要的行主要的UNIXUNIX工具软件、应用程序和网络协议,支持工具软件、应用程序和网络协议,支持3232位和位和6464位硬件。位硬件。1.1.2 Linux的发展历程 LinuxLinux操作系统的诞生、发展和成长过程始终依赖操作系统的诞生、发
3、展和成长过程始终依赖5 5个重要支柱:个重要支柱:UNIXUNIX操作系统、操作系统、MINIXMINIX操作系统、操作系统、GNUGNU计划、计划、POSIXPOSIX标准和标准和InternetInternet。1.1.3 Linux操作系统的组成 LinuxLinux操作系统一般有四大主要部分:内核、操作系统一般有四大主要部分:内核、ShellShell、文件、文件系统和应用程序。内核、系统和应用程序。内核、ShellShell和文件系统一起构成了基本的操和文件系统一起构成了基本的操作系统,它们使用户可以运行程序、管理文件并使用系统。作系统,它们使用户可以运行程序、管理文件并使用系统。1
4、 1LinuxLinux内核内核 内核是操作系统的核心,它提供了操作系统最基本的功能,内核是操作系统的核心,它提供了操作系统最基本的功能,如支持虚拟内存、多任务、共享库、需求加载、可执行程序和如支持虚拟内存、多任务、共享库、需求加载、可执行程序和TCP/IPTCP/IP网络等。网络等。LinuxLinux内核的模块分为以下部分:存储管理、内核的模块分为以下部分:存储管理、CPUCPU和进程管理、文件系统、设备管理和驱动、网络通信、系统和进程管理、文件系统、设备管理和驱动、网络通信、系统的初始化和系统调用等。的初始化和系统调用等。2 2Linux ShellLinux Shell ShellSh
5、ell是是LinuxLinux操作系统的一种用户界面,它作为操作系统操作系统的一种用户界面,它作为操作系统的的“外壳外壳”,为用户提供使用操作系统的接口。,为用户提供使用操作系统的接口。ShellShell主要有以主要有以下两大功能特点。下两大功能特点。(1 1)ShellShell是一个命令解释器,它拥有自己内建的是一个命令解释器,它拥有自己内建的ShellShell命令集。命令集。(2 2)ShellShell的另一个重要特性是它自身就是一种解释型的程序设的另一个重要特性是它自身就是一种解释型的程序设计语言。计语言。 当用户成功登录当用户成功登录LinuxLinux系统后,系统将执行一个系
6、统后,系统将执行一个ShellShell程序。程序。正是正是ShellShell进程提供了命令提示符。作为默认值,进程提供了命令提示符。作为默认值,ShellShell对普通用对普通用户用户用“$”“$”作提示符,对超级用户(作提示符,对超级用户(rootroot)用)用“#”“#”作提示符。作提示符。3 3LinuxLinux文件系统文件系统 文件系统是文件存放在磁盘等存储设备上的组织方法。文件系统是文件存放在磁盘等存储设备上的组织方法。LinuxLinux操作系统能支持多种目前流行的文件系统,如操作系统能支持多种目前流行的文件系统,如EXT2EXT2、EXT3EXT3、FATFAT、FAT
7、32FAT32、VFATVFAT和和ISO 9660ISO 9660。 LinuxLinux文件系统中的文件是数据的集合,文件系统不仅包含文文件系统中的文件是数据的集合,文件系统不仅包含文件中的数据,而且包含文件系统的结构,大多数与件中的数据,而且包含文件系统的结构,大多数与LinuxLinux用户和程用户和程序相关的文件、目录、软连接及文件保护信息等都存储在其中。序相关的文件、目录、软连接及文件保护信息等都存储在其中。 在在LinuxLinux文件系统中,文件系统中,EXT2EXT2文件系统、虚拟文件系统、文件系统、虚拟文件系统、/proc/proc文文件系统是件系统是3 3个具有代表性的文
8、件系统。文件类型主要包括:普通文件个具有代表性的文件系统。文件类型主要包括:普通文件(regular fileregular file)、目录文件()、目录文件(directorydirectory)、连接文件()、连接文件(linklink)、)、设备与设备文件(设备与设备文件(devicedevice)、套接字()、套接字(socketsocket)、管道()、管道(pipepipe)。)。4 4LinuxLinux应用程序应用程序 标准的标准的LinuxLinux操作系统一般都有一套称为应用程序的程序集,操作系统一般都有一套称为应用程序的程序集,它包括编辑器、编程语言、它包括编辑器、编程
9、语言、X WindowX Window、办公套件、办公套件、InternetInternet工工具和数据库等。具和数据库等。1.1.4 Linux操作系统的版本1 1LinuxLinux操作系统的内核版本操作系统的内核版本 LinuxLinux内核使用主要分为两种不同的版本编号方式。内核使用主要分为两种不同的版本编号方式。(1 1)第一种方式用于)第一种方式用于1.01.0之前版本(包括之前版本(包括1.01.0)。第一个版本号是)。第一个版本号是0.010.01,紧接着是,紧接着是0.020.02、0.030.03、0.100.10、0.110.11、0.120.12、0.950.95、0.
10、960.96、0.970.97、0.980.98、0.990.99和之后的和之后的1.01.0。(2 2)第二种方式用于)第二种方式用于1.01.0之后版本到之后版本到2.62.6版本,数字由版本,数字由3 3部分(部分(A.B.CA.B.C)组成,组成,A A为主版本号,为主版本号,B B为次版本号,为次版本号,C C为末版本号。为末版本号。2 2LinuxLinux操作系统的发行版操作系统的发行版 LinuxLinux操作系统发行版实际就是操作系统发行版实际就是LinuxLinux内核加上外围实用程序内核加上外围实用程序组成的一个大软件包。相对于组成的一个大软件包。相对于LinuxLinu
11、x操作系统的内核版本,发行版操作系统的内核版本,发行版的版本号随发布者的不同而不同,与的版本号随发布者的不同而不同,与LinuxLinux操作系统内核的版本号操作系统内核的版本号是相对独立的。因此把是相对独立的。因此把SUSESUSE、RedHatRedHat、UbuntuUbuntu、SlackwareSlackware等直等直接称为接称为LinuxLinux是不确切的,它们是是不确切的,它们是LinuxLinux操作系统的发行版。更确操作系统的发行版。更确切地说,应该将它们称为切地说,应该将它们称为“以以LinuxLinux为核心的操作系统软件包为核心的操作系统软件包”。1.2.1 Lin
12、ux操作系统的运行模式 在大多数的在大多数的LinuxLinux发行版中,一共有发行版中,一共有7 7种运行模式(种运行模式(runlevelrunlevel),),用数字用数字0 06 6表示,含义分别如下。表示,含义分别如下。l 0 0表示关机模式,不要把默认模式设置成表示关机模式,不要把默认模式设置成0 0。l 1 1表示单用户模式。表示单用户模式。l 2 2表示多用户模式。表示多用户模式。l 3 3表示命令模式。表示命令模式。l 4 4表示暂未被使用的模式,以后有可能会被使用。表示暂未被使用的模式,以后有可能会被使用。l 5 5表示桌面模式。表示桌面模式。l 6 6表示重启模式,不要把
13、默认模式设置成表示重启模式,不要把默认模式设置成6 6。 这这7 7种运行模式通常是由系统管理员在使用种运行模式通常是由系统管理员在使用initinit命令时,根命令时,根据系统管理任务的需要来指定的。据系统管理任务的需要来指定的。1.2.2 Linux操作系统的功能特征 LinuxLinux操作系统功能强大,与其他操作系统相比,其具有下操作系统功能强大,与其他操作系统相比,其具有下述主要的功能特征。述主要的功能特征。(1 1)开放性)开放性(2 2)多用户)多用户(3 3)多任务)多任务(4 4)良好的用户界面)良好的用户界面(5 5)设备独立性)设备独立性(6 6)提供了丰富的网络功能)提
14、供了丰富的网络功能(7 7)可靠的安全系统)可靠的安全系统(8 8)良好的可移植性)良好的可移植性1.3.1 Linux用户管理1 1添加新的用户添加新的用户 用户可以在字符界面中使用用户可以在字符界面中使用useradduseradd命令添加新的用户,其命令添加新的用户,其格式如下:格式如下:useradduseradd选项选项 用户名用户名 其中各选项含义如下。其中各选项含义如下。-c-c:指定一段注释性描述。:指定一段注释性描述。-d-d:指定用户主目录。如果此目录不存在,则同时使用:指定用户主目录。如果此目录不存在,则同时使用-m-m选项可选项可以创建主目录。以创建主目录。-g-g:指
15、定这个用户默认的用户组。:指定这个用户默认的用户组。-G-G:一般配合:一般配合-a-a选项来完成向其他组添加用户的操作。选项来完成向其他组添加用户的操作。-s-s:指定用户的登录:指定用户的登录ShellShell。-u-u:指定用户的用户号。如果同时有:指定用户的用户号。如果同时有-o-o选项,则可以重复使用其选项,则可以重复使用其他用户的标识号。他用户的标识号。2 2删除用户删除用户 如果一个用户不再使用,可以将其从系统中删除。删除用户如果一个用户不再使用,可以将其从系统中删除。删除用户就是要将就是要将/etc/passwd/etc/passwd等系统文件中的该用户记录删除,必要时等系统
16、文件中的该用户记录删除,必要时还应删除用户的主目录。删除一个已有的用户使用还应删除用户的主目录。删除一个已有的用户使用userdeluserdel命令,命令, 其格式如下:其格式如下:userdeluserdel选项选项 用户名用户名 常用的选项是常用的选项是-r-r,它的作用是把用户的主目录一起删除。,它的作用是把用户的主目录一起删除。3 3修改用户修改用户 使用使用usermodusermod命令修改用户,其格式如下:命令修改用户,其格式如下:usermodusermod选项选项 用户名用户名 常用的选项包括常用的选项包括-c-c、-d-d、-m-m、-g-g、-G-G、-s-s、-u-u
17、和和-o-o等。这些等。这些选项的意义与选项的意义与useradduseradd命令中的选项一样。命令中的选项一样。 修改用户就是根据实际情况更改用户的有关属性,如用户号、修改用户就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录主目录、用户组、登录ShellShell等。等。1.3.2 登录系统 超级用户的用户名为超级用户的用户名为rootroot,密码在安装系统时已设定。系统,密码在安装系统时已设定。系统启动成功后屏上将显示下面的提示。启动成功后屏上将显示下面的提示。localhost login: localhost login: 这时输入超级用户名这时输入超级用户名“r
18、oot”“root”,然后按,然后按EnterEnter键,此时用户键,此时用户会在屏幕上看到输入密码的提示。会在屏幕上看到输入密码的提示。localhost login: rootlocalhost login: rootPassword: Password: 这时需要输入密码。输入密码时,密码不会在屏幕上显示出这时需要输入密码。输入密码时,密码不会在屏幕上显示出来。如果用户输入了错误的密码,就会在屏幕上看到下列信息。来。如果用户输入了错误的密码,就会在屏幕上看到下列信息。login incorrect.login incorrect. 这时需要重新输入。当用户正确地输入用户名和密码后,就这
19、时需要重新输入。当用户正确地输入用户名和密码后,就能合法地进入系统。屏幕上显示以下内容。能合法地进入系统。屏幕上显示以下内容。rootloclhost/root #rootloclhost/root # 此时说明用户已经登录到系统,可以进行操作了。这里此时说明用户已经登录到系统,可以进行操作了。这里“#”“#”是超级用户的命令提示符。普通用户在建立了普通用户账号以后是超级用户的命令提示符。普通用户在建立了普通用户账号以后就可以进行登录了。就可以进行登录了。1.4.1 简单命令 LinuxLinux操作系统提供了很多常用的简单命令,总结起来主要操作系统提供了很多常用的简单命令,总结起来主要有下面
20、一些命令。有下面一些命令。(1 1)datedate:输出或设置系统日期和时间。:输出或设置系统日期和时间。(2 2)whowho:查看系统中所有已登录用户的状况。:查看系统中所有已登录用户的状况。(3 3)passwdpasswd:修改用户密码。:修改用户密码。(4 4)logoutlogout、loginlogin:登录:登录ShellShell的登录和注销命令。的登录和注销命令。(5 5)pwdpwd:输出工作路径。:输出工作路径。(6 6)moremore、lessless、headhead、tailtail:显示或部分显示文件内容。:显示或部分显示文件内容。(7 7)lp/lpsta
21、t/cancellp/lpstat/cancel、lpr/lpq/lprmlpr/lpq/lprm:输出文件。:输出文件。(8 8)chmod u+xchmod u+x:更改文件权限。:更改文件权限。(9 9)rm -fr dirrm -fr dir:删除非空目录。:删除非空目录。(1010)cp -R dircp -R dir:复制目录。:复制目录。(1111)fg jobidfg jobid:可以将一个后台进程放到前台。:可以将一个后台进程放到前台。(1212)killkill:删除执行中的程序或工作。:删除执行中的程序或工作。(1313)psps:列出当前运行的进程。:列出当前运行的进程
22、。1.4.2 通用命令格式$ $ 命令名命令名 - -命令选项命令选项 命令参数命令参数 命令选项:可以选择,也可以不选择。如果选择,则必须是命令选项:可以选择,也可以不选择。如果选择,则必须是由由“-”“-”开始的一个或多个字母组成。命令选项通常起到功能开始的一个或多个字母组成。命令选项通常起到功能“开开关关”的作用。的作用。 命令参数:可以有,也可以没有;可以有一个,也可以有多命令参数:可以有,也可以没有;可以有一个,也可以有多个。命令参数主要用于指明命令的操作对象,通常为文件名(广个。命令参数主要用于指明命令的操作对象,通常为文件名(广义)。义)。 :表明其中的内容可以省略。:表明其中的
23、内容可以省略。1.4.3 命令行更正和程序终止 当命令行输入错误,在还未输入换行符时,可按当命令行输入错误,在还未输入换行符时,可按BackSpaceBackSpace键或键或Ctrl+HCtrl+H键删除已输入的字符,再输入正确的字符。推荐使用键删除已输入的字符,再输入正确的字符。推荐使用Ctrl+HCtrl+H键,因为该键的兼容性更好。当要删除一整行时,按键,因为该键的兼容性更好。当要删除一整行时,按Ctrl+UCtrl+U键。键。 要强行终止当前正在运行的程序时,可按要强行终止当前正在运行的程序时,可按Ctrl+CCtrl+C、DeleteDelete或或Pause BreakPause
24、 Break键。出现命令提示符,表明程序已经终止运行。键。出现命令提示符,表明程序已经终止运行。1.4.4 联机手册 联机手册命令联机手册命令manman可向用户提供系统中各种命令、系统调用、可向用户提供系统中各种命令、系统调用、库函数和重要系统文件的详细说明,包括名字、使用语法、功能库函数和重要系统文件的详细说明,包括名字、使用语法、功能描述、应用实例和相关参考文件等。其格式如下:描述、应用实例和相关参考文件等。其格式如下:$ man $ man 选项选项 命令命令 主要的选项如下。主要的选项如下。-f-f:查看命令拥有哪个级别的帮助。:查看命令拥有哪个级别的帮助。-k-k:查看和命令相关的
25、所有帮助。:查看和命令相关的所有帮助。 查看查看whowho命令的详细说明示例如下。命令的详细说明示例如下。$ man who$ man who 在在LinuxLinux操作系统中,所有静态的对象都属于操作系统中,所有静态的对象都属于“文件文件”的范的范畴,其主要目的是规范和简化上层应用程序的接口;所有动态的畴,其主要目的是规范和简化上层应用程序的接口;所有动态的对象都属于对象都属于“进程进程”的范畴。的范畴。“文件文件”和和“进程进程”是是LinuxLinux操作操作系统中两个基本概念。系统中两个基本概念。 LinuxLinux文件系统中的文件是数据的集合,文件是指文件系统文件系统中的文件是
26、数据的集合,文件是指文件系统中存储数据的对象。进程是运行于自己的虚拟地址空间的程序。中存储数据的对象。进程是运行于自己的虚拟地址空间的程序。 任何在任何在LinuxLinux操作系统下运行的程序都是进程。进程是可运操作系统下运行的程序都是进程。进程是可运行程序在内存中的运行实例。进程是动态的,它有自己的生命周行程序在内存中的运行实例。进程是动态的,它有自己的生命周期和不同状态。期和不同状态。 LinuxLinux是一个多进程的操作系统,每个进程都有自己的权限是一个多进程的操作系统,每个进程都有自己的权限和任务,某一进程的失败一般不会导致其他进程的失败。进程之和任务,某一进程的失败一般不会导致其
27、他进程的失败。进程之间可以通过由内核控制的机制相互通信。间可以通过由内核控制的机制相互通信。 LinuxLinux操作系统中包括下面操作系统中包括下面3 3种类型的进程。种类型的进程。(1 1)交互进程:该进程是由)交互进程:该进程是由ShellShell控制和运行的,它既可以在前控制和运行的,它既可以在前台运行,也可以在后台运行。台运行,也可以在后台运行。(2 2)批处理进程:该进程不属于某个终端,它被提交到一个队列)批处理进程:该进程不属于某个终端,它被提交到一个队列中以便顺序运行。中以便顺序运行。(3 3)守护进程:该进程只有在需要时才被唤起并在后台运行,它)守护进程:该进程只有在需要时
28、才被唤起并在后台运行,它一般在一般在LinuxLinux启动时开始运行。启动时开始运行。Linux操作系统操作系统应用编程应用编程 本章主要介绍本章主要介绍LinuxLinux文件系统,包括文件系统的结构、文文件系统,包括文件系统的结构、文件的定义与分类、目录与文件操作命令、文件的权限管理等,件的定义与分类、目录与文件操作命令、文件的权限管理等,让读者对让读者对LinuxLinux文件系统有一定的认识和理解,为后文的学习文件系统有一定的认识和理解,为后文的学习打下基础。打下基础。2.1.1 组织结构 LinuxLinux操作系统中所有文件存储在文件系统中,文件被组织操作系统中所有文件存储在文件
29、系统中,文件被组织到一棵到一棵“目录树目录树”中,其文件系统层次结构(树状目录结构)如中,其文件系统层次结构(树状目录结构)如图图2.12.1所示。树根在该层次结构的顶部,树根的下方衍生出子目所示。树根在该层次结构的顶部,树根的下方衍生出子目录分支。录分支。 “/”“/”是根目录,位于文件系统层次结构的顶部。是根目录,位于文件系统层次结构的顶部。“/”“/”还用还用作文件名中的目录分隔符。例如,如果作文件名中的目录分隔符。例如,如果etcetc是根目录的子目录,是根目录的子目录,就把它称为就把它称为/etc/etc目录。根目录的子目录用于标准化的用途,以目录。根目录的子目录用于标准化的用途,以
30、便根据文件和用途组织文件,从而方便查找文件。子目录便根据文件和用途组织文件,从而方便查找文件。子目录/boot/boot用于存储启动系统所需的文件。用于存储启动系统所需的文件。图2.1 树状目录结构2.1.2 起始目录与当前工作目录 起始目录通常是指起始目录通常是指LinuxLinux启动并加载文件系统后的目录。当我们启动并加载文件系统后的目录。当我们进入终端用户界面时,我们就会进入进入终端用户界面时,我们就会进入LinuxLinux起始目录。起始目录一般起始目录。起始目录一般是在主目录中(是在主目录中(/home/home/你的用户名你的用户名/ /),使用),使用lsls命令就可以看到其中
31、命令就可以看到其中的文件。的文件。 当前工作目录是指用户当前所处的目录,它是文件系统当前所当前工作目录是指用户当前所处的目录,它是文件系统当前所在的目录。如果命令没有额外指定路径,则默认为当前工作目录。在的目录。如果命令没有额外指定路径,则默认为当前工作目录。比如比如lsls命令,如果没有指定目录,就会显示出当前工作目录的文件。命令,如果没有指定目录,就会显示出当前工作目录的文件。2.1.3 路径名 路径名是指到达指定节点的通路的名称,可用于定位文件。路径名是指到达指定节点的通路的名称,可用于定位文件。它包括通路上经过的所有目录的名称。在树状目录结构中,从根它包括通路上经过的所有目录的名称。在
32、树状目录结构中,从根 目录到任何数据文件之间,只有一条唯一的通路,在该路径上从目录到任何数据文件之间,只有一条唯一的通路,在该路径上从 树的根(主目录)开始,把全部目录文件名与数据文件名依次用树的根(主目录)开始,把全部目录文件名与数据文件名依次用 “/”“/”连接起来,即可构成该数据文件的路径名。系统中的每个连接起来,即可构成该数据文件的路径名。系统中的每个数据文件都有唯一的路径名。数据文件都有唯一的路径名。 在在LinuxLinux操作系统中主要包含两种路径,即相对路径与绝对操作系统中主要包含两种路径,即相对路径与绝对路径。路径。(1 1)相对路径是指起始点是当前工作目录的路径名。)相对路
33、径是指起始点是当前工作目录的路径名。(2 2)绝对路径是指起始点是根目录的路径名。)绝对路径是指起始点是根目录的路径名。2.1.4 标准目录与文件 在在LinuxLinux操作系统中,比较重要的标准目录与文件如下。操作系统中,比较重要的标准目录与文件如下。/ /:根目录,所有其他文件都在根目录下。:根目录,所有其他文件都在根目录下。/bin/bin:存放基本命令的二进制文件的目录,其主要存放:存放基本命令的二进制文件的目录,其主要存放LinuxLinux下下常用的命令和工具。常用的命令和工具。/boot/boot:存放引导加载器的固有文件的目录,:存放引导加载器的固有文件的目录,LinuxLi
34、nux就是从这里启就是从这里启动的。动的。/dev/dev:存放设备文件的目录,其主要存放着:存放设备文件的目录,其主要存放着LinuxLinux下的所有设备下的所有设备文件。文件。/etc/etc:存放本地系统配置文件的目录。:存放本地系统配置文件的目录。/etc/X11/etc/X11:存放本地:存放本地X WindowX Window系统配置文件的目录。系统配置文件的目录。/etc/opt/etc/opt:存放保存在:存放保存在/opt/opt中的附加软件包配置文件的目录。中的附加软件包配置文件的目录。/home/home:存放用户本地目录。每建立一个用户,就会在这里新建:存放用户本地目
35、录。每建立一个用户,就会在这里新建一个与用户同名的目录,给该用户一个自己的空间。一个与用户同名的目录,给该用户一个自己的空间。/lib/lib:存放共享系统库文件和核心模块的目录。:存放共享系统库文件和核心模块的目录。/lib/modules/lib/modules:存放可加载的系统模块的目录。:存放可加载的系统模块的目录。/mnt/mnt:存放系统文件的临时挂载点的目录。:存放系统文件的临时挂载点的目录。/opt/opt:存放附加软件包的目录。:存放附加软件包的目录。/proc/proc:存放核心和进程信息虚拟文件系统的目录。这其实是一:存放核心和进程信息虚拟文件系统的目录。这其实是一个个“
36、假目录假目录”,通过它可以访问到内存的内容。,通过它可以访问到内存的内容。/root/root:超级用户的本地目录。:超级用户的本地目录。/sbin/sbin:存放基本系统二进制文件的目录,这里存放着系统级的:存放基本系统二进制文件的目录,这里存放着系统级的命令。命令。/tmp/tmp:存放临时文件的目录。:存放临时文件的目录。/usr/usr:存放次重要的分级文件系统的目录,它通常用来安装各种:存放次重要的分级文件系统的目录,它通常用来安装各种软件。软件。/usr/bin/usr/bin:存放大部分的用户命令的目录,主要是一些用户安装:存放大部分的用户命令的目录,主要是一些用户安装的命令和工
37、具。的命令和工具。/usr/bin/X11/usr/bin/X11:存放到:存放到/usr/X11R6/bin/usr/X11R6/bin的符号链接的目录。的符号链接的目录。/usr/games/usr/games:存放游戏和教育程序的目录。:存放游戏和教育程序的目录。/usr/include/usr/include:存放:存放C C语言的头文件的目录。语言的头文件的目录。/usr/include/X11/usr/include/X11:存放到:存放到/usr/X11R6/include/bin/usr/X11R6/include/bin的符号链的符号链接的目录。接的目录。/usr/lib/u
38、sr/lib:存放库文件的目录。:存放库文件的目录。/usr/local/usr/local:存放本地分级文件系统的目录,常用来安装新软件。:存放本地分级文件系统的目录,常用来安装新软件。/usr/man/usr/man:存放在线文档的目录。:存放在线文档的目录。/usr/sbin/usr/sbin:存放次重要的系统管理二进制文件的目录。:存放次重要的系统管理二进制文件的目录。/usr/share/usr/share:存放独立性结构数据的目录。:存放独立性结构数据的目录。/usr/share/doc/usr/share/doc:存放其他杂项文档的目录。:存放其他杂项文档的目录。/usr/sha
39、re/info/usr/share/info:GNUGNU信息系统的主要目录。信息系统的主要目录。/usr/src/usr/src:存放源代码的目录。:存放源代码的目录。/usr/X11R6/usr/X11R6:存放第:存放第1 1版本第版本第6 6次修正的次修正的X WindowX Window系统协议的目系统协议的目录。录。/var/var:存放变量数据的目录。:存放变量数据的目录。/var/log/var/log:存放日志文件的目录。:存放日志文件的目录。/var/spool/var/spool:存放应用程序队列数据的目录,其主要存放一些邮:存放应用程序队列数据的目录,其主要存放一些邮件
40、、新闻和输出队列等。件、新闻和输出队列等。2.2.1 文件的定义 LinuxLinux文件系统中的文件是数据的集合。文件系统不仅包含文件系统中的文件是数据的集合。文件系统不仅包含文件中的数据,而且包含文件系统的结构,大多数与文件中的数据,而且包含文件系统的结构,大多数与LinuxLinux用户用户和程序相关的文件、目录、软连接及文件保护信息等都存储在其和程序相关的文件、目录、软连接及文件保护信息等都存储在其中。中。2.2.2 文件的分类 LinuxLinux文件系统中的文件大致可以分成以下文件系统中的文件大致可以分成以下7 7类。类。1 1普通文件普通文件 根据存放内容的不同,普通文件又分为两
41、种:纯文本文件根据存放内容的不同,普通文件又分为两种:纯文本文件(ASCIIASCII)以及纯二进制文件()以及纯二进制文件(binarybinary)。)。2 2目录文件目录文件 目录文件是一种特殊的文件,专门用于管理其他文件。目录目录文件是一种特殊的文件,专门用于管理其他文件。目录文件是可以使用文件是可以使用 # cd # cd命令进入的。命令进入的。 3 3块设备文件块设备文件 块设备文件是块设备驱动程序在上层的表现形式,是存储数块设备文件是块设备驱动程序在上层的表现形式,是存储数据以供系统存取的接口设备,简单而言就是硬盘。块设备存储的据以供系统存取的接口设备,简单而言就是硬盘。块设备存
42、储的数据量往往非常大,为了提高读数据量往往非常大,为了提高读/ /写效率,它们都是以块(写效率,它们都是以块(10241024字字节)为单位来操作数据的,比如计算机硬盘、移动硬盘、节)为单位来操作数据的,比如计算机硬盘、移动硬盘、U U盘等。盘等。4 4字符设备文件字符设备文件 字符设备文件是字符设备驱动程序在上层的表现形式,即串字符设备文件是字符设备驱动程序在上层的表现形式,即串行端口的接口设备,例如键盘、鼠标等。行端口的接口设备,例如键盘、鼠标等。5 5套接字文件套接字文件 套接字文件是专门用于网络通信的文件。这类文件通常用在套接字文件是专门用于网络通信的文件。这类文件通常用在网络数据连接
43、中。可以启动一个程序来监听客户端的要求,这样网络数据连接中。可以启动一个程序来监听客户端的要求,这样客户端就可以通过套接字来进行数据通信。最常在客户端就可以通过套接字来进行数据通信。最常在/var/run/var/run目录目录中看到这类文件。中看到这类文件。6 6管道文件管道文件 管道文件主要用于实现不同进程(程序)之间的通信。管道管道文件主要用于实现不同进程(程序)之间的通信。管道是操作系统提供的一种纯代码层面的通信机制。是操作系统提供的一种纯代码层面的通信机制。FIFOFIFO(First-First-In-First-OutIn-First-Out,先进先出)也是一种特殊的文件类型,它
44、主要的,先进先出)也是一种特殊的文件类型,它主要的功能是解决多个程序同时存取一个文件所造成的错误。功能是解决多个程序同时存取一个文件所造成的错误。7 7链接文件链接文件 链接文件其实就是一种快捷图标,其指向了另外一个文件,链接文件其实就是一种快捷图标,其指向了另外一个文件,类似类似WindowsWindows操作系统中的快捷方式。链接文件有两种,分别是操作系统中的快捷方式。链接文件有两种,分别是符号链接文件和硬链接文件。符号链接文件和硬链接文件。2.3.1 创建目录 mkdirmkdir命令:创建目录,其后的命令参数可以是目录的绝对命令:创建目录,其后的命令参数可以是目录的绝对路径和相对路径,
45、以及多个目录。示例如图路径和相对路径,以及多个目录。示例如图2.22.2所示。所示。图2.2 mkdir命令示例2.3.2 删除目录 rmdirrmdir命令:删除目录。示例如图命令:删除目录。示例如图2.32.3所示。所示。rmdirrmdir命令的执命令的执行条件是用户在要被删除目录的父目录下具有写权限,并且被删行条件是用户在要被删除目录的父目录下具有写权限,并且被删除目录是空目录(即除除目录是空目录(即除. 和和. 以外没有其他文件)。以外没有其他文件)。图2.3 rmdir命令示例2.3.3 修改当前目录 cdcd命令:修改当前目录,其后的命令行参数可以是目录的相命令:修改当前目录,其
46、后的命令行参数可以是目录的相对路径和绝对路径,默认的状态下返回用户主目录。示例如图对路径和绝对路径,默认的状态下返回用户主目录。示例如图2.42.4所示。所示。图2.4 cd命令示例2.3.4 查看当前目录 pwdpwd命令:查看当前目录。示例如图命令:查看当前目录。示例如图2.52.5所示。所示。图2.5 pwd命令示例2.3.5 列出指定目录 lsls命令:列出指定目录。示例如图命令:列出指定目录。示例如图2.62.6所示。用户在任何一所示。用户在任何一个目录下执行个目录下执行ls -lls -l,就能将当前目录中的所有文件、子目录、,就能将当前目录中的所有文件、子目录、符号链接等以列表的
47、方式显示出来,同时还可以借助符号链接等以列表的方式显示出来,同时还可以借助ls -lls -l命令命令了解到文件类型、权限等一些重要的文件属性。了解到文件类型、权限等一些重要的文件属性。图2.6 ls -l命令示例 把把ls -lls -l命令所展示的文件信息做局部放大,如图命令所展示的文件信息做局部放大,如图2.72.7所示。所示。可以看出显示内容可以分为两大部分,第一部分是文件属性,第可以看出显示内容可以分为两大部分,第一部分是文件属性,第二部分是文件名(当然也包括子目录名)。如果继续对文件属性二部分是文件名(当然也包括子目录名)。如果继续对文件属性进行细分,那么最左边的是文件类型;其次是
48、进行细分,那么最左边的是文件类型;其次是3 3个权限域;在权个权限域;在权限域之后是文件硬链接数或目录的子目录数;剩下的限域之后是文件硬链接数或目录的子目录数;剩下的4 4个域分别个域分别是文件所有者、文件所有者所在组、文件大小(请注意是以字节是文件所有者、文件所有者所在组、文件大小(请注意是以字节为单位)以及文件最后修改时间。为单位)以及文件最后修改时间。图2.7 ls -l命令所展示的文件信息 如表如表2.12.1所示,所示,LinuxLinux操作系统可以支持操作系统可以支持7 7种类型的文件。种类型的文件。标识文件类型- -普通文件d d目录文件c c字符设备文件b b块设备文件p p
49、管道文件或FIFOFIFO文件l l符号链接文件s s套接字文件表2.1Linux操作系统支持的文件类型 如表如表2.22.2所示,所示,LinuxLinux操作系统规定的文件操作权限可以分为操作系统规定的文件操作权限可以分为读、写和执行。读、写和执行。标识文件访问权限r r读权限w w写权限x x执行权限表2.2 Linux操作系统规定的文件操作权限2.4.1 显示文件内容 catcat命令:显示文件内容,其后的命令行参数(文件)依次命令:显示文件内容,其后的命令行参数(文件)依次被打开,文件内容全部显示在屏幕上。示例如图被打开,文件内容全部显示在屏幕上。示例如图2.82.8所示。所示。图2
50、.8 cat命令示例 moremore命令:逐屏显示文件内容。与命令:逐屏显示文件内容。与catcat命令不同,命令不同,moremore命令并命令并不是一次性显示完。若文件长度大于不是一次性显示完。若文件长度大于2323行,屏幕底部会显示行,屏幕底部会显示“More”“More”或或“More+“More+已显示百分比已显示百分比”。示例如图。示例如图2.92.9、图、图2.102.10所示。所示。图2.9 more命令示例1图2.10 more命令示例22.4.2 复制文件 cpcp命令:复制命令,其基本格式如下。命令:复制命令,其基本格式如下。cp -i-r oldfile newfil