Linux_for_08

上传人:沙** 文档编号:243077468 上传时间:2024-09-15 格式:PPT 页数:258 大小:657.50KB
返回 下载 相关 举报
Linux_for_08_第1页
第1页 / 共258页
Linux_for_08_第2页
第2页 / 共258页
Linux_for_08_第3页
第3页 / 共258页
点击查看更多>>
资源描述
,*,单击此处编辑母版标题样式,单击此处编辑母版样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,单击此处编辑母版标题样式,单击此处编辑母版样式,第二级,第三级,第四级,第五级,第六级,第七级,第八级,*,Linux,邹青,信管系,2009,年,为什么学习,Unix/Linux,?,我们应该学习些什么东西?,如何学习?,Unix/Linux,概述,Unix/Linux,简介,系统登录与退出,Linux,安装,第一章,UNIX,的发展历史,1969,年,美国,AT&T Bell Labs,实验室在大型计算机,PDP-7,首次 开发出多用户、多任务的操作系统,UNIX,形成产品,UNIX SYSTEM,1974,年,Berkeley System Research Group,开发出,BSD UNIX,系统,UNIX,家族,AT&T Bell Lab,Unix V1V5,Unix V6,Unix V7,BSD386,Minix,Linux 0.1,Linux 2.2,BSD,BSDV4.2,BSDV4.3,BSDV4.4,HotBSD,FreeBSD,BSD/OS,Solaris x,HPUnix,UnixWare,AIX 7.0,IBM AIX,SystemVR3,System III,SystemVR2,SystemVR4,Xienix,SCO Unix,Sun OS,UNIX,主要应用环境平台,UNIX,两大流派,贝尔实验室,版本排号:第,1-7,版, System ,UNIX System V Release 4.2 (SVR4.2),现今的,SCO UNIX,UNIX,两大流派,加州大学伯克利分校,计算机系统研究小组(,CSRG),的,BSD UNIX(Berkeley Software Distributions),较有影响的版本,4.3BSD,现今的,FreeBSD,工作站上的,UNIX,一般属于这一流派,Linux,1991,年,芬兰赫尔辛基大学学生,Linus Torvalds,开发了基于,Intel 80386,体系结构的,Linux,核心,并发布到互联网上供计算机爱好者学习使用。,源代码免费公布于,Internet,上,(Linux),什么是,UNIX/Linux,狭义的概念,UNIX,仅仅指操作系统内核(,Kernel,),内核负责控制并管理计算机资源,多个用户可同时访问。负责进程的创建、控制、调度,为进程分配内存和外设,提供文件系统的管理功能,什么是,UNIX/Linux,广义的概念,UNIX,不仅指系统内核,它是一个应用环境和程序设计环境,为程序员提供了丰富的软件开发工具,包括编辑器,编译程序,调试工具,数据库,等等。,POSIX,标准,Portable Operating System Interface for unix,,用于,可移植操作系统接口标准。 规定了,Unix,系统软件设计开发和系统操作界面的标准规范。,年,电气电子工程师协会(,IEEE,)和美国国家标 准局(,ANSI,)为提倡,UNIX,环境的通用接口标准而开发的一组标准。并由国际标准化组织接受为国际标准。,GNU,GNU,计划,又称革奴计划,是由,Richard Stallman,在,1983,年,9,月,27,日公开发起的。它的目标是创建一套完全自由的操作系统。,GNU,是“,GNUs Not Unix”,的递归缩写。为保证,GNU,软件可以自由地“使用、复制、修改和发布”,所有,GNU,软件都在一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,,GNU,通用公共许可证(,GNU General Public License,,,GPL,)。,GPL,General Public License,,,GNU,通用公共许可证,是由自由软件基金会发行的用于计算机软件的许可证。,GPL,授予程序接受人以下权利,或称“自由”:,以任何目的运行此程序的自由;,以学习程序工作机理为目的,对程序进行修改的自由(能得到源代码是前提);,再发行复制件的自由;,改进此程序,并公开发布改进的自由(能得到源代码是前提),常见,Linux,发行版,RedHat,:,Turbo Linux,、,RedFlag Linux,、,Mandriva,等;,Debian,:,Ubuntu,、,Knoppix,等;,Slackware,Gentoo Linux,LFS,(,Linux From Scratch,):一种从网上直接下载源码,从头编译,LINUX,的安装方式。,UNIX/Linux,的主要特性,1,开放性,-,系统遵循国际标准规范,,POSIX,。,2,多用户,-,系统资源可以被不同用户各自拥有和使用,3,多任务,同时执行多个程序,而且各个程序的运行互相独立。,4,良好的用户界面,GUI,、,Shell,。,5,设备独立性,-,所有外部设备统一作为文件来看待。,UNIX/Linux,的主要特性,6,丰富的网络功能,系统内核全面支持,TCP/IP,协议。,7,可靠的系统安全,设置身份认证、文件读写权限控制、审计跟踪、核心授权等,为网络多用户环境中的用户提供安全保障。,8,良好的可移植性,具备适应多种平台环境运行的能力。,Windows,与,UNIX,NT,Linux,Desktop,基础,严格继承的,UNIX,思想和机制,GUI,与,OS,内核为一体,GUI,与,OS,内核彼此独立,网络邻居共享硬盘访问方式,子目录挂接授权限额访问,注册表管理配置,难控制,文本文件保存配置,透明管理,封闭式开发模式,互联网级开放式开发群体,适合,Intranet,适用,Internet,新设备支持广泛,目前支持相对滞后,厂家开始参与,系统升级缓慢,内核升级周期短,技术支持单一,技术维护群体庞大,企业使用,Linux,的方式,1,、虚拟化,2,、数据库服务器,3、Web,服务器,4,、应用服务器,5,、代理服务,跳转盒,6,、日志服务器,企业使用,Linux,的方式,7,、开发平台,8,、监控服务,9,、入侵检测系统,系统管理的有关概念,虚拟内存操作系统,交换分区(,SwapSpace,),将硬盘中的部分空间专门用于存储内存数据,增大系统物理内存功能。该硬盘空间为交换分区。与,Windows,下的,SWAP,文件的功能相似。,守护进程(,Daemons,),守护进程是在后台运行的程序,执行系统的某个特定的功能,如打印。,系统管理的有关概念,控制台(,console,):,与主机相连,显示系统引导、系统运行、多用户运行、系统错误警告等信息; 用于系统管理的目的。,终端(,terminal,):,是普通用户的操作台,显示本用户登录、与系统交互的信息。包括传统终端、虚拟终端和网络终端。,登录与退出,START,loading,login:,Passwd,:,init,Match?,shell:exec,shell:exit,Login:exit,登录与退出,本地登录(控制台),:在系统启动后,屏幕上出现登录提示符,Login:,后,键入用户名,然后在提示符,password,:后键入口令即可完成登录。登录完成后,出现系统,shell,的提示符。,登录与退出,远程登录:通过网络终端,Telnet,或,ssh(,安全,Shell),进行登录。,Telnet,:在命令提示符下或“开始”菜单的“运行”中键入,Telnet,远程主机的,IP,地址,/,域名,如果连接正常,出现登录提示符,Login,:后,键入用户名进行登录。,登录与退出,退出,CTRL,d,、,exit,、,logout,关机,/,重启,关机一般只能有系统管理员(,root,)来完成。,shutdown h now message,poweroff,重启:,shutdown r now,reboot,Shell,提示符,登录成功后出现,Shell,提示符,如同,DOS,的,C:,。,常见,Shell,的提示符,$ Bourne Shell (/bin/sh),% C Shell (/bin/csh),$ Korn Shell (/bin/ksh),#,当前用户为超级用户,root,(操作时要小心),Linux,安装,收集基本配置信息:硬件信息、网络相关信息,规划硬盘分区:硬盘分区、,Linux,分区,选择安装方式,Linux,安装,分区结构,安装,Linux,至少需要两个分区:一个交换分区和一个或多个文件分区(至少有一个根分区)。,在,Windows,下将分区标识为,C,、,D,、,E,等,在,Linux,中将它们标识为,/dev/hda1,、,/dev/hda2,、,/dev/hda3,等;而且以目录的形式表现。,在,Linux,中,一个分区称为一个装入点对应一个目录;在,Linux,中,每一个目录都可以对应为一个独立分区。,Linux,安装,Liux,分区最小布局方案,分区名称文件系统描述,/dev/hda1,根目录,swap/dev/hda2,交换分区,本章任务,自己进行一次完整的,Linux,安装,第二章,Linux,命令格式,简单命令,Linux,文件系统结构及文件类型,文件、目录操作命令,文件权限及相关命令,Linux,常用命令,Linux,常用命令,命令格式:,命令名,选项, ,参数,1 ,参数,2 .,命令名:一般为一串小写字母,注意,Linux,中命令名及参数是大小写敏感的。,选项,/,开关:一般以“,-”,开始,改变命令的默认行为。,参数:为命令运行提供的数据,命令返回一个值表示命令是否执行成功。,Linux,常用命令,man,联机帮助命令(,P63,),man ,选项,系统程序名或命令名,查询“命令名”的联机帮助信息。,选项:,-a,显示所有手册页,-S,章节号 显示指定章节的手册,手册章节号见,P64,Linux,常用命令,date,获取或设置系统时间,cal,打印指定或当前日历,cal ,月,年,clear,清除屏幕,,Ctrl+l,echo,在屏幕上显示指定信息,Linux,常用命令,查看系统登录用户,who,列出所有登录用户信息,who am i,显示自己的用户信息,whoami,显示自己的登录名,w,列出系统所有登录用户对系统,CPU,的占用信息,Linux,常用命令,与其他用户通信,write,用户名,wall,广播信息,更改用户口令,passwd,改变自己(当前登录用户)的口令,passwd,用户名 更改指定用户的口令(,root,有权),Linux,文件系统,指目录结构的集合,用于定义、存储和定位系统中文件的目的。,文件系统是系统管理员重要的管理任务之一,UNIX,系统有不同类型的文件系统,系统的内核对不同的文件类型提供了统一的标准接口,虚拟文件系统。,文件系统命令为用户提供了交互式接口,用于维护、管理和使用不同的文件系统。,Windows / Linux,目录结构,Linux,常用目录内容,/bin,该目录包含完成基本维护任务所需的所有标准文件,/dev,在此目录中包含所有的系统设备,/etc,包含系统的配置文件,/home,是所有用户主目录(文件)的默认位置,/lib,包含共享库映射文件(动态链接库),/lost+found,该目录用于保存丢失的文件。不恰当的关机和磁盘错误均会导致文件丢失,/mnt /media,用于装载光驱和软驱或其它分区的地方,/proc,一个特殊的目录,是一种,“,虚拟文件系统,”,。该目录中的文件保存在内存中,其内容动态产生。,/root,这是根用户的用户主目录,是用户启动脚本所在的位置。,/sbin,用于保存多种系统命令。,/tmp,用于保存临时文件,/usr,是一个综合目录,/var,用于保存动态文件,相关概念,目录、子目录,路径、绝对路径和相对路径,用户主目录,/,./,当前目录,./,父级目录,Linux,文件,文件命名:除“,/”,和空字符外的任何字符;以“,.”,开始的文件为隐含文件。文件名区分大小写。,Linux,文件类型,1.,普通文件,1),文本文件:,ASCII,码形式存储,以,行,为基本结构的一种信息组织和存储方式。,2),二进制文件:一般是可执行程序、图形、图像、声音等等。,2.,目录文件,用于管理和组织系统中文件。它存储一组相关文件的位置、大小等与文件有关的信息。简称为目录。,Linux,文件类型,3.,设备文件,每一个,I/O,设备都看成与普通文件一样的文件和处理,使文件与设备的操作统一。设备文件根据存储类型分为: 块设备文件(字符块为单位)、 字符设备文件(以单个字符为单位)。,4.,连接文件,unix,系统中的一个文件可以有多个名字,即可以用多个不同的名字来访问同一个文件。这种方式是为了节省空间和方便多个用户共享而产生的。,文件类型和标志符号,文件类型 标志符号,普通文件,-,目录文件,d,块设备文件,b,字符设备文件,c,连接文件,l,文件操作命令,文件名通配符,*,匹配任意长度的字符串,包括空字符(除出现在第一个位置的,. ),。,?,匹配任意一个单字,不包括空字符, ,匹配括号中任意一个字符,!,跟在,之后,表示匹配除!后以外的字符,注:当通配符被包含在引号中时,,shell,不再对其进行展开。,文件操作命令,显示文件内容命令,cat ,选项,文件名列表,-b,对非空行加行号,-n,对所有行加行号,more/less,分屏显示指定文件内容,head/tail,显示指定文件前,/,后,n,行的内容,touch,修改指定文件时间戳或创建一个新文件,文件操作命令,grep ,选项,查找模式,文件名列表,功能:查找指定文件中与模式匹配的行。,-E,将查找模式扩展为正则表达式,-F,将模式解释为简单的字符串,-v,显示不匹配的行,-n,显示行号,正则表达式,一个正则表达式就是用来在一次搜索中匹配相同字符的一个字符模式。,元字符,功能,实例,与什么相匹配,行开头定位,/love/,与以,love,开头的行匹配,$,行末尾定位,/love$/,与以,love,结尾的行匹配,.,任意一个字符,/l,.,e/,与包含一个,l,后跟两字符,再跟一个,e,的行匹配,正则表达式,元字符,功能,实例,与什么相匹配,*,跟,0,或多个前驱字符相匹配,/L*ove/,跟,ove,前有,0,个或多个,L,的行匹配, ,与其中的一个字符匹配,/Llove/,与包含,love,或,Love,的行匹配,x-z,与一个范围内的一个字符匹配,/a-zove/,与后跟,ove,的从,a-z,的字母相匹配,x-z,与不在范围内的一个字符匹配,/A-Z/,与不包含任何大写字母的行匹配,用来给一个元字符转义,/love./,匹配包含,love,后跟一个句点的行,文件操作命令,sort,对文件内容按行排序,sort ,选项,文件名列表,-f,忽略大小写,-i,忽略非打印字符,-r,按降序排序,-k n1,n2,对指定范围的行进行排序,-o filename,将排序结果输出到指定文件,文件内容统计,wc ,选项,文件名列表,统计指定文件中的行数、字数和字节数,-l,统计行数,-c,统计字节数,-w,统计字数,-m,统计字符数,输出默认格式:行数 字数 字节数 文件名,文件操作命令,cp ,复制文件,cp ,选项,源文件,列表,目标文件或目录,-r -R,递归复制源路径中的所有子目录,-f,覆盖目标文件而不询问,-d,复制时保留链接文件,-p,复制时保留源文件的时间戳及权限,-a,等同与,-dpr,文件操作命令,删除文件,-rm,rm ,选项,文件列表,-f,忽略不存在文件,并不提示,-r,递归删除指定路径中的所有目录,-i,删除前确认,文件操作命令,文件更名、移动文件,mv,mv ,选项,源文件,列表,目标文件,-f,不询问直接覆盖存在文件,目录操作命令,mkdir,创建目录,-p,创建多级目录,rmdir,删除目录,删除空目录,rm -r,删除目录,pwd ,显示当前目录,cd-,改变当前目录,目录操作命令,列目录命令,ls,ls ,选项,路径,-a,显示所有文件,-A,同,-a,,但不显示“,.”,和“,.”,-d,只显示目录名,不显示其内容,-l,显示详细信息 ,,-h,以适合单位显示文件大小,目录操作命令,ls -l,显示内容说明:,-rw-r-r- 2 zq zq 193 2007-01-22 xx,存取权限,文件类型,链接数,所属用户与组,文件大小,建立或修改时间,文件名,文件归档与压缩,1,、文件归档,tar,tar ctxu v z f filename file-list,归档多个文件或一个目录树到一个,.tar,文件下,或从一个归档文件中抽取文件和目录。,c,:创建归档,t,:打印归档文件中的文件列表,x,:抽取文件和目录,u,:更新,v,:显示处理文件详细信息(冗长显示),f,:指定设备名或归档文件名,z,:调用,gzip / gunzip,对归档文件进行压缩或解压,文件归档与压缩,2,、压缩,bzip2,/,b,un,zip2,filenames,压缩,/,解压指定文件,并替代原文件。压缩后扩展名:,.,bz2,gzip/gunzip filenames,压缩,/,解压指定文件,并替代原文件。压缩后扩展名:,.gz,bzip2,/ gzip,只能对单个文件进行压缩,因此它们一般与,tar,进行配合进行数据备份。,链接文件命令,(1),硬连接:每个目录项指定的文件名,i,节点号的映射关系,称为硬连接。,硬连接数(,Link,数):即,i,节点被目录项引用的次数。,(2),创建硬连接,ln,ln,已有文件名 新文件名,仅限于文件,链接文件命令,(3),符号连接,类似,于,windows,中的快捷方式,其内容仅包含了一个描述路径的字符串。,ln s,已有文件名 符号连接文件名,链接文件命令,硬连接与符号连接的区别,硬连接:,用于一个文件的一个别名,与已有文件名表示相同的文件类型,享用相同的信息节点(,i,节点);创建时,真正的文件必须存在;对原来文件名的删除不影响对此连接的使用。,符号连接:,有自己的信息节点(,i,节点),即自己也是一个文件;使用它,无需切换便可引用给定目录外的文件;可用于文件和目录,也可创建一个指向不存在文件的连接。,文件权限,文件权限有三个方面的含义:,1,、规定系统中的任何文件和目录仅被一个特定的用户所拥有,该用户具备对他所拥有的文件或目录进行创建、读写和运行操作。,2,、一个用户被定义在一个用户组中,用户可以对同组中的其他用户规定使用自己文件或目录的权限。,3,、限制其他用户在这些文件和目录的读、写和运行操作操作。,文件权限,文件或目录的权限由读、写、执行和无权四种职能组成。,1,、 读权限允许用户阅读文件的内容。对目录来说,允许用户列出目录中的内容。,2,、 写权限允许用户写和修改文件。对目录来说,写权限允许用户在这个目录中建立新文件或删除文件。,3,、 执行权限允许用户运行文件,对目录来说。执行权限允许用户进入和退出该目录。,4,、 无权权限则不允许对文件和目录进行任何操作。,文件权限,权限控制方法,在,Linux/Unix,系统中,每一个文件都有唯一的属主和组号及,3,组权限属性,分别对应文件属主、组和其他用户;每组权限属性中都包含三部分:读、写、执行权限;分别用字母,r,、,w,、,x,或一位八进制,4,、,2,、,1,代表。,文件权限,文件或目录的权限的标志,r,读权限,w,写权限,x,执行权限,-,无,权限,一个文件或目录的权限的标志由三位字符组成,rwx,可,读写执行权限,r-,只读,权限,rw-,只读写,权限,-,无,权限,修改文件权限,查看目录和文件权限,ls l,修改权限,chmod,只有该文件的属主(拥有者)和,root,有权修改文件的权限,字母形式:,chmod ugoa + - = rwx file-list,chmod u=rwx,g=r,o= aa,数值形式:,chmod mode file-list,修改文件权限,改变文件创建状态掩码,umask,umask -s,显示当前掩码,umask,三组一位八进制数,表示去掉相应的权限(对于普通文件默认没有执行权限),umask ugoa + - = rwx,同,chmod,更改文件拥有者(组),chown,chgrp,(,Root,有权),chown/,chgrp,-R,user.,group,file-list,SUID,和,SGID,权限,SUID,和,SGID,一般被用于可执行文件,目的是确保为运行程序的进程授予访问系统资源的相应权限,这些权限将以文件的所有者和组所有者权限为基础,而不是取决于执行文件的用户或创建进程的用户。,SUID,和,SGID,可以绕过正常情况下设置的一些权限设置。,设置方法:,chmod u,sfile,设置,SUID,chmod g,sfile,设置,SGID,或使用八进制,chmod 4755 file,设置,SUID,chmod 2755 file,设置,SGID,设置,SUID,后,第一组权限属性的,x,将变为,s,;设置,GUID,后,第二组权限属性的,x,将变为,s,。,粘滞位,sticky-bit,对可执行文件来说,要求操作系统既是在程序退出后,仍要在内存中保留该程序的映象。对于目录(公共目录),则要求目录中的文件只能由文件主或,root,来删除。,设置方法:,chmod +/- t,第三章,Vi,编辑器,Vi,的简单配置,Vi,的基本使用,Vi,基本编辑命令,Vi,简单配置,控制,Vi,运行和显示命令的方法有两种:通过命令直接配置和使用配置文件。,1,、使用命令,在,Vi,的命令行方式输入控制命令。,2,、使用配置文件,.exrc,或,.vimrc,将要设置的命令一行一条的写入配置文件中。配置文件存放在用户主目录中。,Vi,简单配置,常用控制命令:,set,命令:,格式:,set nooption,设置,/,取消选项,set number,给每行加行号,set nonumber ,取消行号显示,set showmode,显示当前状态,Vi,简单配置,set ts,4,设置,Tab,键跳格数,set sm,(,showmatch,)括号匹配,Vi,简单配置,设置,C,语言格式的自动缩进,set cindentset softtabstop=4,设置自动缩进:即每行的缩进值与上一行相等;使用,noautoindent,取消设置:,set autoindent,Vi,启动,vi/vim option files,其中,vim,是,vi,的增强版本。,options,来修正,vi,的打开方式,:,-R/m,以只读方式打开,相当于使用,view,打开文件。,m,不允许写,,R,允许,- r,列出用于恢复文件的交换文件名,或恢复指定文件,vi,的工作方式,注:,vi,启动后,直接进入命令模式。,命令模式,输入方式,Esc,i,,,a,,,o,,,O,转义式,:冒号,退出,Vi,在命令模式下输入,ZZ/:wq/:x,存盘并退出,:w,存盘,:q!,不存盘退出,文本输入,正文插入命令,i,在光标所在字母之前插入,进入输入模式,a,在光标所在字母之后插入,进入输入模式,o,在当前行之下插入一个新行,进入输入模式,O,在当前行之上插入一个新行,进入输入模式,移动光标,n h/j/k/l,将光标向左,/,下,/,上,/,右移动,n,列,/,行或 通过光标键进行移动,n ctrl+B/F,向后,/,向前翻,n,页,ctrl+U/D,向上,/,下翻半页,将光标移到行首,$,将光标移到行尾,nw/b nW/B,光标右移,/,左移,n,个单词,移动光标,:,行号,/:$,移到光标到指定行,/,最后一行,:$-n,移到光标到倒数第,n,行,:.+/-n,从当前行向前,/,向后移动,n,行,删除、替换,n x,从光标当前字符开始的,n,个字符,ndd,从当前行向后的,n,行,d/$,从光标当前位置到行首,/,行末,dw/%,一个单词,/,删除与当前括号匹配括号之间内容,r,单个字符将当前光标处的字符替换为,r,后键入的字符,R,字符串用字符串的内容替换从当前光标开始的相应字符,直到,Esc,u / .,取消,/,重复上一次操作,缓冲区(剪切板),vi,在启动时会创建,9,个通用缓冲区,名字为,19,。当用户进行一次删除或写缓冲区,被操作的内容就会保存到一个缓冲区。,Vi,同时提供,26,个命名缓冲区,分别用,az26,个英文字母命名。用户可以将指定内容方入指定缓冲区,再通过命令读区内容到指定位置(粘贴)。,写缓冲区(复制),yy/dd,将指定内容送到通用缓冲区:,nyy,复制当前行,/,当前行开始的,ny$/w/%,复制指定内容,:l1,l2y,复制,l1,行到,l2,行的内容,将指定内容送到命名缓冲区:,”缓冲区名,yy/dd,指令例:”,ayy,复制当前行到,a,缓冲区,读缓冲区(粘贴),p,格式:”,p,粘贴指定缓冲区中的内容到当前光标之后。,文件操作命令,:w file,文件另存,:,范围,w file,将指定范围内容保存,:e!,重新编辑当前文档,:e file,编辑新文档,:r file,读入,file,内容到当前光标处,模式查找替换,1,、搜索,在,vi,的模式查找命令中,使用“正则表达式”来描述一个字符串模式。,格式:,/,模式,n/N,继续向下,/,上查找,模式查找替换,2,、模式替换,:,行号,行号,s/,模式,/,替换字符串,/,gc,g/,模式,1/s/,模式,2/,替换字符串,/gc,g,:,查找替换行内所有匹配的字符,否则只替 换每行的第一个匹配字符,c,:,替换前进行询问,vi,中使用,Shell,命令,1,、,:shell,进入,shell,环境,,Ctrl+D,返回,vi,2,、,!cmd,运行命令,完成后按回车返回,3,、,r !cmd,将命令运行后的结果插入到当前编辑的文件中。,第四章,Shell,及,Shell,编程,Shell,的种类,Shell,的启动与终止,Shell,的历史机制和命令别名,重定向、管道、工作控制,Bash,内置,命令,、变量,各种控制语句、功能及流程和函数,Shell,概念,Shell,是用户和系统(内核)之间的接口,是一个交互的命令解释器,它提供一组公用程序,利用,Kernel,(内核)功能完成用户提出的任务。,Shell,的任务:,(,a,)分析命令;,(,b,)处理通配符、重定向、管道和作业控制;,(,c,)搜索命令并执行。,Shell,概念,内核,Shell,用户,硬件,Shell,种类,(,1,),/bin/sh,B-shell,由,R.Bourne,在,Bell,实验室开发,,Unix,的标准,Shell,(,2,),/bin/csh,C-shell,由,Bill Joy,在加州大学开发,提供历史机制和别名替换,(,3,),/bin/bash,Bourne Again Shell,Linux,标准,Shell,,其兼容,B-Shell,。,Shell,的选择:,Shell,一般由管理员在创建用户时,为用户指定;其保存在,/etc/passwd,文件中;或通过,usermod,命令进行更改。也可在登录后执行相应的命令切换,Shell,。,Bash,的启动与终止,启动:,Bash,启动时,先运行,/etc/profile,,再自动运行用户主目录下的,.bash_profile,和,.bashrc,文件。,终止:当用户执行,eixt,、,logout,或按下,ctrl,d,时,,Bash,将运行用户主目录下的,.bash_logout,文件中的命令。,Bash,的历史机制,1,、设置历史表大小:,set history,n,2,、查看历史:,history n,3,、翻阅历史:通过,/,4,、运用历史命令:,!,引用上条命令,!str,引用最近以,str,开头的命令,!n,引用历史表中第,n,条命令,名称补全,Tab,补全以已经输入的字符串为开始的文件名或目录名。,命令别名,1,、查看已有别名:,alias,2,、增加一个别名:,alias dir=ls color=tty,3,、删除一个别名,unalias,别名,重定向,1,、输入重定向, ,标准错误重定向,2,3,、指定文件描述符的输出重定向,文件描述符,1&,文件描述符,2 1,:标准输出,2,:标准出错,作用:将文件描述符,1,的输出与文件描述符,2,的输出结合输出到文件描述符,2,中,4,、,Here Document,命令,定界符,作业控制,作业控制让用户在前台和后台之间切换作业,并显示那些工作在后台工作。,bg,将中断的工作放到后台进行;,fg,将后台的工作切换到前台;,jobs,显示正在后台运行工作名单,让工作在后台进行:,启动时便放在后台:在命令后加,&,将正在进行的任务放入后台:按,z,中断任务,然后执行命令,bg,fg n,将指定的后台工作切换到前台,shell,脚本,(,命令表,),格式,第一行一般写作:,#,!,/bin/bash,#!,称为一个幻数,内核用它来标识来解释执行命令表中行的程序。该行必须在命令表的顶部。,可执行语句和,Bourne shell,结构,:,一个,Bourne shell,程序由,Linux,命令、,Bourne shell,命令、控制语句和注释组成。,注释(,comments,),是那些前面有一个井号(,#,)的行。其可以是自成一行,或跟在一个命令(可执行语句)之后。对命令表和命令行进行注释。,Shell,脚本的执行方式,输入重定向到脚本,bash-ge=,-ne-lt-le/dev/null $fname,if $? eq 0 ,then,echo Write successfully,else,echo write error,fi,case,结构,case word in,pattern1,),command_list;,pattern2,),command_list;,*,),command_list;,esac,其中:,pattern,可以用竖线分隔多个模式,模式使用,shell,的文件名匹配规则。,while,循环,1,、,while,循环,while condition,do,command_list,done,例:设计一个登录程序:,#!/bin/sh,count=3,while $count -gt 0 ,do,echo -en Login name:,read logname,echo -en Password:,read pwd, $logname = root -a $pwd = 12345 & ,echo Welcome Here!,count=0,let count=count - 1,sleep 5,done,Until,循环,until conditiondoCommandListdone,for,循环,格式,1,:,for var in word_listdo,command_list,done,for var in $1 $2 ,do,command_list,done,从,shell,的位置变量中取值,例:显示输入的参量,#!/bin/bash,echo you enter $# vars,echo They are:,count=0,for var,do,echo “$count. $var ”,let count=count + 1,done,for,循环,格式,2,:,for var in,Path/*,do,command List,done,遍历,Path,目录中的所有文件及文件夹,for,循环,例:备份指定目录中的所有文件到指定目录中,#!/bin/bash, ! -d $1 -o ! -d $2 ,for file in $1/*,do,if test -f $file a r $file,then,cp $file $2,fi,done,for,循环,格式,3,:,for (e1;e2;e3)do,命令列表,done,语法同,C,中的,For,Break,、,Continue,、,Exit,Break n,退出,n,层循环,continue n,跳到第,n,层循环继续,exit n,退出脚本,并设置退出码,函数,格式:,function_name,(),command_list, return n,其中,return,用于带回函数的返回码(,0,255,),注意:函数必须先定义后使用,函数在当前环境下运行,和调用它的脚本共享变量,;而且可以通过把变量作为定位参数来赋值的方式传递变量。,函数,例:,#,!,/bin/bash,Sq(),result=$(n*n),echo n Enter a Number,read n,Sq,echo The square of $n is $result,或,Sq(),result=$($1*$1),echo n Enter a Number,read n,Sq $n,echo The square of $n is $result,shell,内置命令,eval,命令分析,eval,命令字符串,功能:首先对“命令字符串”进行,shell,替换,然后执行该命令。,例:,for(i=1;i=500,打印第三列大于,500,的行,gawk -F: $3=500 & $3=600printf(“usrname is %sn”,$1),匹配运算:,格式:字符串, /pattern/,gawk -F: $4 /root/ & $33 /etc/group,第五章,Linux,系统管理,用户管理,文件系统及其维护,系统运行管理,系统软件包管理,进程管理,用户管理,与用户管理有关的文件,passwd,:保存用户信息;,shadow,:用户账户加密口令信息,;,group,:保存用户组及组成员信息;,用户管理,/etc/passwd,(用户信息文件)文件格式:,username,:,*,:,uid,:,gid,:,comment,:,homedir,:,shell, ,其中:,用户名,加密口令,具体内容保存在,/etc/shadow,文件中,用户标识,系统使用,用户组标识,用户描述,用户主目录,用户注册,Shell,用户管理,/etc/shadow,用户口令文件。格式:,User,:,pwd,:,lastchy,:,min,:,max,:,warn,:,inactive,:,expire,其中:,用户名,加密后的口令,上次更改口令后距,1970-1-1,的天数,两次修改口令间隔最少的天数,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!