版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章
Linux系统概述
主要内容介绍与操作系统有关的计算机术语了解操作系统的基本功能了解Linux操作系统的历史、现状及特点了解Linux操作系统的安装过程了解Linux系统图形界面的一般知识
1.1计算机基础知识一个完整的计算机系统是由硬件和软件两大部分组成的硬件是指计算机物理装置本身,它是计算机系统的物质基础软件是相对硬件而言的,它是与数据处理系统操作有关的计算机程序以及相关数据等的总称▲程序是计算机完成一项任务的指令的集合▲数据是由程序使用或生成的不同类型的信息
▲硬件是软件建立与运行的基础,软件是硬件的灵魂和功能扩充软件通常可分为三大类,即系统软件、应用软件和支撑软件
系统软件1.操作系统
操作系统是用户与计算机硬件之间的界面,它是控制和管理计算机系统内各种硬件和软件资源、有效地组织多道程序运行的系统软件(或程序集合)。2.图形系统3.网络系统4.编辑程序、编译程序、数据库等
支撑软件支撑软件是辅助软件技术人员从事软件开发和项目管理人员进行开发项目管理工作的软件,如各种编辑程序、开发工具、测试工具、查错程序、项目管理程序等,所以又称为工具软件。应用软件
应用软件是为解决某一类应用需要或某个特定问题而设计的程序,如图形软件、财务软件、软件包等等。这是范围很广的一类软件。
1.2操作系统的功能
操作系统是硬件之上的第一层系统软件,是其他所有软件运行的工作平台。基本职能是:
·控制硬件
·管理资源
·提供用户接口
·处理输入输出
·监控系统
·通信用户接口
命令行接口
用户接口菜单图形用户接口用户接口程序接口也称为系统调用接口在UNIX/Linux系统中,系统调用以C函数的形式出现。例如:
fd=open("file1.c",2);1.3Linux系统的历史、现状和特点
1.3.1Linux的历史
RichardStallman组织开发了一个完全基于自由软件的软件体系计划
GNU(GNU是GNUisNotUNIX的递归缩写)
GPL(GeneralPublicLicense简称)20世纪80年代,AndrewS.Tanenbaum教授自行设计了一个微型UNIX操作系统—MINIXLinux
1991年芬兰赫尔辛基大学的学生
LinusTorvalds开发
1.3.2Linux的现状
1.软件提供模式当前流行的软件三种模式,即:商业软件(Commercialsoftware)共享软件(Shareware)自由软件(Freeware或Freesoftware)Linux是自由软件的杰出代表目前Linux的用户分为个人用户、专业用户和商业用户
2.Linux用户按用户的性质,可以将目前Linux的用户分为个人用户、专业用户和商业用户。个人用户可以说是业余用户专业用户大多是UNIX的使用者商业用户要向客户提供商业服务3.Linux应用现状目前,Linux已经成为服务器操作系统领域的首选系统之一,在全球Top500超级计算机上绝大部分都运行着Linux系统。Linux的众多优点使它在嵌入式领域获得了广泛的应用,并出现了数量可观的嵌入式Linux系统。长期以来,Linux一向是备受云计算和数据中心青睐的操作系统,多数云供应商都在使用Linux打造数据中心。新版本的Linux系统特别在桌面应用方面进行了改进,已达到相当的水平,完全可以作为一种集办公应用、多媒体应用、网络应用等多方面功能于一体的图形界面操作系统。1.3.3Linux的特点
与UNIX兼容自由软件,源码公开性能高,安全性强便于定制和再开发互操作性高全面的多任务和真正的32位操作系统当然,Linux也存在缺陷1.3.4Linux的版本
Linux有两种版本,一个是核心(Kernel)版本,另一个是发行(Distribution)版本。1.核心版本序号由三部分数字构成,其形式为:major.minor.patchlevel
例如:2.2.11表示对核心2.2版本的第11次修订。在2.6版本之前(2004年推出2.6.0)约定:次版本号为奇数时,表示该版本加入新内容,但不一定很稳定,相当于测试版;次版本号为偶数时,表示这是一个可以使用的稳定版本。自2011年发布3.0版本之后,上述形式中次版本号不再有奇数与偶数的差异,都表示稳定版本。2.发行版本①RedHatLinux/FedoraCore
②Debian ③Ubuntu④Slackware⑤openSuSE⑥红旗Linux
——更名为:北京红旗软件有限公司
⑦中标普华
——由中标软件有限公司开发
1.3.5Linux的发展优势与存在的问题Linux具有以下发展优势
:
开放源码系统受到各国政府的大力支持得到全球各大软、硬件公司的支持价格优势和安全性不利因素:
没有特定的支持厂商
不熟悉、应用软件少、使用不方便和功能不完备1.4Linux系统安装
1.4.1基本硬件需求--红旗Linux桌面版6.0(RedFlagLinuxDesktop6.0)对系统的需求是:装有IntelPentium兼容CPU,建议使用PII以上的CPU;最小内存为256MB,推荐使用512MB以上内存;最少3GB自由硬盘空间,建议使用6GB以上的硬盘空间;配置CDROM驱动器,最好可以直接引导系统;装有VGA兼容或更高分辨率的显卡;配有键盘、两键或三键鼠标器。安装系统的一般步骤
可分为三个阶段:1.安装前的准备2.安装开始的参数配置3.执行安装1.4.2安装前的准备1.备份数据2.收集硬件信息3.准备DOS启动盘4.制作安装引导盘5.准备Linux分区1.备份数据
在安装红旗Linux之前,应将硬盘中的重要数据备份到移动硬盘、光盘或U盘上,从而避免在安装过程中发生意外时造成损失。通常要做备份的内容包括系统分区表、系统中的重要文件和数据等。
2.收集硬件信息
(1)基本硬件配置信息硬盘数量、容量大小、接口类型(IDE或SCSI)、参数(柱面数/磁头数/扇区数)
内存大小光驱的接口类型(IDE,SCSI或其他类型)。如果是IDE光驱,要知道它连接在第几个IDE口上
。如果安装SCSI设备,要记住其制造者和型号。鼠标类型(串口、PS/2、USB或总线鼠标)、按键数目、串行鼠标连接的串行端口号
。如果安装了声卡,要记住声卡的种类、中断号、DMA和输出端口
。(2)显卡设备信息
显卡的制造商和显卡型号、显存的大小
。显示器的制造商和型号,水平和垂直刷新频率。(3)有关网络连接的信息网卡的制造商和型号,中断号及端口地址。主机名称,域名,网络掩码,路由器地址(网关地址),名字服务器地址等。调制解调器的类型和连接端口号。以上这些硬件设备信息可以从硬件设备手册或设备诊断工具中获取。3.准备Linux分区主分区(primarypartition):一个硬盘最多只能有四个主分区扩展分区(extendedpartition):可以创建多个扩展分区逻辑分区(logicalpartition):在扩展分区上可以划分出逻辑分区★红旗Linux可以安装在主分区上,也可以安装在逻辑分区上1.4.3利用PQMagic8.0划分分区
使用分区魔术师PowerQuestPartitionMagic(简称PQMagic)、FIPS(FirstInteractivePartitionSplitter,是红旗Linux光盘自带的)等分区工具可以在保留数据的同时安全地改变分区的大小,可以将一个DOS/Windows分区分成两个部分:一部分是DOS/Windows文件系统分区,另一部分是空闲分区,可以用于安装新操作系统。如果在硬盘上已经给Linux预留了空闲分区,就可以跳过这一步;如果已经把整个硬盘空间都分给了Windows7、WindowsXP,那么,就必须重新划分硬盘空间,为Linux创建分区。Windows7WindowsXPLinuxswapLinuxNative1.PQMagic8.0窗口
2.压缩已有分区
一般来说,手工完成一个任务有三个步骤:选择一个硬盘或分区;选择一个操作;最后将该修改应用到系统。调整容量/移动分区
3.分区划分结果
1.4.4安装过程
安装时应首先设置当前计算机的BIOS启动顺序,把CDROM作为第一个启动搜索选项,即:保证引导搜索顺序为“光盘引导优先”。将Linux系统安装盘放入光驱中,然后重新启动系统。系统正确引导以后,将出现提示信息和boot提示符。按下Enter键,则继续引导安装。在默认情况下,红旗Linux将进入图形化安装界面。1.许可协议2.磁盘分区
Linux通过字母和数字的组合来标志硬盘分区前两个字母标志分区所在设备的类型,如:
hd表示IDE硬盘,sd表示SCSI/SATA/USB硬盘第三个字母表示分区在哪个设备上,如:
hda表示第一块IDE硬盘,hdb表示第二块IDE硬盘,sdc表示第三块SCSI硬盘最后的数字表示分区的次序,如数字1~4表示主分区或扩展分区,逻辑分区从5开始(1)选择分区方式自动分区用DiskDruid手工分区
——树状层次目录结构列出了系统当前的硬盘分区列表——分区列表显示了系统中硬盘驱动器的详细信息:
分区大小类型挂载点格式化
(2)创建新分区
创建swap分区
(3)确认要格式化的分区
所有新建的分区都会被格式化。
3.配置引导
(引导程序设置界面)
4.配置网络
有关配置网卡的操作,将在9.1.1节中介绍
5.设置根用户口令
6.检查安装选项
7.安装系统安装过程显示8.安装成功
1.4.5登录和退出系统1.登录
▲启动系统
RedFlagDesktopOther
▲登录2.退出1.4.6常用硬件配置1.配置显示设备2.配置打印机配置打印机界面
打印机型号选择
1.4.7安装软件工具“选择方法”安装界面
安装软件工具1.5在虚拟机上安装Linux
(1)下载并安装VMWare,创建虚拟机(2)安装Linux操作系统(3)安装VMWareTools以root身份进入Linux系统,按Ctrl+Alt键,进入VMware。单击VM菜单下的VMwareToolsInstall子菜单。在弹出的对话框中单击“install”按钮,出现一个cdrom对话框,其中包含名为vmware-linux-tools.tar.gz的文件。把这个文件解压缩后,执行其中的vmware-install.pl文件。
1.6Linux图形环境
1.6.1XWindow系统1.客户-服务器模型2.X协议应用程序与窗口管理器的关系
1.6.2GNOME桌面系统1.6.2GNOME桌面系统目前,Linux系统主要采用的两种桌面系统环境是KDE和GNOMEGNOME是GNU网络对象模型环境(GNUNetworkObjectModelEnvironment)的缩写,它是GNU项目的一部分,是完全开放源代码的自由软件。在RedHatLinux系统中已经将GNOME作为默认的桌面管理器。
1.6.3KDE桌面系统典型的KDE桌面界面
1.KDE桌面组件
KDE桌面环境由面板和桌面组成▲K面板
▲桌面屏幕中间的部分是KDE桌面,上面放置了一些常用的应用程序和文件的图标,可以在上面双击鼠标左键来运行相应程序或打开文件,也可以拖动它们,改变其位置,或者添加/删除桌面图标2.控制面板(1)硬件配置(2)系统配置(3)观感配置(4)桌面设置第2章
Linux常用命令
主要内容安全使用计算机的方式输入正确的命令以完成简单的任务文件、目录、文件系统、进程等概念使用相应命令对文件、目录、进程进行管理遇到问题时如何找到帮助信息
2.1使用命令
2.1.1进入shell界面
开始实用工具终端程序
2.1.2命令格式bash命令的一般格式是:命令名[选项][参数1][参数2]…例如:
cp–ifile1.cmyfile.c▲应注意
:命令名必须是小写的英文字母一般格式中由方括号括起来的部分是可选的选项以“-”开始,多个选项可用“-”连起来命令行的参数提供命令运行的信息或者命令执行过程中所使用的文件名如果命令行中没有提供参数,则命令使用标准文件进行输入/输出命令在正常执行后返回一个0值,表示执行成功Linux操作系统的联机帮助对每个命令的准确语法都做了说明
2.1.3输入命令$echoTheoldhaspastawayandthenewis\<Enter>>afreshawaitingyourcreativetouch.<Enter>Theoldhaspastawayandthenewisafreshawaitingyourcreativetouch.应注意,在命令与选项和参数之间要用空格或制表符隔开
2.2简单命令1.who列出所有正在使用系统的用户、所用终端名和注册到系统的时间
2.echo将命令行中的参数显示到标准输出(即屏幕)上
3.date在屏幕上显示或设置系统的日期和时间
4.cal显示公元1~9999年中任意一年或者任意一个月的日历
5.clear清除屏幕上的信息
6.passwd修改用户密码
2.3文件概念和文件类型
2.3.1文件系统的概念1.文件与目录的定义
文件系统文件目录子目录文件名路径名当前工作目录
2.文件结构文件的成分
索引节点数据命名文件——使用文件名时应注意:▲尽量简捷有效▲不要用斜线(/)和空字符(ASCII字符\0)▲习惯上允许使用下线符(_)和句点(.)来区别文件的类型,但是应避免使用以下有特殊含义的字符:
;|<>ˋ″′$!%&*?\()[]▲同类文件应使用同样的后缀或扩展名▲Linux系统区分文件名的大小写▲以圆点(.)开头的文件名是隐含文件2.3.2文件类型1.普通文件文本文件数据文件可执行的二进制程序2.目录文件是一种特别文件,利用它可以构成文件系统的分层树状结3.设备文件是一种特别文件,用来标记各个设备驱动器。字符设备、块设备4.符号链接文件是一种特殊文件,提供对其他文件的参照
2.4文件操作命令
2.4.1有关文件显示命令1.cat命令一般格式:cat[选项]文件有两项功能:在标准输出上显示文件的内容;连接两个或多个文件如:$catf1f2>f3常用选项:
-b,--number-noblank从1开始对所有非空输出行进行编号。
-n,--number从1开始对所有输出行编号。
-s,--squeeze-blank将多个相邻的空行合并成一个空行。
--help打印该命令用法,并退出,其返回码表示成功。2.more命令一般格式:more[选项]文件说明:该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今已显示的该文件的百分比:--More--(XX%)。常用选项:
-num,这个选项指定一个整数,表示一屏显示多少行。
-d,在每屏的底部显示以下更友好的提示信息:
-c或-p,不滚屏,在显示下一屏之前先清屏。
-s,将文件中连续的空白行压缩成一个空白行显示。
+/,该选项后的模式(Pattern)指定显示每个文件之前进行搜索的字符串。
+num,从行号num开始。
3.less命令less命令允许用户向前(文件结尾)或向后(文件开头)浏览文件,而more命令只能向前浏览。4.head命令一般格式:head[选项]file说明:head命令在屏幕上显示指定文件的开头若干行,行数由参数值来确定。显示行数的默认值是10。选项:-c,--bytes=[-]N
显示每个文件前面N个字节。如果数字N前面带有“-”,则分别显示每个文件除最后N个字节以外的所有内容。-n,--lines=[-]N
显示指定文件的前面N行,而不是默认的10行。如果数字N前面带有“-”,则分别显示每个文件除最后N行以外的所有内容。
-q,-quiet,--silent不显示给定文件的标题。
-v,--verbose始终显示给定文件的标题。
5.tail命令一般格式:tail[选项][file]…说明:tail命令在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。
选项:
-c,--bytes=N输出最后N个字节。
-f当文件增长时输出附加的数据。
-n,--lines=N输出最后的N行,而不是默认的10行。
-q,-quiet,--silent不输出包含给定文件名的标题。
-v,--verbose始终输出包含给定文件名的标题。6.touch命令一般格式:touch[选项]文件名…说明:touch命令将会修改指定文件的时间标签,把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来。如果该文件尚未存在,则建立一个空的新文件。
选项:
-a仅改变指定文件的存取时间。
-c,--no-create不创建任何文件。
-m仅改变指定文件的修改时间。
-tSTAMP使用STAMP指定的时间标签,而不是系统当前的时间。2.4.2匹配、排序及显示指定内容的命令
1.grep命令一般格式:
grep[选项]查找模式[文件名1,文件名2,…]grep[选项][-e查找模式|-f文件][文件名1,文件名2,…]说明:该命令用来在文本文件中查找指定模式的词或短语,并在标准输出上显示包括给定字符串模式的所有行。
例如:在密码文件/etc/passwd中查找包含mengqc的所有行:
$grepmengqc/etc/passwdmengqc:x:500:100:mengqingchang:/home/mengqc:/bin/bash常用选项:
-E将查找模式解释成扩展的正则表达式。
-F将查找模式解释成单纯的字符串。
-b,--byte-offset在输出的每一行前面显示包含匹配字符串的行在文件中的位置,用字节偏移量来表示。
-c,--count只显示文件中包含匹配字符串的行的总数。
-fFILE
从文件FILE中获取模式,每行一个。空文件不含模式,因此,不做匹配。
-i,--ignore-case匹配比较时不区分字母的大小写。
-R,-r,--recursive以递归方式查询目录下的所有子目录中的文件。
-n在输出包含匹配模式的行之前,加上该行的行号(文件首行的行号为1)。
-v只显示不包含匹配字符串的文本行。
-x只显示整个行都严格匹配的行。2.sort命令一般格式:sort[选项]文件列表说明:用来对文本文件的各行进行排序排序比较是依据从输入文件的每一行中提取的一个或多个排序关键字进行的。
选项:
-m,--merge对已经排好序的文件统一进行合并,但不做排序。
-c,--check检查给定的文件是否已排好序,若没有,则显示出错消息,不做排序。
-u,--unique与-c选项一起用,严格地按顺序检查;否则,对排序后的重复行只输出第一行。
-o,--output=FILE将排序输出放到该文件名所指定的文件中。如果该文件不存在,则创建一个新文件。还有一些改变排序规则的选项
3.uniq命令一般格式:uniq[选项][输入文件[输出文件]]说明:读取输入文件,比较相邻的行,去掉重复的行,只留下其中的一行。
选项:
-c,--count
显示输出时,在每行的行首加上该行在文件中出现的次数。
-d,--repeated
只显示重复行。
-f,--skip-fields=N
忽略比较前N个字段。
-s,--skip-chars=N
忽略比较前N个字符。
-u,--unique
只显示文件中不重复的行。2.4.3比较文件内容的命令1.comm命令一般格式:comm[-123]file1file2说明:comm命令对两个已经排好序的文件进行比较。选项:
-123选项1,2和3分别表示不显示comm输出中的第一列、第二列和第三列。
2.diff命令一般格式:diff[选项]文件1文件2说明:比较两个文本文件,并找出它们的不同。该命令输出的一般形式如下:n1an3,n4 (把文件1的n1行附加到文件2的n3~n4行后,则二者相同)
n1,n2dn3 (删除文件1的n1~n2行及文件2的n3行,则二者相同)
n1,n2cn3,n4(把文件1的n1~n2行改为文件2的n3~n4行,则二者相同)选项:
-b忽略空格造成的差别。
-c输出格式是带上下文的三行格式。
-Cn
输出格式是有上下文的n行格式。
-e输出一个合法的ed脚本。
-i忽略字母大小写的区别。
-r当文件1和文件2都是目录时,递归比较找到的各子目录。2.4.4复制、删除和移动文件的命令1.cp命令一般格式:cp[选项]源文件或目录目标文件或目录说明:将源文件或目录复制到目标文件或目录中选项:
-a递归地将源目录下的所有子目录及其文件都复制到目标目录中,并且保留文件链接和文件属性不变。它等效于-dpR。
-d复制时保留文件链接。
-f,--force如果现存的目标文件不能打开,则删除它并且重试一次。
-i,--interactive
与-f选项不同,在覆盖目标文件之前先给出提示,要求用户予以确认。回答y,将覆盖目标文件。这是交互式复制。
-p除复制源文件的内容外,还将其修改时间和存取权限也复制到新文件中。
-R,-r递归复制目录,即将源目录下的所有文件及其各级子目录都复制到目标位置。
-l不复制,而是创建指向源文件的链接文件,链接文件名由目标文件给出。2.rm命令一般格式:rm[选项]文件列表说明:删除文件和目录选项:
-d删除目录,不管它是否为空(仅超级用户才可使用)。
-f,--force
忽略不存在的文件,并且不给出提示信息。
-r,-R,--recursive
递归地删除指定目录及其下属的各级子目录和相应的文件。
-i交互式地删除文件。3.mv命令一般格式:mv[选项]sourcetarget说明:对文件或目录重新命名,或者将文件从一个目录移到另一个目录中选项:
-i,--interactive
交互式操作。如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入“y”,表示将覆盖目标文件;输入“n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
-f与“-i”相反,它禁止交互式操作。在覆盖已有的目标文件时,不给任何提示。2.4.5文件内容统计命令一般格式:wc[选项][文件]…说明:统计指定文件的字节数、字数、行数,并将统计结果显示出来
选项:
-c,--bytes
统计字节数。
-l,--lines
统计行数。
-w,--words
统计字数。
2.5目录及其操作命令
2.5.1目录结构在根目录下,通常有以下目录:bin、sbin、boot、dev、etc、home、lib、lost+found、mnt、proc、root、tmp、usr、var等。●bin目录包含二进制(binary)文件的可执行程序。许多Linux命令实际上是放在该目录中的程序●sbin目录中存放用于管理系统的命令。●boot用于存放引导系统时使用的各种文件,如LILO等。●etc目录非常重要,它包含许多Linux系统配置文件(如密码文件/etc/passwd、配置文件/etc/profile等)。对系统的配置主要就是对该目录下的文件进行相应修改。●root目录是超级用户的目录。●dev目录包含标示设备的特别文件,这些文件用于访问系统中所有不同类型的硬件。●home目录是用户起始目录的基础目录。通常,用户的主目录就保存在该目录中。●lib目录中保存程序运行时使用的共享库。这些库文件仅在执行有关命令时才会用到。●lost+found目录中存放系统非正常关闭时正在处理的文件,以便下次系统启动时恢复。●mnt目录中存放安装文件系统的安装点。●proc目录实际上是一个虚拟文件系统,其中的文件是由核心在内存中产生,用于提供关于系统的信息。●tmp目录用于存放程序运行时生成的临时文件。●usr目录中包含了多个子目录,这些子目录中保存系统上一些最重要的程序,可供所有用户共享。●var包括系统正常运行时要改变的数据。通常,各种系统记录文件都放在这个目录下。1.用户主目录——就是用户当前工作目录2.路径名2.5.2创建和删除目录的命令1.mkdir命令一般格式:mkdir[选项]dirname说明:该命令创建由dirname命名的目录。选项:
-m,--mode=MODE
对新建目录的存取权限设置为MODE,存取权限用给定的八进制数字表示。
-p,--parents
可一次建立多个目录,即如果为新建目录所指定的路径中有些父目录尚不存在,此选项可以自动建立它们。2.删除目录一般格式:rmdir[选项]dirname说明:该命令从一个目录中删除一个或多个子目录选项:
-p,--parents
递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果有非空的目录,则该目录保留下来。注意:子目录被删除之前应该是空目录。
2.5.3改变工作目录和显示目录内容的命令1.cd命令一般格式:cd[dirname]说明:改变当前工作目录它带有唯一的一个参数,即表示目标目录的路径名(相对路径名或绝对路径名)如:cd../..2.pwd命令
显示出当前工作目录的绝对路径
3.ls命令一般格式:ls[选项][目录或文件]说明:如果给出的参数是目录,该命令将列出其中所有子目录与文件的信息;如果给出的参数是文件,将列出有关该文件属性的一些信息。常用选项:
-a,--all
显示指定目录下所有子目录和文件,包括以“.”开头的隐藏文件(如.cshrc)。
-C分成多列显示各项。
-d如果参数是目录,则只显示它的名字(不显示其内容)。-F,--classify
在列出的文件名后面加上不同的符号,以区分不同类型的文件。可以附加的符号有:
/*@|=
-i,--inode
输出的第一列显示文件的I节点号。-l以长格式显示文件的详细信息。输出的信息依次是:文件类型与权限链接数文件主文件组文件大小建立或最近修改的时间文件名
例如:-rw-r—r--2mengqcgroup19810月202010csh1
列出当前目录的内容,并标出文件的属性:$ls-Fa.out*Desktop/ex1ex2m1.cm2.ctest/2.5.4链接文件的命令链接——为一个文件起多个名字1.硬链接:在另外的目录或本目录中增加目标文件的一个目录项。有如下限制:不能对目录文件做硬链接;不能在不同的文件系统之间做硬链接。
2.符号链接也称为软链接,是将一个路径名链接到一个文件(一种特别类型的文件)。与硬链接的不同:符号链接确实是一个新文件,它有不同的I节点号;而硬链接并没有建立新文件。符号链接没有硬链接的限制,可以对目录文件做符号链接,也可以在不同文件系统之间做符号链接。3.ln命令一般格式:ln[选项]源文件[目标文件]说明:用来创建链接选项:
-s,--symbolic
建立符号链接,而不是硬链接。注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。2.5.5改变文件或目录存取权限的命令1.用户和权限
Linux系统中规定了4种不同类型的用户:①文件主(owner);②同组用户(group);③可以访问系统的其他用户(others);④超级用户(root),具有管理系统的特权。存取权限规定3种访问文件或目录的方式:①读(r)②写(w)③可执行或查找(x)2.chmod命令——用于改变或设置文件或目录的存取权限
(1)以符号模式改变权限一般格式:chmodkey文件名说明:key由以下三部分组成:[who][操作符号][mode]操作对象who可以是下述字母中的任一个或者它们的组合:
ugoa
操作符号可以是:+-=
操作方式mode所表示的权限可用下述字母的任意组合:
rwxXst(2)以绝对方式改变权限一般格式:chmodmode文件名mode是以3位八进制数字出现的,第一位表示文件主权限,第二位表示组用户权限,第三位表示其他用户权限2.umask命令一般格式:umaskmode说明:用来设置限制新建文件权限的掩码。示例:umasku=,g=w,o=rwx应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。
umask-S选项-S表示以字符形式显示当前的掩码。
2.5.6改变用户组和文件主的命令1.chgrp命令一般格式:chgrp[选项]组名文件名说明:该命令用来改变指定文件所属的用户组常用选项:
-R,--recursive
递归式地改变指定目录及其下面的所有子目录和文件的用户组。2.chown命令一般格式:chown[选项]用户或组文件名说明:改变某个文件或目录的所有者和所属的组选项:
-R,--recursive
递归式地改变指定目录及其所有子目录、文件的文件主。
-v,--verbose
详细列出该命令所做的工作。
2.6联机帮助命令
2.6.1man命令一般格式:man[选项]命令名说明:格式化并显示某一命令的联机帮助手册页选项:
-M路径指定查找man手册页的路径。
-P命令指定显示手册所使用的分页程序。默认使用“/usr/bin/less-is”。
-S章节指定查找手册页的章节列表。
-a显示所有的手册页,而不是只显示第一处找到的。
-d主要在检查时使用。如果用户加入了新的手册页,就可以用这个选项检查手册页的安装情况。这个选项并不显示手册页的内容。
-D既显示手册页内容,也显示检查信息。
-f只显示出命令的功能而不显示其中详细的说明文件。
-w,--path
不显示手册页,只显示将被格式化和显示的文件所在的位置。例如:$manpwd
2.6.2help命令一般格式:help命令说明:用来查看所有shell内置命令的帮助信息。有些命令构造在shell内部,从而在shell环境内部执行。这种命令称为shell内置命令(也称为内部命令)。2.7有关进程管理的命令
2.7.1ps命令一般格式:ps[选项]说明:ps命令是查看进程状态的最常用的命令,它可以提供关于进程的许多信息。常用选项:
-a显示系统中与tty相关的(除会话组长之外)所有进程的信息。
aBSD风格。显示系统中与终端tty相关的所有进程的信息;当与选项x一起使用时,显示所有进程的信息。
-e显示所有进程的信息。
-f显示进程的所有信息。
-l以长格式显示进程信息。
r只显示正在运行的进程。
u显示面向用户的格式(包括用户名、CPU及内存使用情况等信息)。
xBSD风格。显示所有非控制终端上的进程信息;当与选项a一起使用时,显示所有进程的信息。$ps-efUIDPIDPPIDCSTIMETTYTIMECMDroot10008:03?00:00:01init[5]root21008:03?00:00:00[ksoftirqd/0]root31008:03?00:00:00[events/0]root43008:03?00:00:00[khelper]……mengqc31151008:06?00:00:00kdeinit:Running………mengqc35153115008:06?00:01:02kdeinit:konsolemengqc35563515008:06pts/100:00:00/bin/bash……mengqc36183556011:10pts/100:00:00ps–ef
2.7.2kill命令
一般格式:kill[-s信号|-p][-a]进程号…kill-l[信号]说明:通过向进程发送指定的信号来结束相应进程的运行选项:
-s指定需要发送的信号,既可以是信号名(如kill),也可以是对应信号的号码(如9)。
-p指定kill命令只是显示进程的PID(进程标志号),并不真正发出结束信号。
-l显示信号名称列表,这也可以在/usr/include/linux/signal.h文件中找到。2.7.3sleep命令一般格式:sleep时间值说明:“时间值”参数以秒为单位,即让进程暂停由时间值所指定的秒数。
2.8文件压缩和解压缩命令
2.8.1gzip命令一般格式:gzip[选项][name...]说明:用来对文件进行压缩和解压缩。选项:
-c,--stdout,--to-stdout将输出写到标准输出上,并保留原有文件。
-d,--decompress,--uncompress 将被压缩的文件进行解压缩。
-l,--list 对每个压缩文件,列出以下字段: compressedsize:压缩文件的大小
uncompressedsize:未压缩文件的大小
ratio:压缩比(未知时为0.0%) uncompressed_name:未压缩文件的名字
-r 递归地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,即检查压缩文件的完整性。
-v 对每个压缩文件和解压缩文件,显示其文件名和压缩比。
-num 用指定的数字num调整压缩速度,其中-1或--fast表示最快的压缩方法(低压缩比),-9或--best表示最慢的压缩方法(高压缩比)。系统默认值为-6。
2.8.2unzip命令一般格式:unzip[选项]被压缩文件名说明:对ZIP格式的压缩文件进行解压缩。选项:
-x文件列表解压缩文件,但对文件列表中所指定的文件并不做解压缩。
-v如果没有给出压缩文件名,则只显示有关unzip的诊断信息,如该工具的发行日期、版本、特殊编译选项等;如果其后带有压缩文件名,且没有其它选项,则列出压缩文件的有关信息,但不做解压缩。
-t检查压缩文件的完整性。
-d目录 把压缩文件解压缩后放到指定的目录中。
-z 只显示压缩文件的注释。
-n 不覆盖已经存在的文件。
-o 允许覆盖已经存在的文件。
-j 废除压缩文件原来的目录结构,将所有文件解压缩之后放到同一目录之下。
2.9有关DOS命令
表2.2mtools中的主要命令
命令格式
功能mcd目录名改变DOS文件系统的当前目录mcopy源文件目标文件在DOS和Linux系统之间复制文件mdel文件名删除DOS软盘上的文件mdir目录名显示DOS软盘上的文件和目录mformat驱动器号以MSDOS文件系统的格式来格式化软盘mlabel驱动器号在DOS软盘上写卷标mmd目录名在DOS软盘上创建目录mrd目录名删除DOS软盘上的目录mren源文件目标文件对DOS软盘上的文件重新命名mtype文件名显示DOS软盘上文件的内容第3章
文本编辑
主要内容进入和退出vi的方法vi编辑器的工作方式vi文本插入和修改命令的规则、应用移动光标的命令屏幕命令、字符串检索等命令的使用ex命令的使用
3.1vi的工作方式
3.1.1命令方式
当我们输入命令vi,进入vi编辑器时,就处于vi的命令方式3.1.2输入方式通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入到输入方式由输入方式回到命令方式的办法是按下<Esc>键(通常在键盘的左上角)3.1.3ex转义方式vi和ex编辑器功能是相同的,二者主要区别是用户界面。在vi中,命令通常是单个字母,例如a,x,R等。在ex中,命令是以<Enter>键结束的正文行为了使用ex转义方式,可输入一个冒号(:)例如,
:1,$s/I/i/g<Enter>则从文件第一行至文件末尾($)将大写I全部替换成小写i
3.2进入和退出vi
3.2.1进入vi在系统提示符($)下输入命令vi和想要编辑(建立)的文件名,便可进入vi。例如:$viexample.c
3.2.2退出vi:wq把编辑缓冲区的内容写到你编辑的文件中,退出编辑器,回到shell下。(其操作过程是,先键入冒号“:”,再键入命令wq。以下命令操作相同。):ZZ仅当作过修改时才将缓冲区内容写到文件上。:x与:ZZ相同。:q!强行退出vi。感叹号(!)告诉vi,无条件退出,丢弃缓冲区内容3.3文本输入
3.3.1插入命令在i命令之后输入的内容都插在光标位置之前,光标后的文本相应向右移动。如按下Enter键,就插入新的一行或者换行。输入I命令后在当前行(即光标所在行)的行首插入新增文本,行首是该行的第一个非空白字符。当输入I命令时,光标就移到行首。
3.3.2附加命令a在光标之后插入,光标可在一行的任何位置。A在光标所在行的行尾添加文本。3.3.3打开命令o在光标所在行的下面插入一行。O在光标所在行的上面插入一行。3.3.4输入方式下光标移动四个表示方向的箭头键:←↓↑→<Bksp>(退格键)<Ctrl>U将光标回退到刚插入字符串的第一个字符,并重新开始插入。<Ctrl>W将光标移到最后插入单词的首字符。<Ctrl>T在插入正文时,如果光标在当前行的开头,并且设置了自动缩进选项,那么这个命令就插入缩进所对应的空格。如果光标在新插入词的中间,设从该词开头至光标位的位移为k,缩进空格为n,那么这个命令就在光标前插入(n-k)个空格;如果k大于n,则n扩大一倍。
3.4移动光标向右(向前)移动一个字符的命令(键):
l<Space>右向键一次向右移动n个字符:6l,5<Space>,8→向左(向后)移一个字符的命令(键):
h<Bksp>左向键一次向左移动n个字符:3h移到下一行的命令(键):+〈Enter〉j<Ctrl>N下向键一次向下移动n行:6+,3<Enter>,7j移到上一行的命令(键):-k<Ctrl>P上向键一次向上移动n行:5-,8k移至行首的命令(键):^将光标移到当前行的第一个非空白符(非制表符或非空格符)
0总是将光标移到当前行的第一个字符,不管它是否为空白符移至行尾的命令(键):$移至指定行的命令(键):
[行号]G移至指定列的命令(键):[列号]|按词前移的命令(键):
w——词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串
W——词被定义为非空白字符串按词后移的命令(键):
b——词被定义为以标点符号或空白符(制表符、换行符或空格)分开的字母数字串
B——词被定义为非空白字符串移至词尾的命令(键):
eE
对搜索词的定义分别与w和W相同。如光标已在一个词中,它就移至该词末尾
按句移动的命令(键):()
命令(和)分别将光标移至上一个和下一个句子的开头。句子被定义为以句点(.)、问号(?)或感叹号(!)结尾、后随二个空格或一个换行的字符序列。句子在第一个非空白字符处开始。
在屏幕上移动的命令(键):[位移]H将光标移至屏幕的左上角。[位移]M将光标移至屏幕中间行的开头。[位移]L当显示内容超过一屏时,它将光标移至屏幕上的最底行;当显示内容不足一屏时,它使光标停在最后一行上。
3.5文本修改1.文本删除删除字符的命令(键):
x删除光标所在的字符
X删除光标前面的那个字符删除文本对象的命令(键):
dd删除光标所在的整行
D从光标位置开始删除到行尾
d<光标移动命令>从光标位置开始删到由光标移动限定的文本对象的末尾2.复原命令
u如果插入后用u命令,就删除刚插入的正文;如果删除后用它,就相当于又插入刚删除的正文。
U把当前行恢复成它被编辑之前的状态,不管你把光标移到该行后对它编辑了多少次。3.重复命令
.重复实现刚才的插入命令或删除命令4.修改命令
命令c、C和cc修改文本对象,并用新输入的文本代替老文本。c命令的一般使用方式是:
c后面紧接着光标移动命令(限定删除文本的范围),之后是新的文本,最后键击<Esc>C命令修改从光标位置到该行末尾的文本。一般方式是:
C后面紧接着是输入新的文本,最后是<Esc>cc命令除影响到整行(不是行的一部分)外,其余作用与C命令相同。5.取代命令r命令用随后打入的单个字符取代光标所在的字符R命令用随后打入的文本取代光标位及其右面的若干字符,每打入一个字符就替代原有的一个字符。6.替换命令s(小写)命令用随后打入的的正文替换光标所在的字符S(大写)命令用新打入的正文替换当前行(整行)7.行结合命令行结合命令J(大写字母)把光标所在行与下面一行结合成一行8.文本位移命令
>命令将限定正文行向右移动,通常是8个空格。文本右移命令的一般格式是:>光标移动命令<命令将限定正文行向左移动。使用方式同上。>>命令将光标所在行右移8个空格。<<命令将光标所在行左移8个空格。9.过滤命令过滤命令的格式是:
!<光标移动命令><Linux命令><Enter>其功能是把光标所在行和光标移动命令指定行之间的所有行,由给定的Linux命令进行加工,替换原来的那部分正文。
3.6编辑文件编辑已存文件的最常用方式是:
$vi文件名从某一指定行进入vi。其格式是:
$vi+行号文件名从某一指定词进入vi。其格式是:
$vi+/词文件名编辑多个文件
可以同时调入多个文件,依次对它们进行编辑。其命令格式是:
$vi文件1文件2…
当完成对第一个文件的编辑及存盘(用:w命令)后,输入命令:n就进入第二个文件。
3.7字符串检索向前检索命令的格式是:/模式〈Enter〉
系统从光标所在行开始向前查找这个模式,找到第一个相匹配的字符串后,光标就停在该模式的第一个字符上/模式/位移〈Enter〉位移可以是-、+、-数字、+数字●“/模式/-”从光标所在行起始向前检索指定的模式,光标停在首先找到的那一行的前一行的行首●“/模式/-数字”其功能与上一形式相同,但光标停在匹配行之前倒数第n行(即,行号=匹配行号-n)的行首,这里n是“数字”值●“/模式/+”是从光标所在行起始向前检索指定的模式,光标停在首先找到的那一行的下面一行的行首●“/模式/+数字”其功能与上一形式相同,但光标停在匹配行之后正数第n行(即,行号=匹配行号+n)的行首,这里n是“数字”值向后检索命令的格式是:
?模式〈Enter〉
?模式?位移〈Enter〉如果在模式中想包含以下特殊字符:*·$^[}\/
需要使用其转义形式,即在这些字符前面加上反斜线(\),使其失去特殊含义,作为一般字符对待检索下一个字符串的命令:n重复检索的方向与上一个检索命令相同
N重复检索的方向与上一个检索命令相反查找字符的命令:
f字符——在当前行上向前查找给定的字符
F字符——在当前行上向后查找给定的字符;——重复上一次查找动作,查找方向相同,——反向重复查找光标靠近字符的命令:
t向前移动光标靠近给定字符,但不在该字符上
T向后移动光标靠近给定字符,但不在该字符上置标记命令的格式是:m小写字母移至标记命令:
'标记字母——单引号(')命令将光标移到预置标记行的开头`标记字母——倒单引号(`)命令将光标精确移到该行的置标记位置全局替换命令一般格式是:g/模式/命令表
g命令分为两个执行阶段:第一阶段,对编辑缓冲区中与给定模式相匹配的各行做上标记;第二阶段,对每个置上标记的当前行(以·表示)执行给出的命令表下面是一些常用的全局命令:g/s1/p打印包含字符串s1的所有行g/s1/s//s2/在包含字符串s1的所有行中用字符串s2替换s1的首次出现g/s1/s//s2/g用字符串s2替换字符s1的所有出现,包括在一行中s1出现多次g/s1/s//s2/gp功能与上例相同,它还将所有修改过的行显示在屏幕上g/s1/s//s2/gc确认(confirm)替换。字符串s1每出现一次,就询问你是否用字符串s2替换。如果回答Y,则进行替换;否则,不做替换g/s0/s/s1/s2/g对包含字符串s0的所有行做上标记,然后只对有标记的行进行替换—用字符串s2替换字符串s1g!/模式/命令表其功能是对所有不匹配给定模式的文本行执行给出的命令表g/^/s///g在文件的每一行的开头插入给定的空格s/模式/替代文本/选项对于每一指定的行,与正则表达式“模式”匹配的第一个字符串用“替代文本”取代
3.8ex命令
进入ex命令的方法是在命令方式下输入冒号(:),则在状态行上出现冒号提示符,随后就可输入ex命令3.8.1命令定位一种办法是指定行号,例如,
:20<Enter>光标移到第20行的行首。另一种办法是给定模式,向前或向后查找ex命令还用下述字符指定行的地址:
.当前行。多数命令的默认地址是当前行。
n编辑器缓冲区中的第n行,行号从1开始顺序编排。
$缓冲区中最后一行。
%1,$(从第1行至最后一行)的缩写。
+n或者-nn表示相对当前行的位移'x如果预先在前面的正文行上利用m命令置上标记,现在要快速地找到或返回到有标记的正文行上,那么就可以利用'x的形式,其中x是标记名3.8.2常用ex命令1.e命令
利用e命令可以在编辑当前文件之时编辑另外的文件。当前文件名总是由vi记住,并用百分号(%)表示,而编辑缓冲区中的上一个文件名是用#号表示的。e命令常用形式如下:e文件名它编辑由文件名指定的文件e!文件名它不把修改过的当前文件从编辑缓冲区中写出去e+n文件名它从第n行开始编辑指定的文件
2.w命令
w(写)命令可把编辑缓冲区中全部或者部分内容写到当前文件或者另外某个文件中。它有以下几种常用形式:w文件名——它把所做的修改写回到指定的文件,并显示所写的行数和字符数w>>文件名——它把缓冲区内容附加到现有文件的末尾,先前文件内容并不被破坏w!文件名——它可跳过通常写命令对文件的检查,将缓冲区内容写到系统允许的任何文件上w!命令——它将指定的各行写入指定命令中3.r命令
r(读)命令把文本读入编辑缓冲区的任意指定位置。所读入文本必须至少有一行长,可以是一个文件或者命令的输出。常用形式如下:r文件名——它将指定文件的文本副本放入缓冲区中指定行之后r!命令——它把命令的输出读到缓冲区指定行之后4.q命令
q(退出)命令可从vi中退出来。它有下述五种使用方式:q——它的功能是退出viq!——它的功能是立即从vi中退出,不保留所做的修改,也不显示任何提示信息wq文件名——它的功能等价于执行w命令后又执行q命令wq!文件名——它的功能是忽略执行w命令之前所做的检查x文件名——如果该文件做过修改,并且尚未写出去,那么这个命令就把缓冲区内容写出去,然后退出vi;否则,只是退出vi。
第4章
Linuxshell
程序设计
主要内容
shell的主要特点、类型、建立和执行的方式bash变量的分类、定义形式及引用规则各种控制语句的格式、功能及流程bash中算术运算的使用bash函数的构成及使用规则bash中的内置命令
4.1shell概述
4.1.1shell的特点和主要版本作为命令解释程序一种高级程序设计语言,它有变量,关键字,有各种控制语句,如if、case、while、for等语句,支持函数模块,有自己的语法结构1.shell的特点☆组合新命令☆提供了文件名扩展字符☆直接使用shell的内置命令☆灵活地使用数据流☆结构化的程序模块☆在后台执行命令☆可配置的环境☆高级的命令语言2.shell的种类(1)Bourneshell(简称sh)(2)Cshell(简称csh)(3)Kornshell(简称ksh)(4)BourneAgainshell(即bash)4.1.2简单shell程序示例【例4.1】由三条简单命令组成的shell程序(文件名为ex1)。$catex1datepwdcd..【例4.2】带有控制结构的shell程序(文件名为ex2)。$catex2#!/bin/bash#Ifnoarguments,thenlistingthecurrentdirectory.#Otherwise,listingeachsubdirectory.iftest$#=0thenls.elseforidols-l$i|grep'^d'donefi4.1.3shell脚本的建立和执行shell脚本的建立2.执行shell脚本的方式执行shell脚本的方式基本上有三种:
(1)输入定向到shell脚本
$bash<脚本名
(2)以脚本名作为参数其一般形式是:$bash脚本名[参数]如果以目前shell(以·表示)执行一个shell脚本,则可以使用如下简便形式:
$·脚本名[参数]
(3)将shell脚本的权限设置为可执行,然后在提示符下直接执行它。
$chmoda+xex2$PATH=$PATH:.$ex2注意,此时该脚本所在的目录应被包含在命令搜索路径(PATH)中4.2命令历史
4.2.1显示历史命令语法格式是:history[option][arg…]
如果不带任何参数,则history命令会显示历史命令的清单如果history后给出一个正整数(如50),就只显示历史表中的最后50行命令如果history后给出一个文件名,就把它作为历史文件名
常用的选项有:
-a在历史文件中添加“新”历史命令行。
-n从历史文件中读取尚未读入的历史命令行,添加到当前历史清单中。
-r读取历史文件的内容,并把它作为当前的历史命令。
-w把当前的历史写到历史文件中,覆盖原有内容。
-c删除历史清单中所有的项。4.2.2执行历史命令执行历史命令是命令替换之一,它以字符“!”开头、后随1个或多个字符来定义用户所需的某种类型的历史命令基本的事件指定字格式
格式
意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生挫折教育与心理健康
- 文案策划2026年文案执行协议
- 青岛科技大学综评考试真题及答案
- 第24讲 化学键 分子的空间结构
- 安全不留死角讲解
- 老年谵妄护理查房
- ICU多耐药菌感染护理查房
- 院后转送护理查房
- 河涌整治小型桩基钢筋笼快速预制安装方案
- 纺织厂区飞絮粉尘钢筋防缠绕清理措施
- 罐式集装箱教学课件
- 注册安全工程师考试真题及答案
- GB/T 15587-2023能源管理体系分阶段实施指南
- 发电机总调试报告
- 中国古代兵器
- 软件开发(IT行业)程序文件清单
- GB/T 21475-2008造船指示灯颜色
- GB/T 1981.2-2009电气绝缘用漆第2部分:试验方法
- GB/T 15544.5-2017三相交流系统短路电流计算第5部分:算例
- 物权法案例分析
- 初三综合实践课教案四爱车一族-讲义课件
评论
0/150
提交评论