版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE2PAGE課程單元設(shè)計(jì)課程名稱:Linux操作系統(tǒng)應(yīng)用適用專業(yè):所屬院系:編制人:制定時(shí)間:二○二年至二○二年第學(xué)期
一、教案頭本單元標(biāo)題:RPM軟件包管理+YUM軟件管理授課班級(jí):課時(shí):2教學(xué)目標(biāo)能力目標(biāo)知識(shí)目標(biāo)1.學(xué)會(huì)使用rpm工具進(jìn)行RPM軟件包管理2.學(xué)會(huì)使用yum工具在線安裝軟件1.rpm指令的常用參數(shù)2.yum指令的常用參數(shù)能力訓(xùn)練任務(wù)及案例一、能力訓(xùn)練任務(wù)二、案例參考資料PackagingsoftwarewithRPMPart1:/developerworks/library/l-rpm1/Part2:/developerworks/library/l-rpm2/Part3:/developerworks/library/l-rpm3/HowtocreateanRPMpackage(/wiki/How_to_create_an_RPM_package)RPMGuide(/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/RPMBuildEnvironmentandtrackingsystem/wiki/Projects/Mock/wiki/Projects/Koji二、(單元)教學(xué)設(shè)計(jì)教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)方法及手段學(xué)生活動(dòng)教學(xué)資源及工具時(shí)間分配1、引入RHEL/CentOS中是如何進(jìn)行軟件包管理的?課件演示、板書(shū)演示、模擬演練討論、發(fā)言、點(diǎn)評(píng)課件、相關(guān)軟件2、操練(掌握初步或基本能力)1、RPM概述RPM最早是由RedHat公司提出的軟件包管理標(biāo)準(zhǔn),最初的全稱是RedHatPackageManager。后來(lái)隨著版本的升級(jí)又融入了許多其他的優(yōu)秀特性,成為了Linux中公認(rèn)的軟件包管理標(biāo)準(zhǔn)。被許多Linux發(fā)行使用,如:RHEL/CentOS/Fedora,SLES/openSUSE等。如今RPM是RPMPackageManager的縮寫(xiě),由RPM社區(qū)(/)負(fù)責(zé)維護(hù)。2、RPM的優(yōu)缺點(diǎn)易于安裝、升級(jí)便利豐富的軟件包查詢功能軟件包內(nèi)容校驗(yàn)功能支持多種硬件平臺(tái)3、YUMyum是YellowdogUpdater,Modified的簡(jiǎn)稱,用python寫(xiě)成。yum的宗旨是自動(dòng)化地升級(jí),安裝/移除rpm包,收集rpm包的相關(guān)信息,檢查依賴性并自動(dòng)提示用戶解決。yum是rpm的前端程序,RHEL的up2date的替代工具。yum的關(guān)鍵之處是要有可靠的repository(軟件倉(cāng)庫(kù))可以是http或ftp站點(diǎn),也可以是本地軟件池包含rpm包的各種信息(包括描述,功能,提供的文件,依賴性等)yum正是由于對(duì)收集的這些header并加以分析,才能自動(dòng)化地完成安裝/更新/刪除等任務(wù)4、YUM的特點(diǎn)便于管理大量系統(tǒng)的更新問(wèn)題自動(dòng)解決包的倚賴性問(wèn)題能更方便的添加/刪除/更新RPM包可以同時(shí)配置多個(gè)資源庫(kù)(Repository)可以在多個(gè)庫(kù)之間定位軟件包簡(jiǎn)潔的配置文件/etc/yum.conf和/etc/yum.repos.d/*.repo保持與RPM數(shù)據(jù)庫(kù)的一致性有一個(gè)比較詳細(xì)的log,可以查看何時(shí)升級(jí)安裝了什么軟件包等5、YUM組件與各類插件YUM命令通過(guò)yum命令使用YUM提供的眾多功能。由名為“yum”軟件包提供(默認(rèn)已安裝)。YUM軟件的主頁(yè)為/yum/。YUM插件由官方或第三方開(kāi)發(fā)的YUM插件用于擴(kuò)展YUM的功能。通常由以名為“yum-<pluginname>”的軟件包提供。YUM倉(cāng)庫(kù)YUM緩存yum-priorities:設(shè)置多個(gè)倉(cāng)庫(kù)的使用優(yōu)先級(jí)別yum-versionlock:用于鎖定某軟件的版本,以免更新yum-changelog:查看包更新前后的改變yum-aliases:為yum命令使用別名yum-security:為YUM提供安全過(guò)濾器課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件3、深化(加深對(duì)基本能力的體會(huì))1、RPM的主要功能安裝——將軟件從包中解出來(lái),并安裝到硬盤。卸載——將軟件從硬盤清除。升級(jí)——替換軟件的舊版本。查詢——查詢軟件包的信息。驗(yàn)證——檢驗(yàn)系統(tǒng)中的軟件與包中軟件的區(qū)別。2、RPM的組件本地?cái)?shù)據(jù)庫(kù)rpm及其相關(guān)的可執(zhí)行文件RPM前端工具,如yum軟件包文件3、RPM軟件包的名稱格式4、如何獲取RPM包從發(fā)行套件的CD中查找從軟件的主站點(diǎn)查找下載從查找下載從/查找下載從/查找下載4、安裝、升級(jí)和刪除軟件5、查詢查詢已安裝的所有軟件包rpm-qa查詢軟件包是否安裝并查看軟件包的版本rpm-q<package_name>查詢軟件包信息rpm-qi<package_name>rpm-qip<package_file_path_name>查詢軟件包中所有文件的名稱rpm-ql<package_name>rpm-qlp<package_file_path_name>查詢磁盤上的文件是從何軟件包安裝的rpm-qf<path_name>查詢依賴于一個(gè)已安裝軟件包的所有RPM包rpm-q--whatrequires<package-name>查詢一個(gè)已安裝軟件包的依賴要求rpm-q--requires<package-name>查詢一個(gè)已安裝軟件包的安裝、刪除腳本rpm-q--scripts<package-name>查詢與一個(gè)已安裝軟件包相沖突的RPM包rpm-q--conflicts<package-name>查詢一個(gè)已安裝軟件包的變更日志rpm-q--changelog<package-name>6、校驗(yàn)校驗(yàn)有已安裝的所有軟件包rpm-Va校驗(yàn)指定的軟件包rpm-V<package_name>校驗(yàn)指定的RPM包文件rpm-Vp<package_file_path_name>驗(yàn)證包含指定文件的軟件包rpm-Vf<path_name>7、導(dǎo)入公鑰和簽名導(dǎo)入RPM包的公鑰格式:rpm--import<公鑰文件名>例如#rpm--import/etc/pki/rpm-gpg/RPM-GPG-*#rpm--importhttp://apt.sw.be/RPM-GPG-KEY.dag.txt檢查指定RPM包的數(shù)字簽名rpm-K<rpmfile>8、使用YUM命令(1)語(yǔ)法yum是YUM系統(tǒng)的字符界面管理工具yum[全局參數(shù)]命令[命令參數(shù)]常用的全局參數(shù)-y:對(duì)yum命令的提問(wèn)回答“是(yes)”-C:只利用本地緩存,不從遠(yuǎn)程倉(cāng)庫(kù)下載文件--enablerepo=REPO:臨時(shí)啟用指定的名為REPO的倉(cāng)庫(kù)--disablerepo=REPO:臨時(shí)禁用指定的名為REPO的倉(cāng)庫(kù)--installlroot=PATH:指定安裝軟件時(shí)的根目錄,主要用于為chroot環(huán)境安裝軟件(2)安裝、更新、刪除操作yuminstall<package>…yumlocalinstall<rpmfile>…yumgroupinstall<packagegroup>…yumupdate[package…]yumlocalupdate<rpmfile>…yumgroupupdate<packagegroup>…yumremove<package>…yumgroupremove<packagegroup>…(3)查詢yumsearch<search-term>yumlist[all][glob_exp][recent]yumlist<available|extras|installed|updates>[glob_exp]yuminfo<package>yumgrouplist<group-wildcard>yumgroupinfo<packagegroup>(4)其他用法檢查可更新的所有軟件包yumcheck-update清除緩存中的rpm頭文件和包文件yumcleanall顯示軟件包的依賴信息yumdeplist<packages>搜索文件yumwhatprovides<filename>9、YUM倉(cāng)庫(kù)管理工具軟件包c(diǎn)reaterepo提供了createrepo命令用于生成YUM倉(cāng)庫(kù)軟件包yum-utils主要提供了如下常用工具yumdownloader:從YUM倉(cāng)庫(kù)(包括SRPMs)下載RPM文件。reposync:使用YUM配置檢索YUM遠(yuǎn)程倉(cāng)庫(kù)并同步到本地目錄。verifytree:校驗(yàn)本地YUM倉(cāng)庫(kù)的一致性。yum-complete-transaction:查找并處理YUM完整性。10、本地倉(cāng)庫(kù)創(chuàng)建過(guò)程創(chuàng)建存放RPM包的目錄在RPM包的目錄中準(zhǔn)備RPM包文件:1)從安裝光盤獲得2)通過(guò)wget、lftp等工具從遠(yuǎn)程下載3)通過(guò)yumdownloader工具從遠(yuǎn)程下載yumdownloader--resolve#可以同時(shí)下載被依賴的RPM包yumdownloader--source#可以下載SRPM的RPM包4)可以使用rpmbuild命令本地編譯使用createrepo命令生成本地倉(cāng)庫(kù)11、createrepo命令的用法命令格式createrepo[選項(xiàng)]包目錄常用選項(xiàng)-g,--groupfile<filename>:指定YUM組操作所需的XML文件-d,--database:生成sqlite數(shù)據(jù)庫(kù)文件--update:更新倉(cāng)庫(kù)的元數(shù)據(jù)文件-q,--quiet:不顯示操作過(guò)程-v,--verbose:顯示完整的操作過(guò)程-h,--help:顯示幫助信息課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件4、歸納(知識(shí)和能力)1、YUM倉(cāng)庫(kù)YUM倉(cāng)庫(kù)(repository)亦稱“更新源”。一個(gè)YUM軟件倉(cāng)庫(kù)就是一個(gè)包含了倉(cāng)庫(kù)數(shù)據(jù)的存放眾多RPM文件的目錄。YUM倉(cāng)庫(kù)數(shù)據(jù)通常存放在名為“repodata”的子目錄中。YUM客戶通過(guò)訪問(wèn)YUM倉(cāng)庫(kù)數(shù)據(jù)進(jìn)行分析并完成查詢、安裝、更新等操作。YUM客戶可以使用http://、ftp://或file://(本地文件)協(xié)議訪問(wèn)YUM倉(cāng)庫(kù)。YUM客戶可以使用官方和第三方提供的眾多YUM倉(cāng)庫(kù)更新系統(tǒng)。createrepo、yum-utils等軟件包(默認(rèn)未安裝)中提供了YUM倉(cāng)庫(kù)管理工具。2、CentOS的鏡像站點(diǎn)CentOS的YUM倉(cāng)庫(kù)位于CentOS的鏡像站點(diǎn)。用yum命令可以通過(guò)FTP或HTTP訪問(wèn)遠(yuǎn)程YUM倉(cāng)庫(kù)。鏡像站點(diǎn)的第一級(jí)目錄是發(fā)行版本號(hào),如3、4、5等。CentOS鏡像站點(diǎn)的版本號(hào)為5的YUM倉(cāng)庫(kù)。addons/:本目錄包含CentOS的addons倉(cāng)庫(kù)centosplus/:本目錄包含CentOS的centosplus倉(cāng)庫(kù)extras/:本目錄包含CentOS的extras倉(cāng)庫(kù)fasttrack/:本目錄包含CentOS的fasttrack倉(cāng)庫(kù)isos/:本目錄包含發(fā)行版的CD/DVDisos下載文件os/:本目錄包含發(fā)行版(distributions)的倉(cāng)庫(kù)updates/:本目錄包含CentOS的updates倉(cāng)庫(kù)3、CentOS倉(cāng)庫(kù)的目錄結(jié)構(gòu)4、YUM的主要配置文件5、YUM的倉(cāng)庫(kù)配置語(yǔ)法提供倉(cāng)庫(kù)”release”RPM包的非官方倉(cāng)庫(kù)下載非官方倉(cāng)庫(kù)的“release”RPM包導(dǎo)入倉(cāng)庫(kù)的RPM公鑰文件并驗(yàn)證“release”RPM包使用rpm命令安裝非官方倉(cāng)庫(kù)的“release”RPM包未提供倉(cāng)庫(kù)”release”RPM包的非官方倉(cāng)庫(kù)進(jìn)入/etc/yum.repos.d目錄下載或直接編輯“.repo”文件導(dǎo)入倉(cāng)庫(kù)的RPM公鑰課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件5、鞏固與拓展軟件包管理與系統(tǒng)更新使用軟件更新系統(tǒng)的目的為了要解決安裝RPM時(shí)的依賴性問(wèn)題常見(jiàn)的基于RPM的更新系統(tǒng)RedHatNetwork——RedHat的企業(yè)級(jí)更新系統(tǒng)yum——Fedora,CentOSzypp——openSUSEurpmi——MandrivaAPT-RPM——PCLinuxOS,ALTLinuxapt——Debian,Ubuntuslackpkg——Slackwareemerge——Gentoopacman——Archconary——rPath,Foresight2、使用非官方軟件倉(cāng)庫(kù)官方倉(cāng)庫(kù)是指RedHat/CentOS提供的倉(cāng)庫(kù)非官方倉(cāng)庫(kù)是指官方倉(cāng)庫(kù)之外的由其他社區(qū)或某軟件制作者提供的倉(cāng)庫(kù)。使用非官方倉(cāng)庫(kù)的目的安裝官方倉(cāng)庫(kù)中不提供的軟件包安裝比官方倉(cāng)庫(kù)中版本更新的軟件包應(yīng)該選擇使用何種非官方倉(cāng)庫(kù)知名的非官方倉(cāng)庫(kù)具有GPG簽名的非官方倉(cāng)庫(kù)課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件6、總結(jié)1、RPM指令的用法2、YUM指令的用法課件演示、板書(shū)演示、模擬演練討論、發(fā)言、點(diǎn)評(píng)課件、相關(guān)軟件7、作業(yè)布置1、構(gòu)建本地軟件倉(cāng)庫(kù)課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件學(xué)習(xí)成果教學(xué)后記
一、教案頭本單元標(biāo)題:進(jìn)程管理授課班級(jí):課時(shí):1教學(xué)目標(biāo)能力目標(biāo)知識(shí)目標(biāo)1.學(xué)會(huì)進(jìn)程管理指令的用法1.理解進(jìn)程相關(guān)概念2.掌握如何運(yùn)行后臺(tái)進(jìn)程及注銷后繼續(xù)執(zhí)行3.掌握進(jìn)程管理命令的使用能力訓(xùn)練任務(wù)及案例一、能力訓(xùn)練任務(wù)終止進(jìn)程二、案例參考資料二、(單元)教學(xué)設(shè)計(jì)教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)方法及手段學(xué)生活動(dòng)教學(xué)資源及工具時(shí)間分配1、引入Linux中是如何控制進(jìn)程的?課件演示、板書(shū)演示、模擬演練討論、發(fā)言、點(diǎn)評(píng)課件、相關(guān)軟件5分鐘2、操練(掌握初步或基本能力)1、程序、進(jìn)程和作業(yè)程序(program)程序是機(jī)器指令的集合,文件形式存儲(chǔ)進(jìn)程(process)進(jìn)程是一個(gè)程序在其自身的虛擬地址空間中的一次執(zhí)行活動(dòng)作業(yè)/任務(wù)(job/task)用戶通過(guò)操作系統(tǒng)用戶接口(Shell或X環(huán)境)提交給計(jì)算機(jī)進(jìn)行加工處理的程序。如用戶發(fā)出一個(gè)打印命令,就產(chǎn)生一個(gè)打印作業(yè)/任務(wù)。課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件5分鐘3、深化(加深對(duì)基本能力的體會(huì))1、進(jìn)程與程序的區(qū)別程序只是一個(gè)靜態(tài)的指令集合;而進(jìn)程是一個(gè)程序的動(dòng)態(tài)執(zhí)行過(guò)程,它具有生命期,是動(dòng)態(tài)的產(chǎn)生和消亡的。進(jìn)程是資源申請(qǐng)、調(diào)度和獨(dú)立運(yùn)行的單位,因此,它使用系統(tǒng)中的運(yùn)行資源;而程序不能申請(qǐng)系統(tǒng)資源、不能被系統(tǒng)調(diào)度、也不能作為獨(dú)立運(yùn)行的單位,因此,它不占用系統(tǒng)的運(yùn)行資源。程序和進(jìn)程無(wú)一一對(duì)應(yīng)的關(guān)系。一方面一個(gè)程序可以由多個(gè)進(jìn)程所共用,即一個(gè)程序在運(yùn)行過(guò)程中可以產(chǎn)生多個(gè)進(jìn)程;另一方面,一個(gè)進(jìn)程在生命期內(nèi)可以順序的執(zhí)行若干個(gè)程序。2、多用戶多任務(wù)當(dāng)多個(gè)用戶同時(shí)在一個(gè)系統(tǒng)上工作時(shí),Linux要能夠同時(shí)滿足用戶們的要求,而且還要使用戶感覺(jué)不到系統(tǒng)在同時(shí)為多個(gè)用戶服務(wù),就好像每一個(gè)用戶都單獨(dú)擁有整個(gè)系統(tǒng)一樣。每個(gè)用戶均可同時(shí)運(yùn)行多個(gè)程序。為了區(qū)分每一個(gè)運(yùn)行的程序,Linux給每個(gè)進(jìn)程都做了標(biāo)識(shí),稱為進(jìn)程號(hào)(processID),每個(gè)進(jìn)程的進(jìn)程號(hào)是唯一的。Linux給每個(gè)進(jìn)程都打上了運(yùn)行者的標(biāo)志,用戶可以控制自己的進(jìn)程:給自己的進(jìn)程分配不同的優(yōu)先級(jí),也可以隨時(shí)終止自己的進(jìn)程。進(jìn)程從執(zhí)行它的用戶處繼承UID、GID,從而決定對(duì)文件系統(tǒng)的存取和訪問(wèn)。Linux不可能在一個(gè)CPU上同時(shí)處理多個(gè)任務(wù)(作業(yè))請(qǐng)求,而是采用“分時(shí)”技術(shù)來(lái)處理這些任務(wù)請(qǐng)求。分時(shí)技術(shù)所有的任務(wù)請(qǐng)求被排除一個(gè)隊(duì)列,系統(tǒng)按順序每次從這個(gè)隊(duì)列中抽取一個(gè)任務(wù)來(lái)執(zhí)行,這個(gè)任務(wù)執(zhí)行很短的時(shí)間(幾毫秒)后,系統(tǒng)就將它排到任務(wù)隊(duì)列的末尾,然后讀入隊(duì)列中的下一個(gè)任務(wù),以同樣的方式執(zhí)行。這樣經(jīng)過(guò)一段時(shí)間后,任務(wù)隊(duì)列中的所有任務(wù)都被執(zhí)行一次,然后又開(kāi)始下一輪循環(huán)。3、查看系統(tǒng)中的進(jìn)程使用ps命令查看進(jìn)程狀態(tài)信息顯示哪些進(jìn)程正在執(zhí)行和執(zhí)行的狀態(tài)進(jìn)程是否結(jié)束、進(jìn)程有沒(méi)有僵死哪些進(jìn)程占用了過(guò)多的系統(tǒng)資源等ps(ProcessStatus)命令格式ps[選項(xiàng)]不帶任何選項(xiàng)的ps命令顯示當(dāng)前用戶所在終端中的所有進(jìn)程輸出項(xiàng)包括:識(shí)別號(hào)(PID)、終端(TTY)、運(yùn)行時(shí)間(TIME)、產(chǎn)生該進(jìn)程所運(yùn)行的命令(CMD)4、ps命令的常用選項(xiàng)5、ps常見(jiàn)的輸出標(biāo)記6、ps命令的進(jìn)程狀態(tài)列7、命令舉例指定輸出列$psouser,pid,ppid,pcpu,pmem,nice,cmd$ps-eopid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm$psaxostat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm$ps-eo“%p%y%x%n%c“——AIX風(fēng)格對(duì)指定列排序$ps-ef--sortuser,-time$psaux--sort-pcpu$psaux--sort-pmem$psouser,pid,ppid,pcpu,pmem,nice,cmd--sortnice8、注銷后繼續(xù)運(yùn)行進(jìn)程9、進(jìn)程調(diào)度的優(yōu)先級(jí)進(jìn)程的優(yōu)先權(quán)決定對(duì)CPU的使用進(jìn)程在運(yùn)行時(shí)可以享有不同等的優(yōu)先權(quán)進(jìn)程的優(yōu)先權(quán)受進(jìn)程的nice值的影響這個(gè)值的范圍是-20到19,默認(rèn)是0值越小說(shuō)明對(duì)CPU的使用越優(yōu)先查看進(jìn)程優(yōu)先級(jí)(看NI列的值)ps-lps-ocomm,nice10、進(jìn)程信號(hào)進(jìn)程信號(hào)是在軟件層次上對(duì)中斷機(jī)制的一種模擬,在原理上,一個(gè)進(jìn)程收到一個(gè)信號(hào)與處理器收到一個(gè)中斷請(qǐng)求可以說(shuō)是一樣的。進(jìn)程信號(hào)是最基本的進(jìn)程間通訊方式可以在進(jìn)程之間直接發(fā)送,而不需要用戶界面可以在Shell中通過(guò)kill命令發(fā)送給進(jìn)程Linux對(duì)每種進(jìn)程信號(hào)都規(guī)定了默認(rèn)關(guān)聯(lián)動(dòng)作。查看可用的進(jìn)程信號(hào)$kill-l$man7signal常見(jiàn)的進(jìn)程信號(hào)SIGTERM|TERM(15)——正常終止(默認(rèn))SIGKILL|KILL(9)——立即終止SIGHUP|HUP(1)——重讀配置文件給進(jìn)程發(fā)送信號(hào)按PID:kill[信號(hào)]PID…按名稱:killall[信號(hào)]COMM…按模式:pkill[-信號(hào)]模式發(fā)送信號(hào)可以使用名稱或數(shù)字號(hào)碼11、終止/殺死進(jìn)程為什么要?dú)⑺肋M(jìn)程該進(jìn)程占用了過(guò)多的CPU時(shí)間該進(jìn)程鎖住了一個(gè)終端,使其他前臺(tái)進(jìn)程無(wú)法運(yùn)行運(yùn)行時(shí)間過(guò)長(zhǎng),但沒(méi)有預(yù)期效果或無(wú)法正常退出產(chǎn)生了過(guò)多到屏幕或磁盤文件的輸出kill/killall命令舉例$kill1234OR$kill-91234$killallmyprogOR$killall-9myprog注:(1)使用kill前需要先用ps查看需要終止的進(jìn)程的pid;(2)kill–9很霸道,它在殺死一個(gè)進(jìn)程的同時(shí),將殺死其所有子進(jìn)程,使用時(shí)要謹(jǐn)慎。如錯(cuò)殺login進(jìn)程或shell進(jìn)程等。課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件10分鐘4、歸納(知識(shí)和能力)1、進(jìn)程進(jìn)程是一個(gè)動(dòng)態(tài)實(shí)體。進(jìn)程是處理器通過(guò)操作系統(tǒng)調(diào)度的基本單位。每個(gè)進(jìn)程的執(zhí)行都獨(dú)立于系統(tǒng)中的其它進(jìn)程。進(jìn)程之間可以通過(guò)稱為進(jìn)程間通信(IPC)的機(jī)制進(jìn)行交互。當(dāng)進(jìn)程之間共享數(shù)據(jù)時(shí),操作系統(tǒng)使用了同步技術(shù)來(lái)保證共享的合法性。2、Linux中的進(jìn)程識(shí)別使用PID區(qū)分不同的進(jìn)程系統(tǒng)啟動(dòng)后的第一個(gè)進(jìn)程是init,它的PID是1。init是唯一一個(gè)由系統(tǒng)內(nèi)核直接運(yùn)行的進(jìn)程。除了init之外,每個(gè)進(jìn)程都有父進(jìn)程(PPID標(biāo)識(shí))每個(gè)進(jìn)程還有四個(gè)與用戶和組相關(guān)的識(shí)別號(hào)實(shí)際用戶識(shí)別號(hào) (realuserID,RUID)實(shí)際組識(shí)別號(hào) (realgroupID,RGID)有效用戶識(shí)別號(hào) (effectuserID,EUID)有效組識(shí)別號(hào) (effectgroupID,EGID)3、用戶、進(jìn)程與權(quán)限RUID和RGID的作用識(shí)別正在運(yùn)行此進(jìn)程的用戶和組。一個(gè)進(jìn)程的RUID和RGID就是運(yùn)行此進(jìn)程的UID和GID。EUID和EGID的作用確定一個(gè)進(jìn)程對(duì)其訪問(wèn)的文件的權(quán)限。除了產(chǎn)生進(jìn)程的程序被設(shè)置SUID和SGID權(quán)限位之外,一般EUID、EGID和RUID、RGID相同。若程序被設(shè)置了SUID或SGID權(quán)限位,則此進(jìn)程相應(yīng)的EUID和EGID,將和運(yùn)行此進(jìn)程的文件的所屬用戶的UID或所屬組的GID相同。4、進(jìn)程的類型交互進(jìn)程由一個(gè)Shell啟動(dòng)的進(jìn)程。交互進(jìn)程既可以在前臺(tái)運(yùn)行,也可以在后臺(tái)運(yùn)行。批處理進(jìn)程不與特定的終端相關(guān)聯(lián),提交到等待隊(duì)列種順序執(zhí)行的進(jìn)程。守護(hù)進(jìn)程(Daemon)在Linux在啟動(dòng)時(shí)初始化,需要時(shí)運(yùn)行于后臺(tái)的進(jìn)程。5、前臺(tái)與后臺(tái)前臺(tái)進(jìn)程指一個(gè)程序控制著標(biāo)準(zhǔn)輸入/輸出,在程序運(yùn)行時(shí),shell被暫時(shí)掛起,直到該程序運(yùn)行結(jié)束后,才退回到shell。在這個(gè)過(guò)程中,用戶不能再執(zhí)行其它程序。后臺(tái)進(jìn)程用戶不必等待程序運(yùn)行結(jié)束就可以執(zhí)行其它程序。運(yùn)行后臺(tái)進(jìn)程的方法是在命令行最后加上“&”例如:$sleep10000&在一個(gè)終端里只能同時(shí)存在一個(gè)前臺(tái)任務(wù),但可以有多個(gè)后臺(tái)任務(wù)。課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件50分鐘5、鞏固與拓展INIT與Shell命令執(zhí)行過(guò)程課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件10分鐘6、總結(jié)1、進(jìn)程的特點(diǎn)2、進(jìn)程與線程的區(qū)別課件演示、板書(shū)演示、模擬演練討論、發(fā)言、點(diǎn)評(píng)課件、相關(guān)軟件4分鐘7、作業(yè)布置1、終止firefox進(jìn)程課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件1分鐘學(xué)習(xí)成果教學(xué)后記
一、教案頭本單元標(biāo)題:簡(jiǎn)單shell編程授課班級(jí):課時(shí):2教學(xué)目標(biāo)能力目標(biāo)知識(shí)目標(biāo)1.學(xué)會(huì)編寫(xiě)簡(jiǎn)單的shell程序(循環(huán)、分支)1.熟悉Shell腳本的編碼規(guī)范,掌握?qǐng)?zhí)行和調(diào)試方法2.掌握對(duì)變量進(jìn)行整數(shù)運(yùn)算和間接引用的方法3.理解位置參數(shù)變量和特殊參數(shù)變量的用途4.掌握條件測(cè)試的使用[]、[[]]、(())5.掌握各種流程控制語(yǔ)句的使用if、casefor、while、until、select、break、continue能力訓(xùn)練任務(wù)及案例一、能力訓(xùn)練任務(wù)1、批量添加用戶二、案例參考資料二、(單元)教學(xué)設(shè)計(jì)教學(xué)環(huán)節(jié)教學(xué)內(nèi)容教學(xué)方法及手段學(xué)生活動(dòng)教學(xué)資源及工具時(shí)間分配1、引入1、常見(jiàn)的腳本語(yǔ)言有哪些?2、shell有什么特點(diǎn)?課件演示、板書(shū)演示、模擬演練討論、發(fā)言、點(diǎn)評(píng)課件、相關(guān)軟件10分鐘2、操練(掌握初步或基本能力)1、shell腳本與shell編程當(dāng)命令不在命令行中執(zhí)行,而是從一個(gè)文件中執(zhí)行時(shí),該文件就稱為Shell腳本。Shell腳本是純文本文件。Shell腳本通常以.sh作為后綴名,但不是必須。Shell腳本是以行為單位的,在執(zhí)行腳本的時(shí)候會(huì)分解成一行一行依次執(zhí)行。Shell是一種功能強(qiáng)大的解釋型編程語(yǔ)言通常用于完成特定的、較復(fù)雜的系統(tǒng)管理任務(wù)Shell腳本語(yǔ)言非常擅長(zhǎng)處理文本類型的數(shù)據(jù)2、Shell腳本的成分程序元素保留字、運(yùn)算符、表達(dá)式變量、數(shù)組、輸入輸出控制結(jié)構(gòu)(順序、分支、循環(huán)、子程序調(diào)用)Shell功能【參見(jiàn)第2、3章內(nèi)容】執(zhí)行命令(內(nèi)置命令、外部命令、自編程序)重定向、管道、命令替換、命令聚合通配符、注釋符、……Shell環(huán)境3、shell腳本的建立與執(zhí)行4、Shell腳本的編碼規(guī)范以#!開(kāi)頭:通知系統(tǒng)用何解釋器執(zhí)行此腳本#!/bin/bash#!/bin/ksh以注釋形式說(shuō)明如下的內(nèi)容:#腳本名稱#腳本功能#作者及聯(lián)系方式#版本更新記錄#版權(quán)聲明#對(duì)算法做簡(jiǎn)要說(shuō)明(如果是復(fù)雜腳本)5、SHELL腳本調(diào)試5、shell腳本的類型非交互式腳本不需要讀取用戶的輸入,也不用向用戶反饋某些信息每次執(zhí)行都是可預(yù)見(jiàn)的,因?yàn)樗蛔x取用戶輸入,參數(shù)是固定的可以在后臺(tái)執(zhí)行交互式腳本腳本可以讀取用戶的輸入,實(shí)時(shí)向用戶反饋信息(輸出某些信息)這樣的腳本更靈活,每次執(zhí)行時(shí)的參數(shù)可由用戶動(dòng)態(tài)設(shè)定用戶界面更友好,但不適用于自動(dòng)化任務(wù)(如cron任務(wù))課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件30分鐘3、深化(加深對(duì)基本能力的體會(huì))1、shell的便利用戶自定義變量由用戶自己定義、修改和使用Shell環(huán)境變量由系統(tǒng)維護(hù),用于設(shè)置用戶的Shell工作環(huán)境只有少數(shù)的變量用戶可以修改其值位置參數(shù)變量(PositionalParameters)通過(guò)命令行給程序傳遞執(zhí)行參數(shù)可用shift命令實(shí)現(xiàn)位置參數(shù)的遷移專用參數(shù)變量(SpecialParameters)Bash預(yù)定義的特殊變量用戶不能修改其值2、位置參數(shù)變量是一組特殊的內(nèi)置變量跟在腳本名后面的用空格隔開(kāi)的每個(gè)字符串$1表示第1個(gè)參數(shù)值,……,$9表示第9個(gè)參數(shù)值${10}表示第10個(gè)參數(shù)值,${11}表示第11個(gè)參數(shù)值,……位置參數(shù)的用途從shell命令/腳本的命令行接受參數(shù)在調(diào)用shell函數(shù)時(shí)為其傳遞參數(shù)3、專用參數(shù)變量命令行參數(shù)相關(guān)$*將所有位置參量看成一個(gè)字符串(以空格間隔)。$@將每個(gè)位置參量看成單獨(dú)的字符串(以空格間隔)?!?*”將所有位置參量看成一個(gè)字符串(以$IFS間隔)?!?@”將每個(gè)位置參量看成單獨(dú)的字符串(以空格間隔)。$0命令行上輸入的Shell程序名。$#表示命令行上參數(shù)的個(gè)數(shù)。進(jìn)程狀態(tài)相關(guān)$?表示上一條命令執(zhí)行后的返回值$$當(dāng)前進(jìn)程的進(jìn)程號(hào)$!顯示運(yùn)行在后臺(tái)的最后一個(gè)作業(yè)的PID$_在此之前執(zhí)行的命令或腳本的最后一個(gè)參數(shù)4、返回狀態(tài)碼5、read從鍵盤輸入內(nèi)容為變量賦值read[-p"信息"][var1var2...]若省略變量名,則將輸入的內(nèi)容存入REPLY變量結(jié)合不同的引號(hào)為變量賦值雙引號(hào)””:允許通過(guò)$符號(hào)引用其他變量值單引號(hào)’’:禁止引用其他變量值,$視為普通字符反撇號(hào)``:將命令執(zhí)行的結(jié)果輸出給變量更多read的用法參見(jiàn)/guide/Getting_User_Input_Via_Keyboard6、整數(shù)運(yùn)算Bash變量沒(méi)有嚴(yán)格的類型定義本質(zhì)上Bash變量都是字符串若一個(gè)字面常量或變量的值是純數(shù)字的,不包含字母或其他字符,Bash可以將其視為長(zhǎng)整型值,并可做算數(shù)運(yùn)算和比較運(yùn)算。Bash也允許顯式地聲明整型變量declare-i變量名7、算術(shù)運(yùn)算擴(kuò)展8、內(nèi)置命令-let9、expr10、浮點(diǎn)運(yùn)算11、printf命令12、declare命令12、條件測(cè)試條件測(cè)試可以判斷某個(gè)特定條件是否滿足測(cè)試之后通常會(huì)根據(jù)不同的測(cè)試值選擇執(zhí)行不同任務(wù)條件測(cè)試的種類命令成功或失敗表達(dá)式為真或假條件測(cè)試的值Bash中沒(méi)有布爾類型變量退出狀態(tài)為0表示命令成功或表達(dá)式為真非0則表示命令失敗或表達(dá)式為假狀態(tài)變量$?中保存了退出狀態(tài)的值語(yǔ)句格式1:test<測(cè)試表達(dá)式>格式2:[<測(cè)試表達(dá)式>]格式3:[[<測(cè)試表達(dá)式>]](bash2.x版本以上)說(shuō)明格式1和格式2是等價(jià)的,格式3是擴(kuò)展的test命令在[[]]中可以使用通配符進(jìn)行模式匹配&&,||,<,和>能夠正常存在于[[]]中,但不能在[]中出現(xiàn)[和[[之后的字符必須為空格,]和]]之前的字符必須為空格要對(duì)整數(shù)進(jìn)行關(guān)系運(yùn)算也可以使用(())進(jìn)行測(cè)試條件測(cè)試表達(dá)式中可用的操作符文件測(cè)試操作符字符串測(cè)試操作符整數(shù)二元比較操作符使用邏輯運(yùn)算符13、文件測(cè)試14、字符串測(cè)試15、整數(shù)測(cè)試注意:操作符兩邊必須留空格!16、條件測(cè)試舉例17、邏輯測(cè)試18、流程控制(1)if語(yǔ)句(2)case語(yǔ)句(3)for循環(huán)(foreach)(4)for循環(huán)(C語(yǔ)言型)(5)while循環(huán)(5)until語(yǔ)句課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件40分鐘4、歸納(知識(shí)和能力)1、變量及相關(guān)命令課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件10分鐘5、鞏固與拓展用戶自定義變量由用戶自己定義、修改和使用Shell環(huán)境變量由系統(tǒng)維護(hù),用于設(shè)置用戶的Shell工作環(huán)境只有少數(shù)的變量用戶可以修改其值位置參數(shù)變量(PositionalParameters)通過(guò)命令行給程序傳遞執(zhí)行參數(shù)可用shift命令實(shí)現(xiàn)位置參數(shù)的遷移專用參數(shù)變量(SpecialParameters)Bash預(yù)定義的特殊變量用戶不能修改其值課件演示、板書(shū)演示、模擬演練集體參與課件、相關(guān)軟件20分鐘6、總結(jié)1、shell腳本與shell編程當(dāng)命令不在命令行中執(zhí)行,而是從一個(gè)文件中執(zhí)行時(shí),該文件就稱為Shell腳本。Shell腳本是純文本文件。Shell腳本通常以.sh作為后綴名,但不是必須。Shell腳本是以行為單位的,在執(zhí)行腳本的時(shí)候會(huì)分解成一行一行依次執(zhí)行。Shell是一種功能強(qiáng)大的解釋型編程語(yǔ)言通常用于完成特定的、較復(fù)雜的系統(tǒng)管理任務(wù)Shell腳本語(yǔ)言非常擅長(zhǎng)處理文本類型的數(shù)據(jù)2、Shell腳本的成分程序元素保留字、運(yùn)算符、表達(dá)式變量、數(shù)組、輸入輸出控制結(jié)構(gòu)(順序、分支、循環(huán)、子程序調(diào)用)Shell功能【參見(jiàn)第2、3章內(nèi)容】執(zhí)行命令(內(nèi)置命令、外部命令、自編程序)重定向、管道、命令替換、命令聚合通配符、注釋符、……Shell環(huán)境課件演示、板書(shū)演示、模擬演練討論、發(fā)言、點(diǎn)評(píng)課件、相關(guān)軟件8分鐘7、作業(yè)布置1、批量添加用戶2、批量設(shè)置用戶密碼課件演示、板書(shū)演示、模
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨拉拉安全培訓(xùn)班課件
- 醫(yī)院藥品管理服務(wù)禮儀
- 燒傷護(hù)理關(guān)鍵技術(shù)解析
- 護(hù)理服務(wù)模式創(chuàng)新與探索
- 2026年安徽電氣工程職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試模擬試題帶答案解析
- 2026年廣西職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題帶答案解析
- 2026年廣西工程職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫(kù)有答案解析
- 急診科護(hù)理應(yīng)對(duì)突發(fā)事件的策略
- 互聯(lián)網(wǎng)醫(yī)療安全與隱私保護(hù)策略
- 2026年福建生物工程職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試參考題庫(kù)有答案解析
- 2022埋地輸水鋼管設(shè)計(jì)與施工技術(shù)規(guī)范
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- UL1995標(biāo)準(zhǔn)中文版-2018加熱和冷卻設(shè)備UL中文版標(biāo)準(zhǔn)
- 2024至2030年中國(guó)家用燃?xì)饩邤?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024版租房合同協(xié)議書(shū)下載
- 寶寶喂養(yǎng)記錄表
- 2023年非標(biāo)自動(dòng)化機(jī)械設(shè)計(jì)工程師年度總結(jié)及來(lái)年計(jì)劃
- 丹鹿通督片治療腰椎疾病所致腰椎狹窄128例
- 股骨頸骨折圍手術(shù)期護(hù)理
- 高空作業(yè)車使用說(shuō)明書(shū)
- 保安公司介紹PPT模板
評(píng)論
0/150
提交評(píng)論