Linux操作系統(tǒng)2shell_第1頁
Linux操作系統(tǒng)2shell_第2頁
Linux操作系統(tǒng)2shell_第3頁
Linux操作系統(tǒng)2shell_第4頁
Linux操作系統(tǒng)2shell_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2021/4/11Linux操作系統(tǒng)操作系統(tǒng)shell和常用命令和常用命令liups22021/4/1內(nèi)容提要n1 shelln2 進(jìn)程和shell 命令行n2 常用命令32021/4/11、使用SHELLn1.1 什么是Shelln1.2 系統(tǒng)中有幾種Shelln1.3 Shell腳本42021/4/11.1 什么是Shellnshell提供了一個(gè)到Linux操作系統(tǒng)的界面以方便運(yùn)行程序。事實(shí)上,shell也只不過是另外一個(gè)Linux操作系統(tǒng)程序而已。nshell是一個(gè)命令解釋器,它可以用來啟動、掛起、停止甚至編寫程序。shell是Linux操作系統(tǒng)的一個(gè)整體組成部分,也是Linux操作系統(tǒng)

2、和UNIX設(shè)計(jì)的一部分。52021/4/11.1 什么是Shelln如果把Linux操作系統(tǒng)的內(nèi)核想象成一個(gè)球體的中心,那么shell就是包圍內(nèi)核的外層。從shell或其他程序向Linux操作系統(tǒng)傳遞命令的時(shí)候,內(nèi)核就會做出相應(yīng)的反應(yīng)。n用戶Shell配置的位置/etc/passwd62021/4/11.2 shelln這種shell的內(nèi)建命令都有哪些?n怎樣進(jìn)行任務(wù)控制?n這種shell是否支持命令行編輯?n這種shell是否支持命令行歷史記錄?n什么是它的重要的開機(jī)啟動文件或者配置文件?n各個(gè)shell的重要環(huán)境變量有哪些?n可以使用什么樣的命令行提示符?n它支持什么樣的編程框架?7202

3、1/4/11.2 系統(tǒng)中有幾種Shellnash 袖珍的sh兼容的shell由Kenneth Almquist編寫的ash shell是Linux操作系統(tǒng)上尺寸最小的shell之一。這個(gè)shell有24個(gè)不同的內(nèi)建命令和10個(gè)不同的命令行參數(shù)。nbash Bourne Again Shell(與ksh和sh兼容)bash就是由Brian Fox和Chet Ramey編寫的Bourne Again Shell,它是Linux操作系統(tǒng)上最流行的shell之一。ncsh 對tcsh的一個(gè)符號鏈接nksh pdksh,公共域Korn(與ksh兼容)shellpdksh shell在Linux操作系統(tǒng)中

4、叫做ksh。這個(gè)shell和商業(yè)化UNIX中的版本幾乎是完全兼容的。nsh 對bash的一個(gè)符號鏈接ntcsh 與csh兼容的shellnzsh Z-shell,一個(gè)與csh、ksh、和sh兼容的shell82021/4/11.2.2 bashnbash就是由Brian Fox和Chet Ramey編寫的Bourne Again Shell,它是Linux操作系統(tǒng)上最流行的shell之一。它有48個(gè)內(nèi)建的命令和十多個(gè)命令行參數(shù)。可以使用方向鍵查閱以前輸入的命令(歷史記錄功能)可以對某個(gè)命令行進(jìn)行編輯敲入命令的一部分然后再按下Tab鍵獲得其他部分n自動執(zhí)行腳本初始化設(shè)置文件/etc/rc /et

5、c/bashrc /etc/profile n用來設(shè)置全局(對所有用戶都起作用的)參數(shù),比如環(huán)境變量或者在第一次登錄進(jìn)入的時(shí)候給你發(fā)送一條消息(比如一條歡迎標(biāo)語)。用戶子目錄中的.bashrc登錄文件n控制bash shell啟動運(yùn)行方式或者對不同的擊鍵(如退格鍵)的響應(yīng);用戶子目錄中.bash_profile文件,n通知s h e l l在用戶登錄后系統(tǒng)應(yīng)該使用哪一個(gè)資源文件。92021/4/11.3 建立Shell命令腳本程序nshell script (腳本文件)編輯文件n將其所有命令寫入到該文件中,添加執(zhí)行權(quán)限n將該文件設(shè)置為可以執(zhí)行運(yùn)行102021/4/12 Shell命令行和進(jìn)程n

6、2.1 對shell進(jìn)行定制設(shè)置n2.2 進(jìn)程管理n2.3 使用重定向和管道112021/4/12.1 對shell進(jìn)行定制設(shè)置nshell包含了“環(huán)境變量” 重要的就是$PATH變量$PS1變量alias命令n顯示環(huán)境變量printenvenvsetn環(huán)境變量由資源文件預(yù)先定義bash shell全局性系統(tǒng)環(huán)境變量的資源文件n/etc/rc n/etc/bashrc n/etc/profile用戶定制的系統(tǒng)環(huán)境變量n/.bashrcn/.bash_profile122021/4/12.2 進(jìn)程的定義nLinux是一個(gè)多用戶多任務(wù)的操作系統(tǒng)。是一個(gè)多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個(gè)用戶可以

7、在同一時(shí)間使用計(jì)算機(jī)系統(tǒng);多用戶是指多個(gè)用戶可以在同一時(shí)間使用計(jì)算機(jī)系統(tǒng);多任務(wù)是指多任務(wù)是指Linux可以同時(shí)執(zhí)行幾個(gè)任務(wù),它可以在還可以同時(shí)執(zhí)行幾個(gè)任務(wù),它可以在還未執(zhí)行完一個(gè)任務(wù)時(shí)又執(zhí)行另一項(xiàng)任務(wù)。未執(zhí)行完一個(gè)任務(wù)時(shí)又執(zhí)行另一項(xiàng)任務(wù)。 Linux用分時(shí)管理方法使所有的任務(wù)共同分享系統(tǒng)資源。用分時(shí)管理方法使所有的任務(wù)共同分享系統(tǒng)資源。n進(jìn)程進(jìn)程: Linux系統(tǒng)上所有運(yùn)行的程序都可以稱之為系統(tǒng)上所有運(yùn)行的程序都可以稱之為一個(gè)進(jìn)程。一個(gè)進(jìn)程。進(jìn)程的一個(gè)比較正式的定義是進(jìn)程的一個(gè)比較正式的定義是 在自身的虛擬地址空間在自身的虛擬地址空間運(yùn)行的一個(gè)單獨(dú)的程序。運(yùn)行的一個(gè)單獨(dú)的程序。進(jìn)程與程序是有

8、區(qū)別的,進(jìn)程與程序是有區(qū)別的,n程序只是一個(gè)靜態(tài)的指令集合,不占系統(tǒng)的運(yùn)行資源;程序只是一個(gè)靜態(tài)的指令集合,不占系統(tǒng)的運(yùn)行資源;n進(jìn)程不是程序,雖然它由程序產(chǎn)生。進(jìn)程是一個(gè)隨時(shí)都可能發(fā)進(jìn)程不是程序,雖然它由程序產(chǎn)生。進(jìn)程是一個(gè)隨時(shí)都可能發(fā)生變化的、動態(tài)的、使用系統(tǒng)運(yùn)行資源的程序。而且一個(gè)程序生變化的、動態(tài)的、使用系統(tǒng)運(yùn)行資源的程序。而且一個(gè)程序可以啟動多個(gè)進(jìn)程。可以啟動多個(gè)進(jìn)程。132021/4/12.2 在后臺運(yùn)行程序n后臺運(yùn)行程序的意思是這個(gè)命令繼續(xù)在內(nèi)存中執(zhí)行,而在這同時(shí)shell命令行的控制權(quán)已經(jīng)返回到了控制臺。對巨型文件進(jìn)行排序或者對子目錄和其他類型的文件系統(tǒng)進(jìn)行搜索等等操作都是可以

9、放到后臺去執(zhí)行的好例子。n運(yùn)行一個(gè)進(jìn)程命令格式:進(jìn)程名 & nohup 進(jìn)程名 &142021/4/12.2 報(bào)告進(jìn)程狀況 PSnps命令是進(jìn)程查看命令。nps命令語法格式如下: ps option ps axps -ef常用選項(xiàng)說明如下: n-e:顯示所有進(jìn)程。n-f:全格式。n-u:打印用戶格式,顯示用戶名和起始時(shí)間。nps 重要的輸出字段USER進(jìn)程所有者的用戶名PID進(jìn)程號STAT進(jìn)程狀態(tài),常見的值有:nR:可執(zhí)行的。nS:睡眠狀態(tài)。 nZ:僵尸。nI:空閑。152021/4/12.2 結(jié)束進(jìn)程 killn結(jié)束進(jìn)程的辦法有:組合鍵: 當(dāng)需要中斷一個(gè)前臺進(jìn)程的時(shí)候,通常是

10、使用組合鍵;kill命令: 該命令可以終止后臺進(jìn)程。kill命令的語法格式很簡單,大致有以下兩種方式:nkill -s 信號 | -p -a 進(jìn)程號 nkill -l 信號 命令中的參數(shù)說明如下:n-s:指定需要送出的信號。既可以是信號名也可以對應(yīng)數(shù)字。n-p:指定kill命令只是顯示進(jìn)程的pid,并不真正送出結(jié)束信號。n-l:顯示信號名稱列表,這也可以在/usr/include/linux/signal.h文件中找到。 162021/4/12.2 休眠進(jìn)程nsleep命令可使當(dāng)前正在執(zhí)行的進(jìn)程在規(guī)定的時(shí)間內(nèi)處于睡眠。其使用的語法格式為:$ sleep timetime為進(jìn)程將睡眠的時(shí)間,以秒

11、為單位172021/4/12.3 使用重定向和管道n重定向操作符重定向操作符: mysql Database help helplist.txt help helplist.txtn管道管道:| ps ax | grep ftpd | wc - l n例子:例子:nfind /home -name *.doc | xargs fgrep administration | lessnfind *.doc | xargs cat | tr n | sort | uniq | tee dict | less182021/4/13、常用命令n3.1 使用man命令獲得幫助n3.2 瀏覽及搜索文件系統(tǒng)n

12、3.3 閱讀子目錄及文件n其他命令df、date、who、cp、mv、rm、mkdir、wc、vi、gcc、ln、nohup、nice、passwd、echo、mail、talk、du、grep、chown、chgrp、chmod、uname192021/4/13.1 使用man命令獲得幫助nman可以得到幾乎所有命令的有關(guān)信息,包括man命令本身。# man mannLinux操作系統(tǒng)發(fā)行版本也為幾乎每個(gè)程序、工具、命令或系統(tǒng)編程調(diào)用編制了使用手冊頁。存放在/usr/man的子目錄下。nman命令的使用手冊頁文件被命名為:/usr/man/man1/man.1.gz202021/4/13.2

13、 瀏覽及搜索文件系統(tǒng)n3.2.1 使用cd命令進(jìn)入不同的目錄n3.2.2 使用pwd命令查看自己所在的位置n3.2.3 使用find命令在子目錄中搜索匹配的文件n3.2.4 使用whereis命令查找文件n3.2.5 使用locate命令定位文件n3.2.6 使用whatis和apropos命令獲取命令簡介212021/4/13.2.1 使用cd命令進(jìn)入不同目錄n輸入cd命令,后面跟著一個(gè)路徑名,就可以直接進(jìn)入到另外一個(gè)子目錄中去n# cd /usr/binn# cd .n# cd ./.n你總能夠用下面的命令回到自己的用戶子目錄(也就是保存自己文件的子目錄):n# cd 或者 # cd 22

14、2021/4/13.2.2 pwd命令查看所在位置npwd(顯示工作子目錄)命令告訴你自己所在的位置,并顯示當(dāng)前工作子目錄。例如,執(zhí)行命令:n# cd /usr/binn接著輸入:n# pwdn會看到:n/usr/binn注意:pwd有內(nèi)置命令和外部命令232021/4/13.2.3 用find在子目錄搜索文件nfind命令在硬盤驅(qū)動器上查找文件。-name 按名字查找。比如說,如果想查找子目錄/usr中的spell命令,可以采用下面的方法:n# find /usr -name spell print-atime 按照日期查找文件,或者可以指定一個(gè)日期范圍。例如查找最近一百天沒有使用過的程序:

15、n# find /usr/bin -type f -atime +100 print-mtime 按修改時(shí)間查找,如查找建立不到一天的新文件或者二十四小時(shí)內(nèi)修改過的文件:n#find /usr/bin -type f -mtime -1 print-xdev 按Windows分區(qū)查找,xdev參數(shù)把查詢操作限制在當(dāng)前的文件系統(tǒng)之中,檢索子目錄下所有以.sys結(jié)尾的文件:n# find /mnt/dos -name *.sys -print xdev242021/4/13.2.4 使用whereis命令查文件nwhereis命令 可以迅速地找到文件,而且提供二進(jìn)制可執(zhí)行文件、源代碼文件和使用手冊

16、頁存放的位置。n例如:# whereis (-b) findfind:/usr/bin/find /usr/man/man1/find.1.gz252021/4/13.2.5 使用locate命令定位文件n文件名數(shù)據(jù)庫(updatedb)nlocate命令 在文件名數(shù)據(jù)庫中檢索文件名檢索要比搜索整個(gè)硬盤驅(qū)動器要快# locate *.ps262021/4/13.2.6 whatis和apropos 命令簡介nwhatis命令: 從程序使用手冊中抽出介紹例如:# whatis whowho(1) - show who is logged onmakewhatis 創(chuàng)建數(shù)據(jù)庫napropos命令:

17、 查找可以執(zhí)行某個(gè)操作的程序nman -K: 實(shí)現(xiàn)apropos命令同樣的功能其搜索過程會很慢,搜索結(jié)果給出的是每個(gè)含有匹配字符串的使用手冊頁。272021/4/13.3 閱讀子目錄及文件n3.3.1 使用ls/ll命令列出子目錄的內(nèi)容清單n3.3.2 使用dir和vdir命令列出子目錄的內(nèi)容清單n3.3.3 使用cat命令列出及合并文件n3.3.4 使用more命令閱讀文件n3.3.5 使用less命令瀏覽文件n3.3.6 使用head或tail命令閱讀文件的開頭和結(jié)尾282021/4/13.3.1 ls:列出子目錄的內(nèi)容清單nls : 列出子目錄內(nèi)容清單n常用參數(shù):-l 長文件名列表-a

18、顯示所有文件(包括隱含文件)-m 把文件用逗號分隔顯示在一行上-x 按水平對齊的方式而不是缺省的垂直對齊方式列出文件-F 特殊顯示目錄和可執(zhí)行文件-R 顯示子目錄292021/4/13.3.2 ll, dir和vdir:子目錄的內(nèi)容清單nll命令: 相當(dāng)于ls -l參數(shù),它缺省地列出文件的全部信息。ndir或vdir命令。使用上與ls命令類似,但是使用了一些缺省的參數(shù)。ndir命令 像普通的ls命令那樣把文件按列對齊輸出。nvdir命令 像ls -l參數(shù),它缺省地列出文件的全部信息。302021/4/13.3.3 cat:列出及合并文件ncat命令: 把文件內(nèi)容在屏幕上去顯示。-n 在閱讀文件時(shí)顯示行號# cat -n test.txtncat 和重定向符“” : cat命令通過輸出“重定向”把文件內(nèi)容送到其他的文件中去。如:# cat test* test3.txt# cat test.txt test2.txt test3.txtncat和重定向符“” : 文件合并# cat test.txt test2.txtncat :創(chuàng)建新文件,輸完文本內(nèi)容后按下Ctrl+D組合鍵關(guān)閉這個(gè)文件。# cat myfile.txt312021/4/13.3.4 使用more命令閱讀文件nmore命令: 頁命令使你在瀏覽文件的時(shí)候可以一次閱讀一屏或者一行。# more

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論