![Linux操作系統(tǒng)期末復習題SWJTU(絕對珍貴)附答案版_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/1120cbbd-6a31-4b75-90bd-4303f3702f68/1120cbbd-6a31-4b75-90bd-4303f3702f681.gif)
![Linux操作系統(tǒng)期末復習題SWJTU(絕對珍貴)附答案版_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/1120cbbd-6a31-4b75-90bd-4303f3702f68/1120cbbd-6a31-4b75-90bd-4303f3702f682.gif)
![Linux操作系統(tǒng)期末復習題SWJTU(絕對珍貴)附答案版_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/1120cbbd-6a31-4b75-90bd-4303f3702f68/1120cbbd-6a31-4b75-90bd-4303f3702f683.gif)
![Linux操作系統(tǒng)期末復習題SWJTU(絕對珍貴)附答案版_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/1120cbbd-6a31-4b75-90bd-4303f3702f68/1120cbbd-6a31-4b75-90bd-4303f3702f684.gif)
![Linux操作系統(tǒng)期末復習題SWJTU(絕對珍貴)附答案版_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-5/17/1120cbbd-6a31-4b75-90bd-4303f3702f68/1120cbbd-6a31-4b75-90bd-4303f3702f685.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、linux操作系統(tǒng)期末復習題第一部分:上機作業(yè):第二部分:一、填空1軟件提供的三種模式商業(yè)軟件、共享(試用)軟件、自由軟件。2linux發(fā)行遵循gnu 的通用公共許可證(gpl),其目標是保持和 posix 標準兼容.3posix表示可移植操作系統(tǒng)接口,其目的是是為了提高unix環(huán)境下應用程序的可移植性。4目前l(fā)inux主要應用在軟件供應商、學術界及asp、isp、icp公司。5目前l(fā)inux發(fā)行版本主要有debian、red hat、slackware、openlinux、blue point、red flag、xteam linux、debian、suse。6linux內核具有兩種版本號,
2、分別是:實驗版本、產品化版本,這樣區(qū)分的優(yōu)點 可以方便廣大軟件人員加入到linux的開發(fā)和測試工作中來,另一方面又可以讓一些用戶使用上穩(wěn)定的linux版本。7操作系統(tǒng)功能可以分為文件系統(tǒng)管理、處理器管理、內存管理、 設備管理、網(wǎng)絡管理五大部分(子系統(tǒng))。8操作系統(tǒng)的體系結構是軟件內部結構配置的一種抽象描述。通常操作系統(tǒng)可劃分為模塊結構、層次結構、對象結構三種結構,linux屬于 模塊結構。9根據(jù)eric raymond的觀點,他將linux內核的開發(fā)模式稱為 集市模式,而將傳統(tǒng)軟件的開發(fā)模式稱為教堂模式。二、填空1linux安裝過程中通常至少要創(chuàng)建根分區(qū)和交換分區(qū)兩個分區(qū)。2系統(tǒng)安裝完成后,用
3、dd命令制作啟動軟盤的完整命令是:# dd if=bootnet.img of=/dev/fd0 bs=1440k 。3/dev/hda表示第一個ide硬盤, /dev/hda6表示第一個ide硬盤上第六個主分區(qū)或擴展分區(qū)。4linux采用的啟動管理器有 lilo和 grub兩種;對應的配置文件的名稱分別是/etc/lilo.conf和/boot/grub/menu.lst(或grub.conf)。三填空1linux采用ext2或ext3作為其默認文件系統(tǒng)的。 2linux中的五種基本文件類型分別是普通文件、目錄文件、設備文件、鏈接文件、管道文件。3linux系統(tǒng)中文件權限分別賦予文件擁有者、
4、擁有者所在用戶組、其他用戶組三類用戶,每類用戶權限用三位表示,分別是 讀(r)、寫(w)、執(zhí)行(x)。4linux中改變文件權限的命令是chmod;改變文件所有者的命令是chown;改變文件所屬組的命令是chgrp。5linux采用鏈接法方法實現(xiàn)文件共享,這樣方法產生的文件又可分為硬鏈接和符號鏈接兩種。兩種文件的各自特點硬鏈接文件和源文件指向同一個i節(jié)點;符號鏈接文件為指向文件的路徑。6linux下拷貝文件的命令是cp,移動一個文件在目錄樹中的位置的命令是mv,刪除一個文件的命令是rm。7linux下顯示文件內容的命令有cat、more、less、head、tail、od。8在linux sh
5、ell中 表示 輸出重定向,表示 追加輸出改向,表示 輸入重定向,表示 本地文檔重定向(追加輸入改向)。 四填空1進程是指一個具有一定獨立功能的程序關于某個數(shù)據(jù)集合的一次運行活動,一個完整的進程包括程序、執(zhí)行程序所需要的數(shù)據(jù)、記錄進程狀態(tài)的動態(tài)數(shù)據(jù)資料(進程映像)三部分,描述linux進程數(shù)據(jù)結構的文件是/include/linux/sched.h。2進程的三個基本狀態(tài)等待狀態(tài)、就緒狀態(tài)、執(zhí)行狀態(tài),linux將執(zhí)行、就緒分為運行態(tài),而將等待狀態(tài)分為可中斷等待狀態(tài)、不可中斷的等待態(tài)兩種狀態(tài)。3linux的調度啟動命令有at、cron、batch,$at f /tmp/print job 2100
6、 12/25/04的含義為:在04年12月25日21:00執(zhí)行/tmp/print job中的作業(yè)。4ps命令的功能是查看系統(tǒng)進程,top命令的作用是顯示系統(tǒng)當前的進程和其它狀況。5linux提供的進程通信機制有信號、管道、消息隊列(msg)、共享內存(shm)、信號量(sem)種。五問答:111111111111說明linux操作系統(tǒng)的調度機制。linux采用兩級調度,用戶作業(yè)進入內存,直接參與交換調度或進程調度。進程和線程采用同樣的表示和管理方式,也使用同樣的調度函數(shù)。linux采用請求頁式內存動態(tài)管理方法,根據(jù)進程執(zhí)行的實際需要分配內存頁面并換入內容,同時使用內核交換進程kswapd按照
7、記齡(aging)置換算法來實現(xiàn)頁面淘汰功能,內核交換進程周期性地執(zhí)行。linux用簡單的函數(shù)實現(xiàn)了三種進程調度算法,雖然不十分完美,但高效,可適用于大多數(shù)情況。222222222222解釋linux系統(tǒng)的虛擬文件系統(tǒng)vfs整體結構;目錄結構,inode結構!vfs整體結構:vfs采用超級塊和i節(jié)點來描述文件系統(tǒng),這些數(shù)據(jù)結構在文件系統(tǒng)初始化過程中,由具體邏輯文件系統(tǒng)的超級塊和i節(jié)點的數(shù)據(jù)來填充。而當文件系統(tǒng)關閉時,vfs的超級塊和i節(jié)點也就消失了。目錄結構:整個linux文件系統(tǒng)形成一個完整的目錄樹,每一個邏輯文件系統(tǒng)都可作為一個獨立子樹安裝到目錄樹的某枝節(jié)點上。vfs超級塊中用指針s-ro
8、ot記錄著該文件系統(tǒng)在根文件系統(tǒng)目錄樹的信息,使用指針s-dev記錄指向該邏輯文件系統(tǒng)(設備號).或者:linux系統(tǒng)中,目錄也是文件的一種,稱為目錄文件,每一個目錄也由一個i節(jié)點來描述,i節(jié)點中文件類型標識這是一個目錄文件,同時在對應的索引表(物理塊)中存放用來描述文件的目錄項列表。目錄項列表用來描述一個目錄所包含的全部文件和子目錄,每一個目錄項對應著一個文件或目錄。inode結構:1、vfs inode包含文件訪問權限、屬主、組、大小、生成時間、訪問時間、最后修改時間等信息。它是linux管理文件系統(tǒng)的最基本單位,也是文件系統(tǒng)連接任何子目錄、文件的橋梁。inode結構中的靜態(tài)信息取自物理設
9、備上的文件系統(tǒng),由文件系統(tǒng)指定的函數(shù)填寫,它只存在于內存中,可以通過inode緩存訪問。雖然每個文件都有相應的inode結點,但是只有在需要的時候系統(tǒng)才會在內存中為其建立相應的inode數(shù)據(jù)結構,建立的inode結構將形成一個鏈表,我們可以通過遍歷這個鏈表去得到我們需要的文件結點,vfs也為已分配的inode構造緩存和哈希表,以提 高系統(tǒng)性能。ext2 inode用來定義文件系統(tǒng)的結構以及描述系統(tǒng)中每個文件的管理信息,每個文件都有且只有一個inode,即使文件中沒有數(shù)據(jù),其索引結點也是存在的。每個文件用一個單獨的ext2 inode結構來描述,而且每一個inode都有唯一的標志號。ext2 i
10、node為內存中的inode結構提供了文件的基本信息,隨著內存中inode結構的變化,系統(tǒng)也將更新ext2 inode中相應的內容。ext2 inode對應的是ext2_inode結構。33333333333333解釋ext2文件系統(tǒng)結構?給出一個文件名,系統(tǒng)是如何找到文件內容的?系統(tǒng)結構:i節(jié)點和超級塊是ext2文件系統(tǒng)最關鍵結構。其中:i節(jié)點:用來描述各種類型的文件,是整個文件系統(tǒng)的基本(/include/linux/ext2_fs.h)超級塊:是描述整個文件系統(tǒng)的重要數(shù)據(jù)。組描述符也是描述文件系統(tǒng)塊組分布和使用情況的主要數(shù)據(jù)。(/include/linux/ext2_fs.h)線性檢索法
11、:以下步驟:1)系統(tǒng)讀入根索引節(jié)點(1),從文件地址項查找根目錄文件所在物理塊號讀入內存。2)將磁盤第2個inode讀入內存,找出bin目錄文件所在物理塊號并將它讀入內存。3)將磁盤第10號節(jié)點讀入內存,從中判斷l(xiāng)s文件所在的物理塊號。4)目錄查詢操作到此結束,如果順序查找過程中發(fā)現(xiàn)一個文件分量名未能找到,則停止查找并送回“文件未找到”信息。44444444444444掌握linux下進程創(chuàng)建的函數(shù)fork和vfork。fork函數(shù):創(chuàng)建子進程,具體調用如下: #include #include pid_t fork(viod) 正確返回:父進程返回子進程的進程號,子進程返回0。 錯誤返回:-
12、1子進程是父進程的一個拷貝。子進程從父進程那里得到數(shù)據(jù)段和堆棧段的拷貝。由于父子進程的運行順序無關。故運行結果的先后順序不定,若要求父子進程運行順序一定,要采用進程間通訊機制。若父進程將標準輸出重定向到某一文件,子進程也將標準輸出重定向到同一文件。fork函數(shù)調用的主要用途有兩個: a、一個進程希望復制自身,從而父子進程能同時執(zhí)行不同的代碼。b、進程想執(zhí)行另外一個進程。vfork函數(shù)vfork函數(shù)作用基本類似于fork,調用流程與返回值與fork函數(shù)完全相同。但它們的語義不同。a、用vfork創(chuàng)建新進程的主要目的在于用exec函數(shù)執(zhí)行另外的進程(如fork函數(shù)的第二個用途)。目的:提高效率。b
13、、vfork中子進程先運行,父進程掛起,直至子進程執(zhí)行exec或exit,此后父子進程執(zhí)行次序無限制。555555555555555掌握rpm,tar,gzip命令的使用方法。rpm軟件包管理程序的使用 a) 安裝軟件包: rpm -ivh 軟件包.rpm 可選參數(shù)說明:-v顯示安裝的軟件包的名稱 -i 安裝軟件-t (-test) 測試安裝,不是真的安裝-nodeps 安裝前不執(zhí)行軟件包依賴性檢查。不推薦使用-force 強制安裝一個軟件包 -h 打印50個“#”符號,與-v合用 如 rpm -ivh telnet-server-0.17-25.i386.rpm b) 刪除軟件包 rpm e
14、 軟件包.rpm 可通過rpm -qa |egrep軟件包.rpm 查看是否安裝了此軟件包 錯誤信息:. is needed by . 可加-nodeps,但不推薦使用 如 rpm -ev telnet-server-0.17-25.i386.rpm (先要停止telnet服務)c) 升級軟件包 rpm uvh 軟件包.rpm 自動刪除相應軟件包的老版本,若配置文件同新版本不兼容,自動將其保存為oldconfig.rpmsave文件. d) 查詢軟件包 rpm q 軟件包(名稱) 具體可使用如下特定參數(shù) rpm ql 列出包中所有文件(包括配置/文檔文件) rpm qs 列出包中所有文件的狀態(tài)
15、 rpm qd 列出包中所有的文檔文件 rpm qc 列出包中所有的配置文件 rpm qa 列出系統(tǒng)中安裝的所有軟件包 rpm qa|grep “telnet” 查詢系統(tǒng)中包含telnet的rpm包 或 rpm qi telnet rpm -qf filename 查詢包含該文件的軟件包 e) 校驗軟件包 可校驗文件大小、md5校驗碼、文件權限、類型及屬主等信息。 rpm v 軟件包.rpm 檢查校驗該軟件包中的文件是否存在 rpm vf /bin/vi 校驗軟件包中的單個文件 rpm va 校驗安裝的所有軟件包 rpm vp 軟件包.rpm 比較一個源軟件包和已經安裝的軟件包 1) tar命
16、令 tar 可以為文件和目錄創(chuàng)建檔案。語法: tar 主選項+輔選項 tar文件 目錄 主選項: c 創(chuàng)建新的檔案文件。 r 把要存檔的文件追加到檔案文件的未尾。 t 列出檔案文件的內容,查看已經備份了哪些文件。 u 更新文件。即用新增的文件取代原備份文件。 x 從檔案文件中釋放文件。 f 使用檔案文件或設備,這個選項通常是必選的。輔助選項: b 該選項是為磁帶機設定的。其后跟一數(shù)字,用來說明區(qū)塊的大小,系統(tǒng)預設值為20(20*512 bytes)。 k 保存已經存在的文件。如在還原文件的過程中,遇到相同的文件,不會進行覆蓋。 m 還原文件時,把所有文件的修改時間設定為現(xiàn)在。 m 創(chuàng)建多卷的檔
17、案文件,以便在幾個磁盤中存放。 v 詳細報告tar處理的文件信息。如無此選項,tar不報告文件信息。 z 用gzip來壓縮/解壓縮文件,加上該選項后可以將檔案文件進行壓縮。例1:把/home目錄下包括它的子目錄全部做備份文件,備份文件名為usr.tar。 $ tar cvf usr.tar /home例2:把/home目錄下包括它的子目錄全部做備份文件,并進行壓縮,備份文件名為usr.tar.gz 。 $ tar czvf usr.tar.gz /home例3:把usr.tar.gz這個備份文件還原并解壓縮。 $ tar xzvf usr.tar.gz例4:查看usr.tar備份文件的內容,并
18、以分屏方式顯示在顯示器上。 $ tar tvf usr.tar | more要將文件備份到一個特定的設備,只需把設備名作為備份文件名。例5:j在/dev/fd0的軟盤中創(chuàng)建一個備份,并將/home中所有的文件都拷到備份中。 $ tar cf /dev/fd0 /home k要恢復設備磁盤中的文件,可使用xf選項: $ tar xf /dev/fd0 l創(chuàng)建一個多卷的tar備份文件。當使用m選項向一個軟驅進行存檔時,tar命令在一張軟盤已滿的時候會提醒您再放入一張新的軟盤。 $ tar cmf /dev/fd0 /home2) gzip命令 減少文件大小可以減少存儲空間;通過網(wǎng)絡傳輸文件時,可以
19、減少傳輸?shù)臅r間。gzip是經常使用的一個對文件進行壓縮和解壓縮的命令。 語法: gzip 選項 壓縮(解壓縮)的文件名 各選項含義: -c 將輸出寫到標準輸出上,并保留原有文件。 -d 將壓縮文件解壓。 -l 對每個壓縮文件,顯示下列字段:壓縮文件的大小,未壓縮文件的大小,壓縮比,未壓縮文件的名字。 -r 遞歸查找指定目錄并壓縮或解壓縮其中的所有文件。 -t 測試,檢查壓縮文件是否完整。-v 對每個壓縮和解壓的文件,顯示文件名和壓縮比。 -num 用指定的數(shù)字num調整壓縮的速度,1或-fast表示最快壓縮方法(低壓縮比),9或-best表示最慢壓縮方法(高壓縮比)。系統(tǒng)缺省值為6。 例1:把
20、/home目錄下的每個文件壓縮成.gz文件。 $ gzip /home* 例2:把例1中壓縮的文件解壓,并列出詳細的信息。 $ gzip -dv * 例3:壓縮一個tar備份文件,如usr.tar,此時壓縮文件的擴展名為.tar.gz $ gzip usr.tar66666666666掌握shell變量的定義與使用,會編寫簡單的關于文件操作的shell程序。777777777777掌握linux下gcc,g+,gdb,make應用程序的作用和基本使用。gcc 能夠編譯三種語言:c、c+ 和 object c ,利用 gcc 命令可同時編譯并連接 c 和 c+ 源程序。也可對幾個 c 源文件利用
21、 gcc 編譯、連接并生成可執(zhí)行文件。例:gcc -o factorial main.c factorial.cgcc 只編譯 c+ 源文件,不能自動和 c+ 程序使用的庫連接。因此,通常使用 g+ 命令來完成 c+ 程序的編譯和連接。例:g+ -o hello hello.c 。make 工具來自動完成編譯工作。gdb為gnu的調試器,是一個交互式工具,工作在字符模式。可完成如下的調試任務:設置斷點; 監(jiān)視程序變量的值; 程序的單步執(zhí)行; 修改變量的值。 88888888888解釋linux進程的概念、狀態(tài)及轉換、進程間通信方式以及task_struct結構。進程是一個具有一定獨立功能的程序
22、關于某個數(shù)據(jù)集合的一次運行活動。一個完整進程包括程序、執(zhí)行程序所需要的數(shù)據(jù)以及記錄進程狀態(tài)的動態(tài)數(shù)據(jù)資料等待狀態(tài)、就緒狀態(tài)和執(zhí)行狀態(tài)是一個進程所具有的最基本的三種狀態(tài)。linux系統(tǒng)的2.2.16版本進程共有六種狀態(tài),包括:運行狀態(tài)、可中斷等待狀態(tài)、不可中斷等待狀態(tài)、僵死狀態(tài)、暫停狀態(tài)和交換狀態(tài)。在2.4.0版本中取消了交換狀態(tài),加入獨占狀態(tài)。進程的整個生命周期中,大致的轉換路徑總是沿著三個閉合回路進行:第一個回路: 由就緒狀態(tài)和執(zhí)行狀態(tài)形成。第二個回路: 由執(zhí)行狀態(tài)、等待狀態(tài)和就緒狀態(tài)形成第三個回路: 執(zhí)行狀態(tài)、暫停狀態(tài)和就緒狀態(tài)構成退出: 處于執(zhí)行狀態(tài)的進程調用退出函數(shù)exit之后,進程就
23、會進入僵死狀態(tài)。進程間通信。兩種方式:低級通信:互相發(fā)送少量的控制信息,一般只傳遞一個或者幾個字節(jié)的數(shù)據(jù),進程利用這些簡單的信息,實現(xiàn)互斥和同步,控制運行速度。高級通信:基本不涉及進程執(zhí)行速度控制,用來在進程之間傳遞大量的信息,由于這種通信方式主要用于交換信息。因此,在開發(fā)本地進程間通信的同時,也為遠程進程間的通信、網(wǎng)絡程序的開發(fā)及控制奠定了基礎。linux系統(tǒng)的pcb用一個稱為task-struct的結構體來描述(/include/linux/sched.h中)。其中信息可分為:(1) 進程描述信息(2) 進程控制信息(3) 進程資源信息(4) cpu現(xiàn)場信息99999999999掌握lin
24、ux下用戶賬號管理,文件權限管理,環(huán)境變量的定義,和網(wǎng)絡相關的配置文件和應用程序。賬戶一般分為三種:普通用戶賬戶系統(tǒng)管理賬戶系統(tǒng)賬戶1) 賬戶的信息存儲在/etc/passwd文件中2) /etc/shadow系統(tǒng)包含一個/etc/passwd 的同伴文件/etc/shadow。該文件只對root用戶可讀,且包含加密的密碼信息。3) /etc/group文件定義了 linux 系統(tǒng)上所有的組. 使用adduser添加普通用戶賬戶,必須以root登錄。2)添加用戶組向/etc/group文件添加新組,語法: groupadd -g gid mygroup;gid 一般是500以上。也可用命令刪除
25、,語法如下:userdel -r login加上 -r 參數(shù)將刪除用戶主目錄及其創(chuàng)建的文件linux系統(tǒng)的/etc/passwd文件含有系統(tǒng)中每個用戶的信息(加密后的口令存于/etc/shadow文件中)。crypt命令可提供給用戶以加密文件。網(wǎng)絡文件配置1、 /etc/conf.modules 文件該配置文件定義了各種需要在啟動時加載的模塊的參數(shù)信息。2、/etc/hostname 文件 該文件包含系統(tǒng)的主機名稱,完全的域名,3、/etc/sysconfig/network-scripts/ifcfg-ethn文件 在redhat中,系統(tǒng)網(wǎng)絡設備的配置文件保存在/etc/sysconfig/
26、network-scripts目錄下,ifcfg-eth0包含第一塊網(wǎng)卡的配置信息,ifcfg-eth1包含第二塊網(wǎng)卡的配置信息。4、/etc/resolv.conf 文件 該文件是由域名解析器使用的配置文件5、/etc/host.conf 文件 該文件指定如何解析主機名。6、/etc/sysconfig/network 文件該文件用來指定服務器上的網(wǎng)絡配置信息,10101010101010掌握文件系統(tǒng)安裝表,vfs超級快,文件系統(tǒng)類型注冊表的基本結構以及關系。文件系統(tǒng)安裝表記錄著整個系統(tǒng)中當前可使用(已安裝)的全部文件系統(tǒng),是操作系統(tǒng)訪問具體存儲設備上文件系統(tǒng)的入口。文件系統(tǒng)類型注冊表記錄著
27、整個系統(tǒng)當前所支持的全部文件系統(tǒng)類型。文件系統(tǒng)安裝表、vfs超級塊和文件系統(tǒng)類型注冊表之間的關系111111111111111掌握文件系統(tǒng)、進程系統(tǒng)、系統(tǒng)管理的基本命令使用方法。$ cp - i exam1.c /usr/wang/shiyan1.c 若不希望重新命名,可以使用下面的命令: $ cp exam1.c /usr/ wang/例1:將/usr/xu中的所有文件移到當前目錄中: $ mv /usr/xu/ * .例2:將文件wch.txt重命名為wjz.doc $ mv wch.txt wjz.doc$ rm -i test example顯示文件內容命令cat命令:2、more命令
28、 3、less命令 4、head命令 用head命令只顯示文件或標準輸入的頭幾行。 語法:head - n 文件 5、tail命令 若用戶想查看文件的尾部,可使用tail命令。 語法:tail + / - num 參數(shù) 文件 6、od命令 od命令查看特殊格式的文件內容。通過指定該命令的不同選項可以以十進制、八進制、十六進制和ascii碼來顯示文件。 語法:od 選項 文件 各選項含義: - a 指定地址基數(shù),包括: d 十進制 o 八進制(系統(tǒng)默認值) x 十六進制 n 不打印位移值 文件內容查詢命令(1) 1、grep、fgrep 和 egrep命令例1:grep命令在文件example中
29、搜索模式“text file”。$ grep text file example例2:搜索并顯示所有包含goto語句的代碼行: $ grep goto *.c例3:從文件mypats中讀取要搜索的模式。 $ cat mypats editor create $ grep -f mypats exam2、find命令例1:查找當前目錄中所有以main開頭的文件并顯示這些文件的內容。 $ find . - name main* - exec more ;例2:刪除當前目錄下所有一周之內沒有被訪問過的 a .out或*.o文件。 $ find . (- name a.out - o - name *
30、.o)- atime +7 - exec rm ;說明:(和)表示括號( ),其中“”稱為轉義符。 “- name a.out”是指要查找名為a.out的文件;“- name *.o”是指要查找所有名字以.o結尾的文件。兩個- name間- o表示邏輯或or,即查找名字為a.out或名字以.o結尾的文件。 find在當前目錄及其子目錄下找到這樣的文件后,再進行判斷,看其最后訪問時間是否在7天以前(條件atime +7),若是,則對該文件執(zhí)行命令 rm(- exec rm ;)。代表當前查到的符合條件的文件名;是語法要求的。3、locate命令例如:查找相關字issue $ locate iss
31、ue /etc/issue /etc/ /usr/man/man5/issue.5 /usr/man/man5/.5df命令 :檢查文件系統(tǒng)的磁盤空間占用情況。du命令du 為“disk usage”縮寫,統(tǒng)計目錄(或文件)所占磁盤空間的大小。dd命令 把指定的輸入文件拷貝到指定的輸出文件中,且在拷貝過程中可進行格式轉換。例1:要把一張軟盤的內容拷貝到另一張軟盤上: $ dd if =/dev/fd0 of = /tmp/tmpfile $ dd if = /tmp/tmpfile of =/dev/fd0sort命令 語法:sort 選項 文件 。說明:對
32、文件中所有的行進行排序。例2 以第2個字段作為排序關鍵字對文件example的內容進行排序。 $ sort +1-2 example 例3 對于file1和file2文件內容反向排序,結果放在outfile中,利用第2個字段的第一個字符作為排序關鍵字 $ sort -r -o outfile +1.0 -2.1 file1 file2 例4 sort排序常用于在管道中與其它命令連用,組合完成比較復雜的功能,如利用管道將當前工作目錄中的文件送給sort進行排序,排序關鍵字是第6個至第8個字段。 $ ls - l | sort +5 - 7uniq命令說明:該命令讀取輸入文件,并比較相鄰的行。例1
33、 顯示文件 example中不重復的行。 $ uniq - u example 例2 顯示文件 example中不重復的行,從第2個字段的第2個字符開始做比較。 $ uniq - u - 1 +1 examplewc命令說明:該命令統(tǒng)計給定文件中的字節(jié)數(shù)、字數(shù)、行數(shù)。例1:$ wc - lcw file1 file2 4 4 33 file1 4 7 52 file211 11 85 totalcomm命令語法:comm - 123 file1 file2說明:該命令是對兩個已經排好序的文件進行比較。$ comm -12 myfile1 myfile212121212121212了解linux
34、系統(tǒng)啟動相關的文件以及功能??荚囶}型:填空,選擇,命令解釋,問答;程序閱讀與設計;linux下shell編程入門(1)通常情況下,我們從命令行輸入命令每輸入一次就能夠得到系統(tǒng)的一次響應。一旦需要我們一個接著一個的輸入命令而最后才得到結果的時候,這樣的做法顯然就沒有效率。要達到這樣的目的,通常我們利用shell程序或者shell腳本來實現(xiàn)。 一、簡介 shell編程有很多類似c語言和其他程序語言的特征,但是又沒有編程語言那樣復雜。shell程序就是放在一個文件中的一系列l(wèi)inux命令和實用程序,在執(zhí)行的時候,通過linux一個接著一個地解釋和執(zhí)行每個命令。 下面我們來看一個簡單的shell程序:
35、1、首先建立一個內容如下的文件,名字為date,將其存放在目錄下的bin子目錄中。#program date#usageto :show the date in this way (注釋)echo “mr.$user,today is:”echo date “+%b%d%a”echo “whish you a lucky day !”2、編輯完該文件之后它還不能執(zhí)行,我們需要給它設置可執(zhí)行權限。使用如下命令:chmod +x date 通過以上過程之后,我們就可以像使用ls命令一樣執(zhí)行這個shell程序.beichenlocalhost bin$ datemr.beichen,today is
36、:january 13 fridaywhish you a lucky day ! 為了在任何目錄里都可以執(zhí)行這個程序,可以將bin的這個目錄添加到路徑中去。beichenlocalhost bin$ path=$path: $home/bin(注:這里的$home代替的是/home/beechen,而bin目錄是自己建的一個目錄) 另外一種執(zhí)行date的方法就是把它作為一個參數(shù)傳給shell命令:beichenlocalhost /$ bash datemr.beichen,today is:january 13 fridaywhish you a lucky day ! 盡管在前面我們使用
37、chmod +x date將date設置為可執(zhí)行,其實不設置也沒有關系,但在linux里執(zhí)行它,需要先告訴系統(tǒng)它是一個可執(zhí)行的腳本。beichenlocalhost /$ .datemr.beichen,today is:january 13 fridaywhish you a lucky day ! 即在date前面加上一個點”.”,并且用空格與后面的shell腳本的文件名隔開。當然,不推薦這樣做。二、shell參數(shù) 如同ls 命令可以接受目錄等作為它的參數(shù)一樣,在shell編程時同樣可以使用參數(shù)。shell有位置參數(shù)和內部參數(shù)。1、位置參數(shù) 由系統(tǒng)提供的參數(shù)稱為位置參數(shù)。位置參數(shù)的值可以用
38、$n得到,n是一個數(shù)字,如果為1,即$1.類似c語言中的數(shù)組,linux會把輸入的命令字符串分段并給每段進行標號,標號從0開始。第0號為程序名字,從1開始就表示傳遞給程序的參數(shù)。如$0表示程序的名字,$1表示傳遞給程序的第一個參數(shù),以此類推。2、內部參數(shù) 上述過程中的$0是一個內部變量,它是必須的,而$1則可有可無。和$0一樣的內部變量還有以下幾個。$#-傳遞給程序的總的參數(shù)數(shù)目$?-上一個代碼或者shell程序在shell中退出的情況,如果正常退出則返回0,反之為非0值。$*-傳遞給程序的所有參數(shù)組成的字符串。下面舉例進行說明:建立一個內容為如下的程序p1:echo “program nam
39、e is $0”echo “there are totally $# parameters passed to this program”echo “the last is $?”echo “the parameters are $*”執(zhí)行后的結果如下:beichenlocalhost bin$ p1 this is a test program /傳遞5個參數(shù)program name is /home/beichen/bin/p1 /給出程序的完整路徑和名字there are totally 5 parameters passed to this program/參數(shù)的總數(shù)the last
40、is 0 /程序執(zhí)行結果the parameters are this is a test program/返回有參數(shù)組成的字符串下面我們利用內部變量和位置參數(shù)編寫一個名為del的簡單刪除程序:#name: del#author: liangnian#this program to compress a file to the dustbinif test $# -eq 0 thenecho “please specify a file!” elsegzip $1 /先對文件進行壓縮mv $1.gz $home/dustbin/移動到回收站echo “file $1 is deleted !”
41、fi=part1=三、變量表達式 在上面我們編寫的小程序中我們用到了一個關鍵字test,其實它是shell程序中的一個表達式比較(test)。通過和shell提供的if等條件語句(后面我們會介紹)相結合我們可以方便的完判斷。 其用法如下: test 表達式 表達式所代表的操作符有字符串操作符、數(shù)字操作符、邏輯操作符以及文件操作符。其中文件操作符是一種shell獨特的操作符,因為shell里的變量都是字符串,為了達到對文件進行操作的目的,于是才提供了這樣的一種操作符。1、 字符串比較作用:測試字符串是否相等、長度是否為零,字符串是否為null(注:bash區(qū)分零長度字符串和空字符串)常用的字符穿
42、操作符有:= 比較兩個字符串是否相同,同則為“是”!= 比較兩個字符串是否相同,不同則為“是”-n 比較字符串長度是否大于零,如果大于零則為“是”-z 比較字符串的穿度是否等于零,如果等于則為“是”2、 數(shù)字比較這里區(qū)別于其他編程語言,test語句不使用、=類似的符號來表達大小的比較,而是用整數(shù)式來表示這些。-eq相等-ge大于等于-le 小于等于-ne 不等于-gt 大于-lt 小于3、 邏輯操作!反:與一個邏輯值相反的邏輯值-a與(and):兩個邏輯值為“是”返回值才為“是”,反之為“否”-o或(or):兩個邏輯值有一個為“是”,返回值就為“是”4、 文件操作文件測試表達式通常是為了測試文件的信息,一般由腳本來決定文件是否應該備份、復制或刪除。由于test關于文件的操作符有很多,我們只列舉一些常用的。-d對象存在且為目錄返回值為“是”-f對象存在且為文件返回值為“是”-l對象存在且為符號連接返回值為“是”-r對象存在且可讀則返回值為“是”-s對象存在且長度非零則返回值為“是”-w對象存在且可寫則返回值為“是”-x 對象存在且可執(zhí)行則返回值為“是”file1 nt(-ot) file2文件1比文件2新(舊)四、循環(huán)結構語句sh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度基礎設施工程追加合同模板
- 2025年度智慧農業(yè)項目股權投資及轉讓合同
- 2025年度環(huán)保設施投資合同管理與招投標示范文本
- 2025年度人工智能助手產品定制開發(fā)合同
- 2025年度國際知識產權運營中介服務合同
- 2025年度新能源車輛購置稅收減免納稅擔保合同
- 2025年度倉儲貨架貨架子采購合同范本
- 2025年度建筑用管材采購合同規(guī)范模板
- 2025年度房地產項目融資抵押擔保合同示范文本
- 2025年企業(yè)租賃合同模板:智能辦公空間租賃協(xié)議
- 第十五章《探究電路》復習課課件滬科版九年級物理
- 2024年中考物理科技創(chuàng)新題型(教師版)
- 唐山市重點中學2024-2025學年全國高考大聯(lián)考信息卷:數(shù)學試題試卷(3)含解析
- 未成年上班知情協(xié)議書
- 2024年山東藥品食品職業(yè)學院單招職業(yè)適應性測試題庫含答案
- 2023-2024學年高中政治統(tǒng)編版選擇性必修二7-1 立足職場有法寶 課件(34張)
- 2024年高考語文標點符號的基本用法大全(新標準)
- 恩施州巴東縣核桃樹煤礦有限公司核桃樹煤礦礦產資源開發(fā)利用與生態(tài)復綠方案
- 部編版語文一年級下冊全冊大單元整體作業(yè)設計
- 學生平板電腦使用規(guī)則
- 電子技術的發(fā)展和應用
評論
0/150
提交評論