linux操作系统原理和应用课件_第1页
linux操作系统原理和应用课件_第2页
linux操作系统原理和应用课件_第3页
linux操作系统原理和应用课件_第4页
linux操作系统原理和应用课件_第5页
已阅读5页,还剩513页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章

UNIX和Linux操作系统概述1————做什么都比不什么也不做强————2023/11/24什么是UNIX一个计算机操作系统一个多用户和多任务操作系统主要的用户界面是命令行界面2023/11/24————做什么都比不什么也不做强————2UNIX的主要特性功能强大可靠性高技术成熟网络功能强开放性好2023/11/24————做什么都比不什么也不做强————3UNIX历史简介Unix的诞生本是一个传奇源于一个失败的系统Multics最初用汇编语言和B语言编写Ritchie在1971年发明了C语言1973

年Thompson和Ritchie用C语言重写UNIX2023/11/24————做什么都比不什么也不做强————4KenThompsonDennisRitchieUNIX系统成功的主要原因由于当时美国反垄断法的限制源代码开放众多学术和科研机构的参与简单而先进的设计理念2023/11/24————做什么都比不什么也不做强————5UNIX的设计理念在UNIX系统中所有的东西都是文件所有系统配置数据都存储在正文文件中每个系统命令都很小、只完成单一功能避免使用俘获用户的接口将多个程序串接在一起以完成复杂的任务2023/11/24————做什么都比不什么也不做强————6GNU项目与自由软件RichardStallman在1983-9-27公开发起1984-GNU(GNU'snotUNIX)

目标是创建一套完全自由的操作系统

最初开发的两个程序——emacs和gcc1985年自由软件基金会成立

为GNU提供技术、法律和财政支持到1991年GNU系统全部完成,除了内核2023/11/24————做什么都比不什么也不做强————7GPL-GeneralPublicLicense目的为了鼓励和推广自由软件所有GPL软件的源代码必须提供给终端用户所有修改后的GPL软件仍然还是GPLLicense可以将一个GPL软件包的源代码放入另一个GPL软件2023/11/24————做什么都比不什么也不做强————8Linux内核的诞生诞生于1991年的10月5日芬兰的一名大学生LinusTorvalds编写1992年Linux与其他GNU软件结合完全自由的操作系统正式诞生被称为GNU/Linux或简称Linux2023/11/24————做什么都比不什么也不做强————9Linux系统特性自由软件、低成本、源代码开放安全、可靠、和稳定多用户多任务系统丰富的网络功能标准兼容性和可移植性良好的用户界面2023/11/24————做什么都比不什么也不做强————10启动和关闭Linux系统启动关闭shutdown命令halt命令poweroff

命令init0命令2023/11/24————做什么都比不什么也不做强————11登录和退出Linux在Username文本框中输入用户名、按Enter键在Password文本框中输入密码、按Enter键2023/11/24————做什么都比不什么也不做强————12开启终端窗口及退出Linux选择Applications→SystemTools→Terminal选择Actions→LogOut2023/11/24————做什么都比不什么也不做强————13切换虚拟终端Linux系统提供了6个虚拟控制台(终端)同时按Ctrl+Alt+F[1~6]这3个键进行切换2023/11/24————做什么都比不什么也不做强————14第2章运行Linux命令及获取帮助15————

不可不求,也不可强求————2023/11/24Linux(UNIX)命令的格式命令

[选项][参数]

command[options][arguments]命令:告诉Linux(UNIX)做什么选项:说明命令运行的方式,以“-”字符开始参数:说明命令影响的是什么2023/11/24————

不可不求,也不可强求————16简单、常用的命令whoami~列出目前登录Linux系统所使用的用户名whoami~除了用户名,还显示登录的终端、当前的日期和时间以及所使用的计算机的IP地址who~显示的内容与whoami命令相同,但还包括了系统上工作的其他用户2023/11/24————

不可不求,也不可强求————17简单、常用的命令w~所获得的信息比who命令多一些[dog@dog~]$w00:09:39 up 1:10, 3users, loadaverage:0.66,0.58,0.46USERTTYFROM LOGIN@ IDLE JCPU PCPUWHATdog pts/1 23:04 0.00s 0.17s 0.01swrootpts/2:0.0 23:49 48.00s 0.09s 0.09sbashusers~目前登录系统的全部用户tty~目前用户登录系统所使用的终端2023/11/24————

不可不求,也不可强求————18uname命令及其选项uname~获得有关系统的信息其命令的主要选项包括:-r:显示操作系统发布的版本信息-n:显示所使用系统的主机名-i:显示硬件平台名-s:显示操作系统名-m:显示机器硬件名-p:显示中央处理器的类型-a:显示所有的信息2023/11/24————

不可不求,也不可强求————19date、cal和clear命令date~显示系统当前的日期和时间cal~显示某月的日历利用参数准确地定义一个命令要做什么cal82008:列出2008年8月的日历clear~清除终端窗口中的显示2023/11/24————

不可不求,也不可强求————20su命令su~从一个用户切换到另一个用户即可以从普通用户切换到超级用户也可以从普通用户切换到另一个普通用户还可以从root用户切换到一个普通用户[dog@dog~]$su-rootPassword:[root@dog~]#2023/11/24————

不可不求,也不可强求————21passwd命令passwd~修改用户的密码及查看密码的状态等普通用户修改后的新密码不得少于6个字符普通用户只能修改自己的密码以root用户修改时,新密码可以少于6个字符root用户可以修改任何用户的密码以-S或--status选项查看用户的密码状态[root@dog~]#passwd-SdogPasswordset,MD5crypt.2023/11/24————

不可不求,也不可强求————22whatis令与命令的--help选项whatis~显示所查询命令的简单说明[dog@dog~]$whatisunameuname(1)-printsysteminformation uname(2)-getnameandinformationaboutcurrentkernel在命令之后使用--help选项[dog@dog~]$uname--helpUsage:uname[OPTION]... Printcertainsysteminformation.WithnoOPTION,sameas-s.……

2023/11/24————

不可不求,也不可强求————23阅读命令的使用摘要[dog@dog~]$date--helpUsage:date[OPTION]...[+FORMAT] or:date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]][dog@dog~]$mandateSYNOPSIS date[OPTION]...[+FORMAT] date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]

2023/11/24————

不可不求,也不可强求————24阅读命令的使用摘要在[]中的选项或参数为可选的a|b|c表示只能使用abc中的一个-efg表示这3个选项或参数的任意组合选项排列次序的不同不会影响命令执行的结果在<>中的选项或参数为变量,即可变的2023/11/24————

不可不求,也不可强求————25利用man命令获取帮助信息man[<option|number>]<command|filename>option:要显示的关键字number:要显示的章节号command:要了解的命令filename:文件名每个命令的ManPages包括8个章节存放在/usr/share/man目录下2023/11/24————

不可不求,也不可强求————26利用man命令获取帮助信息2023/11/24————

不可不求,也不可强求————27利用man命令获取帮助信息经常使用的有第1、5和8章(部分)第1部分为用户命令、包括了一般用户可以使用的命令的说明第5部分是文件的说明、用来查询命令的文件说明第8部分为管理命令、只有系统管理员root用户可以使用的命令说明2023/11/24————

不可不求,也不可强求————28浏览ManPages按上下左右箭头键在ManPages中移动按PgUp、PgDn或空格键上移一页或下移一页按Home键移到第一页、按End键移到最后一页在终端屏幕的底部的“:”处输入/string向下搜索string字符串。

在终端屏幕的底部的“:”处输入?string向前搜索string字符串。

按q键将退出所在的ManPages。2023/11/24————

不可不求,也不可强求————29用关键字搜寻ManPagesman-kkeyword-k:选项keyword:要搜寻的关键字man-f<command>-f:选项command:命令<>表示可以选择不同的命令2023/11/24————

不可不求,也不可强求————30用info命令来获取帮助info<command>info命令与man命令相似提供的信息更详细并且用法更简单是一种基于正文的帮助系统显示的信息组织成不同的章节输出显示叫InfoPages以网页的结构来显示其正文内容2023/11/24————

不可不求,也不可强求————31其他获取帮助的方法查询存放在/usr/share/doc/目录下的文件通过以下的两个网址获取Linux文档:/docs/technology/tech/linux/index.html2023/11/24————

不可不求,也不可强求————32第3章目录和文件的浏览、管理及维护2023/11/2433————真理就在面前、真理就在手下————Linux文件系统的层次结构所有的文件和目录被组织成以一个根节点开始的倒置的树状结构目录中存放的可以是文件、也可以是其他的子目录,而文件中存储的是真正的信息文件系统的最顶层是由根目录开始、系统使用/来表示根目录在根目录之下的既可以是目录、也可以是文件2023/11/24————真理就在面前、真理就在手下————34Linux文件系统的层次结构每一个目录中又可以包含(子)目录或文件2023/11/24————真理就在面前、真理就在手下————35目录或文件路径的表示完整的目录或文件路径是:由一连串的目录名所组成的每一个目录由/来分隔如cat的完整路径是/home/cat点“.”表示当前目录两个点“..”表示父(parent)目录以一个点开始的文件是隐藏文件2023/11/24————真理就在面前、真理就在手下————36Linux系统中重要的目录bin~存放常用的可执行文件即命令或程序sbin~存放系统的可执行文件/etc~存放系统的一些主要配置文件/tmp~存放临时文件以方便交换信息/boot~存放内核和系统启动时所需的文件/dev~存放这台计算机中所有的设备/usr~存放应用程序和与命令相关的系统数据/var~存放系统运行过程中经常变化的文件2023/11/24————真理就在面前、真理就在手下————37Linux系统中重要的目录/srv~存放所有与服务器相关的服务/proc~一个虚拟文件系统、常住内存/lib、/usr/lib、/usr/local/lib~存放的是libraries,即系统使用的函数库Lost+Found~当系统异常关机、崩溃或出现错误时,系统会将一些遗失的片段存放在该目录中2023/11/24————真理就在面前、真理就在手下————38Linux目录和文件的命名除了字符/之外,所有的字符都可以使用目录名或文件名的长度不能超过255个字符目录名或文件名是区分大小写的文件的扩展名对系统没有特殊的含义2023/11/24————真理就在面前、真理就在手下————39绝对和相对路径一个绝对路径必须以一个正斜线(/)开始包括从根节点开始到要查找的对象(目录或文件)所必须遍历的每一个目录的名字是文件位置的完整路标相对路径不是以正斜线(/)开始包含从当前目录到要查找的对象所必须遍历的每一个目录的名字一般比绝对路径短2023/11/24————真理就在面前、真理就在手下————40确定和切换目录命令pwd~显示当前目录的绝对路径[dog@dog~]$pwd/home/dogcd~切换当前目录2023/11/24————真理就在面前、真理就在手下————41切换目录命令cd在cd命令中可以使用如下路径表示法:使用绝对路径:cd/home/dog使用..进入上一级目录:cd..使用相对路径:cd

dog使用~或空白切换到用户的家目录:cd~使用-切换到用户之前的工作目录:cd-2023/11/24————真理就在面前、真理就在手下————42列出目录中内容的命令lsls~

列出当前目录或指定目录中的内容ls[options][directories|files]options:以-开始的选项、可以同时使用多个选项directories|files:目录或文件、可以同时使用多个目录或多个文件2023/11/24————真理就在面前、真理就在手下————43ls命令中几个常用选项-l选项~以长列表方式显示ls命令的执行结果-d选项~只显示目录本身的属性-h选项~以人们容易阅读的方式显示-a选项~显示包括隐藏目录和文件的所有内容--all选项~与-a选项的功能相同-F选项~列出每个显示的文件类型2023/11/24————真理就在面前、真理就在手下————44-F选项表示的文件类型文件类型符号所代表的文件类型如下:/~

表示目录*~表示可执行文件什么也没有~表示纯文本文件即ASCII码文件@~表示符号链接2023/11/24————真理就在面前、真理就在手下————45复制文件和目录的命令cpcp命令将一个文件中的内容复制到另一个文件、可以一次复制多个文件,而选项可以改变该命令的功能。cp命令是一个具有破坏性的命令,如果使用不当,可能会导致灾难性的后果。2023/11/24————真理就在面前、真理就在手下————46cp命令cp[-option(s)]source(s)targetsource

(源):可以是一个或多个文件、也可以是一个或多个目录名target(目的):可以是一个文件或一个目录2023/11/24————真理就在面前、真理就在手下————47cp命令的选项(-option)以下为cp命令的常用选项:-i:在覆盖之前给出提示信息-r:递归地复制目录-p:保留一些特定的属性-f:若目标文件已经存在,直接覆盖原文件2023/11/24————真理就在面前、真理就在手下————48cp命令的执行方式如果指定的目标并不存在,系统将创建一个同名文件并将源文件中内容复制进来如果指定目标已经存在并且是文件,系统将用指定文件覆盖原来的目标文件如果指定目标已经存在并且是目录,系统将把指定文件放在该目录中并且文件名与源文件同名2023/11/24————真理就在面前、真理就在手下————49移动文件和目录的命令mvmv命令既可以在不同目录之间移动文件和目录、也可以重新命名文件和目录mv命令并不影响被移动或改名文件或目录中的内容mv命令也是一个具有破坏性的命令,如果使用不当,也可能会导致灾难性的后果mv命令的语法格式与cp命令相同2023/11/24————真理就在面前、真理就在手下————50mv命令的执行方式如果指定目标并不存在,系统将把源文件和目录更名为目标文件或目录如果指定目标存在,并且是文件,系统将把指定的文件更名为目标文件的名称并覆盖原目标文件中的内容如果指定目标存在,并且是目录,系统将把指定文件移动到该目录中并且文件名与源文件同名2023/11/24————真理就在面前、真理就在手下————51创建目录的命令mkdirmkdir~创建一个新目录mkdir目录名在mkdir命令中使用-p选项,会创建在指定路径中所有不存在的目录目录名既可以是相对路径名、也可以是绝对路径名2023/11/24————真理就在面前、真理就在手下————52创建文件的命令touchtouch~创建一个或多个空文件touch文件名文件名既可以是绝对路径名、也可以是相对路径名可以是多个文件,文件名之间用空格隔开如果文件名或目录名存在,touch命令将把该文件或目录的时间戳改为当前访问时间的日期和时间2023/11/24————真理就在面前、真理就在手下————53删除文件的命令rmrm~永久地删除文件或目录rm命令是一个具有破坏性的命令,因为rm命令将永久地删除文件或目录,如果没有备份,将无法恢复。rm[-option(s)]files|dirctoriesfiles为一个或多个文件dirctories为一个或多个目录-option为rm命令的选项2023/11/24————真理就在面前、真理就在手下————54rm命令中的选项(-option)以下为rm命令的常用选项:-i:在删除之前给出提示信息-r:递归地删除目录-f:直接删除原有的文件2023/11/24————真理就在面前、真理就在手下————55删除目录命令rmdir或rm-rrmdir~删除空目录rmdir目录名rm-r~删除包含文件和子目录的目录2023/11/24————真理就在面前、真理就在手下————56Linux系统图形界面简介UNIX中的图形化用户界面叫X-Windows微软Windows系统图形支持是在内核级X-Windows只是UNIX下的一个应用程序Linux系统中默认桌面环境是gnomegnome的文件管理器为nautilus2023/11/24————真理就在面前、真理就在手下————57nautilus操作简介nautilus的操作与微软的Windows类似2023/11/24————真理就在面前、真理就在手下————58第4章文件的传输和浏览2023/11/2459————

做什么都比什么也不做强————ftp简介FTP的全称是:FileTransferProtocol——文件传输协议ftp命令使用标准的FTP协议在不同的系统之间传输文件这些系统既可以是相似的也可以是不相似的操作系统ftp主机名或IP地址2023/11/24————

做什么都比什么也不做强————60管理和维护ftp服务的命令要以root用户登录Linux系统查看ftp服务的状态:servicevsftpdstatus启动ftp服务:servicevsftpdstart停止ftp服务:servicevsftpdstop2023/11/24————

做什么都比什么也不做强————61ftp服务中可以使用的命令在ftp中,可以使用一些Linux命令,如ls和cdftp还有自己的一些命令,如lcd、put、get等退出ftp使用bye或quit命令2023/11/24————

做什么都比什么也不做强————62本地与远程之间文件的传递ftp有两种传输文件的模式一种是用来传输纯文本文件的ASCII模式ascii命令切换到ASCII模式另一种是传输二进制文件的bin模式bin命令切换到二进制模式prompt命令在交互提示信息的开启和关闭之间进行切换2023/11/24————

做什么都比什么也不做强————63本地与远程之间文件的传递put将一个文件由本地系统发送到远程系统mput将多个文件由本地系统发送到远程get将远程系统上的一个文件传输到本地mget将远程系统上多个文件传输到本地2023/11/24————

做什么都比什么也不做强————64Linux或UNIX的文件类型与微软系统不同的是:在Linux或UNIX系统中文件的扩展名(即后缀)并不代表文件的类型扩展名与文件的类型没有关系在操作一个文件之前必须先确定其文件类型2023/11/24————

做什么都比什么也不做强————65确定文件类型的命令filefile命令确定一个文件的类型file文件名在Linux系统中,文件的类型可以是正文、目录、可执行文件、和符号链接等dog@dog~]$file/bin/awk/bin/awk:symboliclinkto`gawk'2023/11/24————

做什么都比什么也不做强————66cat命令cat命令将一个或多个文件的内容显示在屏幕上cat[options][files]options为选项files为一个或多个文件cat>文件名:创建一个新文件键盘上的输入即为文件的内容按Ctrl+D键保存文件并退出cat程序2023/11/24————

做什么都比什么也不做强————67cat命令中常用选项cat命令中常用选项如下:-A选项~显示特殊字符,如^M$-s选项~将两个或更多个相邻的空行合并成一个空行-b选项~在显示的每一行的最前面放上行号不要使用cat命令浏览二进制文件,否则可能会造成终端窗口突然停止工作。如果发生了这种情况,可以关闭该终端窗口,之后再开启一个新的终端窗口2023/11/24————

做什么都比什么也不做强————68head命令head

~默认将显示一个文件的前10行-n选项~改变显示的行数其显示的行数从文件开始处算起在计算行数时以换行字符为标准--line选项的功能与-n相同可以省略-n或--line选项而直接在“-”之后使用数字2023/11/24————

做什么都比什么也不做强————69tail命令tail~默认显示一个文件最后10行的内容-n选项~显示从文件末尾算起的n行+n选项~显示从文件的第n行算起到文件结尾的内容-f选项~显示正文文件所发生的变化--follow选项的功能与-f相同

tail-f/var/log/messages2023/11/24————

做什么都比什么也不做强————70wc命令wc~显示一个文件中的行数、单词数和字符数wc-options文件名-options为选项、可以使用的选项如下:-l:仅显示行数-w:仅显示单词数-c:仅显示字符数带有-l选项的wc命令可获取系统上的用户总数:

wc-l/etc/passwd2023/11/24————

做什么都比什么也不做强————71使用more命令浏览文件more~分屏显示文件的内容当进入more命令之后,每次在屏幕上显示一屏的文件内容,并且在屏幕的底部将会出现“--More--(n%)”的信息。其中,n%是已经显示文件内容的百分比,此时可以使用键盘上的键进行操作

在Linux上有一个与more类似的命令less

less更方便、灵活,但不少Unix上没有2023/11/24————

做什么都比什么也不做强————72使用more命令浏览文件more中经常使用的键如下:空格键:向前(向下)移动一个屏幕。Enter键:一次移动一行。b:往回(向上)移动一个屏幕。h:显示一个帮助菜单。/字符串:向前搜索这个字符串。n:发现这个字符串的下一个出现。q:退出more命令并返回操作系统提示符下。v:在当前行启动/usr/bin/vi2023/11/24————

做什么都比什么也不做强————73第5章BashShell简介2023/11/2474————

实践、实践、再实践————

shell的工作原理shell为用户与Kernel之间的一个接口shell主要是一个命令解释器它接受并解释用户输入的命令,然后将这些命令传给内核。最后由内核来执行这些命令2023/11/24————

实践、实践、再实践————

75常用的主要shellBournshell是现在所有shell的始祖Cshell增加了若干Bournshell没有的特性,如命令行历史、别名和作业控制等Kornshell是Bournshell的超集,它具有类似Cshell的加强功能bash与Bournshell兼容同时加入了csh、ksh和tcsh的一些有用的功能、由GNU项目开发、也是实际上的标准Linuxshell系统中所有shell都存放在/etc/shells文件中2023/11/24————

实践、实践、再实践————

76识别bash内置的命令typeLinux操作系统的命令分为两大类:内部命令、即内置在bash中的命令外部命令、即该命令不是内置在bash中的,外部命令以可执行文件的方式存储在Linux的文件系统中type[选项]命令名2023/11/24————

实践、实践、再实践————

77type命令中常用的选项-a~列出所有包含指定命令名的命令、也包括别名(alias)-P~显示完整的文件名(外部命令),或者为内部命令-t~显示文件的类型,其文件类型如下:file:为外部命令alias:为别名builtin:为bash的内置命令2023/11/24————

实践、实践、再实践————

78带有各种选项的type命令[dog@dog~]$typepwdpwdisashellbuiltin[dog@dog~]$type-apwdpwdisashellbuiltin pwdis/bin/pwd[dog@dog~]$type-tpwdbuiltin[dog@dog~]$type-Ppwd/bin/pwd

2023/11/24————

实践、实践、再实践————

79通配符通配符也称元字符是描述其他数据的字符Linux操作系统提供的主要通配符如下:*:将匹配0个(即空白)或多个字符?:将匹配任何一个字符而且只能是一个字符[a-z]:将匹配字符a~z范围内的所有字符[^a-z]:将匹配所有字符但是a~z范围内的字符除外[xyz]:将匹配方括号中的任意一个字符[^xyz]:将匹配不包括方括号中的字符的所有字符2023/11/24————

实践、实践、再实践————

80在命令中使用通配符列出所有文件名以“.wolf”结尾的文件ls*.wolf列出所有文件名中间部分含有“.wolf.”的文件ls*.wolf.*列出所有文件名以dog开始之后是两个数字(可以是任何两个字符)并以“.wolf”结尾的文件lsdog??.wolf2023/11/24————

实践、实践、再实践————

81利用Tab键补齐命令行当在键盘上按Tab键时如果光标在命令上,将补齐一个命令名如果光标在参数上,将补齐一个文件名如在bash提示符下输入whoa,而此时光标在a之后,当按Tab键之后系统会自动补齐该命令剩余的字符——whoami如在bash提示符下输入filedog,连续按两次Tab键就会显示所有以dog开头的文件名2023/11/24————

实践、实践、再实践————

82命令行中~符号的使用~符号的含义如下:如果~符号后面没有用户名,则该符号代表当前用户的家目录如果~符号后面跟一个用户名,则该符号代表这个用户的家目录如显示dog家目录下wolf目录中所有内容:ls~/wolf2023/11/24————

实践、实践、再实践————

83history命令history~将列出用户最近输入过的命令、也包括输入的错误命令history命令显示结果的最左边是命令编号、可以使用命令号重新执行所对应的命令如想要重新执行798号命令:!798可以使用次方符号^修改刚刚输入的命令ping8^38^7——命令改为:ping2023/11/24————

实践、实践、再实践————

84操作历史命令的快捷键操作历史命令的快捷键包括:上下箭头键在以前使用过的命令之间移动按Ctrl+R键在命令的历史记录中搜寻一个命令用如下组合键提取上一个命令最后的参数:顺序地按Esc+.键同时按Alt+.键2023/11/24————

实践、实践、再实践————

85bash变量简介shell变量是内存中一个命了名的临时存储区shell变量中所存储的信息有以下两种:按用户的习惯定制shell所需的信息使一些进程正常工作所需的信息Linux系统预定义了一些系统常用的变量这些变量用户可以直接使用,如PATH变量要提取一个变量的值,需在变量名前冠以$符号

echo$PATH2023/11/24————

实践、实践、再实践————

86大括号{}的用法利用大括号可以减轻工作负担以下的touch命令将创建dog和wolf这两个新文件:

touch{dog,wolf}以下的touch命令将分别创建girl.dog、girl.wolf、boy.dog、和boy.wolf这四个新文件:

touch{girl,boy}.{dog,wolf}2023/11/24————

实践、实践、再实践————

87倒引号和$符号没有使用倒引号或$符号之前echo"Thiscomputersystem'snameishostname"Thiscomputersystem'snameishostname使用倒引号之后echo"Thiscomputersystem'snameis`hostname`"Thiscomputersystem‘snameis使用$符号之后echo"Thiscomputersystem'snameis$(hostname)"Thiscomputersystem'snameis2023/11/24————

实践、实践、再实践————

88使用Linux命令进行数学运算可在一行上定义多个变量、之间用分号隔开:year1=1;year2=2;year3=3;year4=4;year5=5;n1=99;n2=53;n3=38;n4=8;n5=2echo$[$n1+$n2]152[dog@dog~]$echo$[$year2*$n2]106[dog@dog~]$echo$[$n1/$n5]49[dog@dog~]$echo$[$n1%$n5]12023/11/24————

实践、实践、再实践————

89反斜线(\)的用法反斜线\也叫做逃逸符号、即\之后的特殊字符逃脱其特殊含义而恢复原来的字面意思没有使用反斜线\之前:echo"Ababydog'spriceis$6839.00"Ababydog'spriceis839.00使用反斜线\之后:echo"Ababydog'spriceis\$6839.00"Ababydog'spriceis$6839.00如果将反斜线放在命令行的最后,就表示它是一个续行符号,即命令要在下一行继续。2023/11/24————

实践、实践、再实践————

90Linux命令中引号的用法在命令中使用单引号(')和双引号(")之间的区别如下:单引号(

')~禁止所有的命令行扩展功能双引号(

")~禁止所有的命令行扩展功能但以下特殊符号除外:美元符号($)倒引号(`)反斜线(\)惊叹号(!)2023/11/24————

实践、实践、再实践————

91gnome终端的一些快捷操作Shift+Ctrl+T:开启(创建)一个新的选项卡Ctrl+PgUp/PgDn:切换到上一/下一选项卡Alt+N:切换到第N个选项卡Shift+Ctrl+C:复制所选的正文Shift+Ctrl+V:把正文粘贴到提示处Shift+Ctrl+W:关闭一个选项卡2023/11/24————

实践、实践、再实践————

92gnome终端的一些快捷操作Ctrl+A:将光标移到命令行的开始处Ctrl+E:将光标移到命令行的结尾处Ctrl+U:删除到命令行开始处的所有内容Ctrl+K:删除到命令行结尾处的所有内容Ctrl+箭头:向左或向右移动一个字2023/11/24————

实践、实践、再实践————

93第6章输入/输出和管道及相关的命令24十一月202394————

做什么都比什么也不做强————shell标准命令输入或输出默认,shell从键盘读命令的输入,并将命令的输出显示到屏幕上。24十一月2023————

做什么都比什么也不做强————95文件描述符与标准输入/输出文件描述符是Linux系统内部使用的一个文件代号、它决定从哪里读入命令所需的输入和将命令产生的输出及错误显示送到什么地方文件描述符的具体含义如下:0:标准输入,文件描述的缩写为stdin1:标准输出,文件描述的缩写为stdout2:标准错误(信息),文件描述的缩写为stderr在以上描述中,0、1和2为文件描述符的号码24十一月2023————

做什么都比什么也不做强————96搜索文件和目录的命令findfind~在路径名列表中递归地向下遍历目录树以寻找与搜寻条件相匹配的文件。当find命令找到了那些与搜寻条件相匹配的文件时,系统将把满足条件的每一个文件显示在终端的屏幕上。findpathnamesexpressionsactions24十一月2023————

做什么都比什么也不做强————97find命令中各选项的含义find命令中各选项的含义如下:pathnames:搜寻起始的绝对路径或相对路径expressions:一个或多个选项定义的搜寻条件actions:当文件被定位之后需要进行的操作24十一月2023————

做什么都比什么也不做强————98使用find命令的例子从家目录开始搜寻名为dog.wolf.baby的文件:

find~-namedog.wolf.baby寻找文件名以dog.开头并以.baby结尾的文件:find~-name"dog.*.baby"找到disable_dog.wolf.baby的文件并删除掉:

find~-namedisable_dog.wolf.baby-execrm{}\;在删除找到的文件之前先确认:

find~-namedog1.wolf.girl-okrm{}\;24十一月2023————

做什么都比什么也不做强————99将输出重定向到文件中在Unix或Linux上输出重定向的符号是:>:覆盖原文件的内容>>:在原文件之后追加内容将wolf目录中文件列表写入到当前目录的dog_wolf文件中:

ls-lwolf/*>dog_wolf将当前日期和时间添加到dog_wolf文件中:

date>>dog_wolf24十一月2023————

做什么都比什么也不做强————100重定向标准输出和标准错误从/etc目录开始搜寻名为passwd的文件,在屏幕上只显示标准错误信息,而将标准输出重定向输出到一个叫output.std的文件中:

find/etc-namepasswd1>output.std将find命令的错误信息导出到errors.std文件中:

find/etc-namepasswd2>errors.std标准输出写入output、将标准错误写入errors:

find/etc-namepasswd2>errors1>output24十一月2023————

做什么都比什么也不做强————101输入重定向及tr命令tr~转换、压缩和/或删除来自标准输入的字符并将结果写到标准输出上tr命令不接受文件名形式的参数、而要求它的输入被重定向为某个地方将winsql.sql文件中所有大写字母转换成小写:

tr'A-Z''a-z'<winsql.sql删除dept.data文件中每行结束符中的\r符号并将结果存入dept.data.unix文件中:

tr-d"\r"<dept.data>dept.data.unix列出所有ascii码字符所对应的数字:

manascii24十一月2023————

做什么都比什么也不做强————102cut(剪切)命令cut[选项]...[文件名]…其中常用的选项如下:-f:说明(定义)字段(列)-c:要剪切的字符-d:说明字段的分隔符(默认为Tab)提取dept.data文件第2列、列分隔符为,

cut-f2-d,dept.data24十一月2023————

做什么都比什么也不做强————103paste(粘贴)命令paste~将每一个文件中的每一行用Tab字符分割开并顺序地写到标准输出上paste[选项]...[文件名]…如果命令中没有文件名、或文件名使用了-,paste将从标准输入读入paste可将多个文件合并成一个文件如在命令中使用了-d选项将更改输出的分隔符默认分隔符是Tab字符24十一月2023————

做什么都比什么也不做强————104使用sort命令进行排序sort~对正文进行排序并将结果送到标准

输出sort命令不会改变原始文件中的数据其正文数据既可以来自一个文件也可以来自另一个命令的输出sort[选项]…[文件名]…24十一月2023————

做什么都比什么也不做强————105sort命令中常用的选项sort命令中常用的选项如下:-r:进行反向排序(降序)-f:忽略字符的大小写-n:以数字的顺序进行排序-u:去掉输出中的重复行-t:-tc表示以字符c作为分隔符-k:-kN表示按第N个字段排序-kN1,N2表示先按第N1个字段排序,之后再按第N2个字段排序24十一月2023————

做什么都比什么也不做强————106去掉相邻重复行的命令uniquniq~删除掉一个文件中的相邻重复行其中经常使用的一些选项如下:-c:在显示的行前冠以该行出现的次数-d:只显示重复行-i:忽略字符的大小写-u:只显示唯一的行24十一月2023————

做什么都比什么也不做强————107管道(|)操作|~连接两个(或多个)Linux命令命令1|命令2…将命令1的标准输出重定向为命令2的标准输入标准错误信息(stderr)并不通过管道传播第1个命令的错误信息不会传给第2个命令第2个命令的错误信息也不会传给下一个命令等24十一月2023————

做什么都比什么也不做强————108管道(|)操作例题列出系统上工作的用户有多少:

who|wc–l列出在Linux系统上一共创建了多少用户:

cat/etc/passwd|wc–l在管道操作中加入xargs命令的例子:

catdelete_disable|xargsrm–f24十一月2023————

做什么都比什么也不做强————109使用tee命令分流输出tee~将标准输入复制给每一个指定的文

件和标准输出tee命令也被称为T型管道24十一月2023————

做什么都比什么也不做强————110发送电子邮件在Linux系统上收发邮件都使用mail命令

mail-s"AnUrgentNotice"fox在mail命令中-s表示设定邮件的主题主题为放在-s之后双引号括起来的部分fox为邮件的收件人——既可以是本机上的用户账号、也可以是一般邮件地址Cc为复写本,如果在冒号后面输入另一个用户,该邮件副本就可以再寄给这个用户24十一月2023————

做什么都比什么也不做强————111发送电子邮件将一个文件以电子邮件直接发送给其他用户:mail-s"AGreatNews"fox<news24十一月2023————

做什么都比什么也不做强————112阅读电子邮件列出所有用户的邮件箱:

ls-l/var/spool/mail使用cat浏览dog邮箱中的全部电子邮件

cat/var/spool/mail/dog使用mail命令阅读用户自己的邮箱使用q或x退出mail程序24十一月2023————

做什么都比什么也不做强————113利用管道发送邮件利用管道操直接将一个ls列表发送给一个用户:

ls-l|mail-s"DogProjectList"fox24十一月2023————

做什么都比什么也不做强————114第7章用户、群组和权限24十一月2023115————

不可不求、也不可强求————Linux系统的安全措施Linux系统所采取的安全措施如下:用户登录系统时必须提供用户名和密码以用户和群组来控制访问文件和其他资源每个文件都属于一个用户并与一群组相关每一个进程都与一个用户和群组相关联24十一月2023————

不可不求、也不可强求————116用户及passwd文件在Linux系统中用户具有如下特性:每一个用户都有一个唯一的用户标识符用户名和UID都存放在/etc/passwd文件中在口令文件中还存放了每个用户的家目录、以及该用户登录后第一个执行的程序如果没有相应的权限就不能读、写或执行其他用户的文件24十一月2023————

不可不求、也不可强求————117/etc/passwd文件中的内容在/etc/passwd文件中记录了每个用户的信息每一个用户都占用一行记录以冒号分隔成7个字段(列)其中第一个记录是root用户的24十一月2023————

不可不求、也不可强求————118/etc/passwd文件中的内容这7个字段的具体含义如下:记录的是这个用户的名字如果是x,表示该用户登录系统时必须使用密码,如果为空则该用户在登录时无须提供密码记录的是这个用户的uid记录的是这个用户所属群组的gid记录的是有关这个用户的注释信息记录的是这个用户的家目录的路径记录的是这个用户登录后,第一个要执行的进程24十一月2023————

不可不求、也不可强求————119shadow文件/etc/shadow文件存储了所有用户的密码每一个用户占用一行记录它实际上是存放用户密码的数据库[root@dog~]#tail-5/etc/shadowpegasus:!!:14525:0:99999:7::: htt:!!:14525:0:99999:7::: dog:$1$FLAQ3m6z$h0LSBoVSwpyQhQkaJfPsW0:14561:0:99999:7:::cat:$1$wgjVOCA2$ggKjUQtmqA/7WTjtToAw4.:14561:0:99999:7:::24十一月2023————

不可不求、也不可强求————120群组及相关文件Linux系统中群组(groups)具有如下特性:每个用户一定隶属于至少一个群组,而每一个群组都有一个group标识符——即gid群组和对应的gids都存放在/etc/group文件中系统创建用户时为每个用户创建一个同名的群组并将该用户加入到这个群组中,即每个用户至少会加入一个与他同名的群组中、也可以加入到其他的群组中。如果有一个文件属于某个群组,那么该群组中所有的用户都可以访问这个文件24十一月2023————

不可不求、也不可强求————121group文件中的内容/etc/group文件存放了所有群组的信息它实际上是一个存放群组信息的数据库每个群组占用一行记录每个记录以冒号分隔成4个字段:第1个字段是这个群组的名字第2个字段的x表示该群组在登录时必须使用密码第3个字段记录的是这个群组的gid第4个字段记录的是该群组里还有哪些其他的成员24十一月2023————

不可不求、也不可强求————122root用户及文件的安全控制在每个Linux系统上都一定有一个root用户root用户也被称作超级用户、有至高无上的权限root可以完全不受限制地访问任何用户的账户和所有的文件及目录每一个文件(或目录)具有3种类型的权限:这个文件(或目录)的所有者的权限与所有者用户在同一个群组的其他用户的权限既不是所有者也不与所有者在同一个群组的其他用户的权限24十一月2023————

不可不求、也不可强求————123文件操作权限Linux系统的文件操作权限包括:r:表示read权限,即可阅读文件或使用ls命令列出目录内容的权限w:表示write权限,即可编辑文件或在一个目录中创建和删除文件的权限x:表示execute权限,即可执行程序或使用cd命令切换到该目录以及使用带有-l选项的ls命令列出该目录中详细内容的权限等-:表示没有相应的权限(与所在位置的r、w、或x相对应)24十一月2023————

不可不求、也不可强求————124用户及文件的控制系统上的每个文件都一定属于一个用户(一般该用户就是文件的创建者)并与一个群组相关通常一个用户可以操作属于他自己的文件(或目录),也可以访问其他同组用户共享的文件,但是一般是不能访问非同组的其他用户的文件root用户并不受这个限制,该用户可以不受限制地访问Linux系统上的任何资源24十一月2023————

不可不求、也不可强求————125查看文件的权限以带有-l选项的ls命令查看文件上的权限显示结果的第1列的第1个字符表示文件的类型紧随其后的9个字符是该文件或目录的权限24十一月2023————

不可不求、也不可强求————126表示权限的每个字符的含义第2~4个字符为第2组、定义了文件所有者的权限、使用u代表所有者(owner)对文件的所有权限第5~7个字符为第3组、定义了文件所有者所在群组中其他成员所具有的权限、使用g代表这一组权限第8~10个字符为第4组、定义了其他用户对文件所具有的权限使用o代表这一组(other)权限24十一月2023————

不可不求、也不可强求————127表示权限的每个字符的含义在第2、3、4组中,每一组的第1个字符都是r,表示具有读权限,若是-,表示没有读权限在第2、3、4组中,每一组的第2个字符都是w,表示具有写权限,若是-,表示没有写权限在第2、3、4组中,每一组的第3个字符都是x,表示具有执行权限,若是-,表示没有执行权限24十一月2023————

不可不求、也不可强求————128Linux系统的安全检测流程Linux依照下图的流程验证一个用户或群组是否有权限存取一个文件或目录:24十一月2023————

不可不求、也不可强求————129以符号表示法设定权限chmod[-R]mode文件或目录名-R表示不但要设置该目录权限而且还要递归地设置该目录中所有文件和子目录的权限mode为存取模式/状态,以下为权限状态的汇总表:24十一月2023————

不可不求、也不可强求————130以符号表示法设定权限例子在dog_wolf文件上添加所有者和同组用户的可执行权限:

chmodug+xdog_wolf在babydog目录上为其他用户添加上一个写权限:

chmodo+wbabydog24十一月2023————

不可不求、也不可强求————131以数字表示法设定权限以一组三位数字表示文件上的权限状态第1个数字代表所有者(owner)的权限(u)第2个数字代表群组(group)的权限(g)第3个数字代表其他用户(other)的权限(o)24十一月2023————

不可不求、也不可强求————132以数字表示法设定权限每一位数字所表示资源权限状态为:4:表示具有读(read)权限2:表示具有写(write)权限1:表示具有执行(execute)权限0:表示没有相应的权限以上数字相加就得到一个范围在0~7之间的一个数字,而这一组0~7的数字就是表示所有者、同组和其他用户权限状态的数字24十一月2023————

不可不求、也不可强求————133八进制与二进制数的换算八进制与二进制及每组权限状态的换算表:递归开放dog家目录的babydog子目录一切权限

chmod-R777/home/dog/babydog24十一月2023————

不可不求、也不可强求————134第8章用户、群组及权限的深入讨论24十一月2023135————

大智者不求因果,谁能做到?————管理和维护用户和群组在Linux上每一个用户都有一个内部的ID号码每一个群组的名称也都有一个内部的ID号码这些ID号码的信息以数字的方式储存在文件中Linux通过这些ID管理和维护用户和群组24十一月2023————

大智者不求因果,谁能做到?————136与用户和群组相关的系统文件前面介绍的那些ID和其他的验证信息都以纯文本方式存储在如下文件中:/etc/passwd/etc/shadow/etc/group/etc/gshadow24十一月2023————

大智者不求因果,谁能做到?————137/etc/shadow文件存放用户密码、即所谓使用者的密码数据库

[root@dog~]#tail-2/etc/shadow fox:$1$iMj6Ei8G$jy0V8FRrdl7rkyZ6slVyx/:14600:0:99999:7::: pig::14602:0:99999:7:::

每一行的第1个字段是用户名第2个字段是该用户的密码如果第2个字段以$1$开头表示该用户已经设定了密码,紧跟其后的鬼画符为MD5加密后的密码24十一月2023————

大智者不求因果,谁能做到?————138MD5哈希加密算法第2个字段的整串密码为将用户ID和所设定的正文密码通过使用MD5哈希加密算法得来的24十一月2023————

大智者不求因果,谁能做到?————139系统使用者和系统群组存放在/etc/passwd文件:[root@dog~]#more/etc/passwdroot:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin

第3个和第4字段为用户ID和群组IDLinux将1~499之间的号码(包括1和499)保留给内建的系统用户和系统群组使用这些系统用户和系统群组对某些系统服务和应用程序具有控制的权限24十一月2023————

大智者不求因果,谁能做到?————140passwd命令的应用使用passwd命令修改密码和查看密码状态普通用户只能修改自己的密码Linux要求普通用户的密码必须足够安全root用户修改的密码可以不安全root用户可以修改其他用户的密码root用户可以查看其他用户的密码状态使用带有-S或--status选项的passwd命令查看24十一月2023————

大智者不求因果,谁能做到?————141su命令su-dog命令要重新设置环境变量使用-在用户切换后系统重新启动loginshell即重新装入当前用户的环境变量sudog命令不重新设置环境变量su-和su-root命令都是切换到root用户用su从root切换到普通用户时不需输入密码24十一月2023————

大智者不求因果,谁能做到?————142默认系统提示符的含义[dog@dog~]$、

[root@dog~]#:$符号表示当前用户是一个普通用户#号表示当前用户是root超级用户@之前的dog和root为用户名@之后的dog为主机名(没有包括域名)~表示当前用户的家目录24十一月2023————

大智者不求因果,谁能做到?————143获取与用户相关信息的命令groups~确定dog用户所属的群组:

[root@dog~]#groups rootbindaemonsysadmdiskwheelid~不但可以获取当前用户所属的群组、还可

以获取群组的ID以及用户ID和用户名:

[root@dog~]#id uid=0(root)gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)last~列出户登录系统和重启Linux系统时间的历史记录24十一月2023————

大智者不求因果,谁能做到?————144Linux系统的默认权限设定文件系统的默认权限是666——rw-rw-rw-目录系统的默认权限是777——rwxrwxrwx以上并不是最终的文件和目录的权限要经过掩码挡掉某些不需要的默认权限才能最后产生用户所需的文件和目录的最终权限普通用户的默认掩码(umask)为002root用户的默认掩码(umask)为022使用umask命令来确定当前用户目前的掩码24十一月2023————

大智者不求因果,谁能做到?————145文件的最终权限文件系统默认权限是666普通用户默认掩码为002、经过掩码遮挡后other的写权限被遮挡掉,最终文件的权限为664root默认掩码为022、经过掩码遮挡后group和other的写权限都遮挡掉、最终这个文件的权限是64424十一月2023————

大智者不求因果,谁能做到?————146掩码为033文件的最终权限文件系统默认权限为666而这回umask为033当666与033相减之后所得的结果为633而该文件的最后权限应该是64424十一月2023————

大智者不求因果,谁能做到?————147特殊权限(第4组权限)特殊权限分为suid、sgid和sticky3种权限suid借用用户权限的可执行权限位并以s表示sgid借用群组权限的最后一位并以s表示sticky借用其他用户权限中最后一位并以t表示24十一月2023————

大智者不求因果,谁能做到?————148添加suid特殊权限例子有一文件,其所有用户都有执行权限、而有一目录,其所有用户都没有执行权限如果要在该文件上加入suid特殊权限,因为文件的所有者本来有执行权限,所以Linux系统就会使用小写的s替换这一位的x24十一月2023————

大智者不求因果,谁能做到?————149添加suid特殊权限的例子如果在这个文件上加入sgid特殊权限,因为文件的同一群组本来就有执行权限,所以Linux会使用小写的s替换这一位的x如果在这个目录上加入sgid特殊权限,因为目录的同一群组本身没有执行权限,所以Linux会使用大写的S替换这一位的x24十一月2023————

大智者不求因果,谁能做到?————150添加sticky特殊权限的例子如果在该文件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论