版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Linux基礎(chǔ)與項目實(shí)踐任務(wù)五LinuxShell管理0204Shell腳本編程管道與重定向01Shell簡介
03在后臺運(yùn)行程序05Shell腳本編程示例Shell簡介PART01Shell基礎(chǔ)3
Linux系統(tǒng)中,Shell是系統(tǒng)的一個用戶界面,提供了用戶與內(nèi)核進(jìn)行交互操作的接口(命令解釋器),Shell接收用戶輸入的命令并把它送入內(nèi)核執(zhí)行,在用戶與系統(tǒng)之間進(jìn)行交互。Shell在Linux系統(tǒng)中具有極其重要的地位,其所處位置如圖所示。Shell基礎(chǔ)4命令解釋器是Shell最重要的功能。Linux系統(tǒng)中的所有可執(zhí)行文件都可以作為Shell命令來執(zhí)行。將Linux的可執(zhí)行文件進(jìn)行分類,如圖所示。類別說明Linux命令存放在/bin、/sbin目錄下的命令內(nèi)置命令出于效率的考試,將一些常用命令的解釋程序構(gòu)造在Shell內(nèi)部實(shí)用程序存放在/usr/bin、/usr/sbin、、/usr/local/bin、/usr/local/sbin等目錄下的實(shí)用程序用戶程序用戶程序經(jīng)過編譯生成可執(zhí)行文件后可作為Shell命令運(yùn)行Shell腳本由Shell語言編寫的批處理文件Shell基礎(chǔ)5Shell命令解釋過程Shell基礎(chǔ)6Shell的不同版本版本說明BourneAgainShell(bash、bsh的擴(kuò)展)bash是大多數(shù)Linux系統(tǒng)的默認(rèn)Shell。bash與bsh完全向后兼容,并且在bash的基礎(chǔ)上增加和增強(qiáng)了很多特性。bash也包含了很多CShell和KomShell中的優(yōu)點(diǎn)。bash有很靈活和強(qiáng)大的編程接口,同時又有很友好的用戶界面KomShell(ksh)KomShell(ksh)是UNIX系統(tǒng)上的標(biāo)準(zhǔn)Shell。在Linux環(huán)境下有一個專門為Linux系統(tǒng)編寫的KomShell的擴(kuò)展版本,即PublicDomainKomShell(pdksh)tcsh(csh的擴(kuò)展)tcsh是CShell的擴(kuò)展。tcsh與csh完全向后兼容,但它包含了更多的使用戶感覺方便的特性,其最大的提高是在命令行編輯和歷史瀏覽方面Shell基礎(chǔ)7常用的Shell元字符及含義元字符含義*代表任意字符串?代表任意字符/代表根目錄或作為路徑間隔符使用\轉(zhuǎn)義字符。當(dāng)命令的參數(shù)要用到保留字時,要在保留字前面加上轉(zhuǎn)義字符\<Enter>續(xù)行符??梢愿道m(xù)行符將一個命令行分寫在多行上$變量值置換,如$PATH表示環(huán)境變量PATH的值‘在’...’中間的字符均被當(dāng)作文字處理,指令、文件名、保留字等都不再具有原來的意義“在“...”中間的字符會被當(dāng)作文字處理并允許變量轉(zhuǎn)換`命令替換,轉(zhuǎn)換`...`中命令的執(zhí)行結(jié)果<輸入重定向字符>輸出重定向字符|管理字符&后臺執(zhí)行字符。在一個命令之后加上字符“&”,該命令就會以后臺方式執(zhí)行;分割順序執(zhí)行的多個命令()在子Shell中執(zhí)行一組命令{}在當(dāng)前Shell中執(zhí)行一組命令!執(zhí)行命令歷史記錄中的命令~代表登錄用戶的宿主目錄文件及Linux目錄結(jié)構(gòu)8在Linux系統(tǒng)上,文件被看作是字節(jié)序列。這種概念使得所有的系統(tǒng)資源有了統(tǒng)一的標(biāo)識,這些資源包括普通文件或目錄、磁盤設(shè)備、控制臺(鍵盤、顯示器)、打印機(jī)等。對這些資源的訪問和處理都是通過字節(jié)序列的方式實(shí)現(xiàn)的。Linux系統(tǒng)下的文件類型包括:l普通文件(-)l目錄(d)l符號鏈接(l)l字符設(shè)備文件(c)l塊設(shè)備文件(b)l套接字(s)l命名管理(p)文件及Linux目錄結(jié)構(gòu)9在Linux系統(tǒng)中,把目錄也看作是一種文件,其類型為d。在Linux系統(tǒng)中可以使用長文件方式給文件(包括目錄)命名。這與Windows系統(tǒng)下文件要有后綴名的方式是不同的。比如在Windows系統(tǒng)下有一個文件readme.txt,我們通常認(rèn)為文件名是“readme”,“.”是一個分隔符,“txt”是文件類型,表明這是一個文本文件。但Linux系統(tǒng)中一個文件為readme.txt,表明文件名就是“readme.txt”,其類型通過查看文件詳細(xì)信息獲取。也就是說Linux系統(tǒng)中的文件不需要有文件類型后綴,在Linux系統(tǒng)中帶文件后綴的命名方式也僅僅是為了使用者看起來更容易理解而以。在Linux系統(tǒng)中給文件命名時必須遵循下列規(guī)則:l除了“/”之外,所有的字符都合法。l有些字符最好不用,如空格符、制表符、退格符和字符:?,@#$&()\|;‘
“
<>等。l避免使用+、-或.來作為普通文件名的第一個字符。lLinux文件名是大小寫敏感的。l以.開頭的文件是隱藏的。文件及Linux目錄結(jié)構(gòu)10普通文件就是字節(jié)序列,Linux并沒有對其內(nèi)容規(guī)定任何的結(jié)構(gòu)。普通文件可以是程序源代碼(C、C++、Python、Perl等)、可執(zhí)行文件(文件編輯器、數(shù)據(jù)庫系統(tǒng)、出版工具、繪圖工具等)、圖片、聲音、圖像等。Linux不會區(qū)別對待這些文件,只有處理這些文件的應(yīng)用程序才會根據(jù)文件的內(nèi)容為它們賦予相應(yīng)的含義。目錄文件是由一組目錄項組成,目錄項可以是對其他文件的指向也可以是其下的子目錄指向。實(shí)際上,一個文件的名稱是存儲在其父目錄中的,而并非同文件內(nèi)容本身存儲在一起。將兩個文件名(存儲在其父目錄的目錄項中)指向硬盤上一個存儲空間,對兩個文件中的任何一個的內(nèi)容進(jìn)行修改都會影響到另一個文件,這種鏈接關(guān)系稱為硬鏈接。硬鏈接文件實(shí)際上就是在某目錄中創(chuàng)建目錄項,從而使不止一個目錄可以引用到同一個文件。它可以由ln命令建立。文件及Linux目錄結(jié)構(gòu)11符號鏈接又稱軟鏈接,是指將一個文件指向另外一個文件的文件名。這種符號鏈接的關(guān)系由ln–s命令行建立。我們使用與剛才類似的示例進(jìn)行解釋說明,首先查看一下目錄中的文件信息。設(shè)備是指計算機(jī)中的外圍設(shè)備硬件裝置,即除了CPU和內(nèi)存以外的所有設(shè)備。通常,設(shè)備中含有數(shù)據(jù)寄存器或數(shù)據(jù)緩存器、設(shè)備控制器,用于完成設(shè)備同CPU或內(nèi)存的數(shù)據(jù)交換。在Linux系統(tǒng)中,為了屏蔽用戶對設(shè)備訪問的復(fù)雜化,采用了設(shè)備文件,即可能通過像訪問普通文件一樣的方式對設(shè)備進(jìn)行讀寫訪問。設(shè)備文件用來訪問硬件設(shè)備,包括硬盤、光驅(qū)、打印機(jī)等。每個硬件設(shè)備至少與一個設(shè)備文件相關(guān)聯(lián)。設(shè)備文件分為字符設(shè)備(如鍵盤)和塊設(shè)備(如磁盤)。Linux下設(shè)備以文件系統(tǒng)中的設(shè)備文件的形式存在。所有的設(shè)備文件存放在/dev目錄下。文件及Linux目錄結(jié)構(gòu)12常用設(shè)備文件說明設(shè)備文件說明/dev/sd*SCSI/SAS、PATA/SATA、USB硬件設(shè)備,如sda1表示第1塊硬盤的第1個分區(qū)/dev/sr0光驅(qū)設(shè)備/dev/console系統(tǒng)控制臺/dev/tty*本地終端設(shè)備/dev/pts/*偽終端設(shè)備/dev/ppp*ppp設(shè)備。PPP協(xié)議設(shè)備,用于傳統(tǒng)的撥號上網(wǎng)/dev/lp*表示并口設(shè)備,如lp0表示第一個并口設(shè)備,lp1表示第2個并口設(shè)備/dev/null空設(shè)備。所有寫入它的內(nèi)容都會丟失,通常用于屏蔽命令行輸出/dev/zero零設(shè)備??梢援a(chǎn)生連續(xù)不斷的二進(jìn)制零流,通常用于創(chuàng)建指定長度的空文件文件及Linux目錄結(jié)構(gòu)13套接字和命名管道是Linux環(huán)境下實(shí)現(xiàn)進(jìn)程間通信(IPC)的機(jī)制。命名管道(FIFO)文件允許運(yùn)行在同一臺計算機(jī)上的兩個進(jìn)程之間進(jìn)行通信。套接字(socket)允許運(yùn)行在不同計算機(jī)上的進(jìn)程之間相互通信。套接字和命名管道
通常是在進(jìn)程運(yùn)行時創(chuàng)建或刪除的,一般無需系統(tǒng)管理員干預(yù)。文件及Linux目錄結(jié)構(gòu)14由FHS所規(guī)定的Linux文件系統(tǒng)布局目錄名內(nèi)容說明bin存放二進(jìn)制的可執(zhí)行程序boot存放用于系統(tǒng)引導(dǎo)時使用的各種文件dev用于存放設(shè)備文件,用戶可以通過這些文件訪問外部設(shè)備etc存放系統(tǒng)的配置文件home存放所有用戶文件的根目錄,有一個用戶在該目錄下就有一個與該用戶名相對應(yīng)的子目錄,當(dāng)用戶登錄時就進(jìn)入其用戶名對應(yīng)的子目錄lib/lib64存放根文件系統(tǒng)中的程序運(yùn)行所需要的共享庫及內(nèi)核模塊lost+found存放一些系統(tǒng)檢查結(jié)果,發(fā)現(xiàn)不合法的文件或數(shù)據(jù)都存放在這里。通常此目錄是空的,除非硬盤遭受了不明的損壞mnt臨時文件系統(tǒng)的掛載點(diǎn)目錄media即插即用型存儲設(shè)備的掛載點(diǎn)自動在這個目錄下創(chuàng)那家,如CD/DVD等opt第三方軟件的存放目錄proc是一個虛擬文件系統(tǒng),存放當(dāng)前內(nèi)存的映射,主要用于在不重啟機(jī)器的情況下管理內(nèi)核root超級用戶目錄sbin類似/bin目錄,也存放二進(jìn)制可執(zhí)行文件,但只有root才能訪問srv系統(tǒng)對外提供服務(wù)的目錄,如WEB虛擬主機(jī)等tmp用于放置各種臨時文件usr用于存放系統(tǒng)應(yīng)用程序var用于存放需要隨時改變的文件,如系統(tǒng)日志、脫機(jī)工作目錄等Shell中命令的執(zhí)行15
在Shell中輸入命令時,Linux的tty設(shè)備驅(qū)動程序?qū)z查每個字符,來確定是否要立即采取動作。Shell中命令的執(zhí)行16查找命令當(dāng)在命令行上輸入絕對路徑名時(即輸入至少包含一條斜杠的路徑名),shell將在指定目錄下查找具有執(zhí)行權(quán)限的對應(yīng)文件。例如,輸入命令/bin/ls,shell將查找/bin目錄下具有執(zhí)行權(quán)限且名為ls的文件。當(dāng)輸入的是一個簡單文件名時,shell在一組目錄中查找與該文件名相匹配且具有執(zhí)行權(quán)限的對應(yīng)文件。shell并不是在所有目錄下搜索,而只在PATH變量設(shè)定的路徑下搜索。執(zhí)行命令行如果shell找到了與命令行上的命令具有相同名字的可執(zhí)行文件,那么shell將啟動一個新的進(jìn)程,并將命令行上的命令名、參數(shù)、選項傳遞給程序(可執(zhí)行文件)。當(dāng)命令執(zhí)行時,shell將等待進(jìn)程的結(jié)束,這時shell屬于非活躍狀態(tài),稱為休眠(sleep)狀態(tài)。當(dāng)程序執(zhí)行完畢,就將它的退出狀態(tài)傳遞給shell,這樣shell就返回到活躍狀態(tài)(被喚醒),顯示提示符,等待下一個命令的輸入。管道與重定向PART02標(biāo)準(zhǔn)輸入輸出18
shell命令的執(zhí)行會涉及到輸入和輸出,標(biāo)準(zhǔn)輸入(standardinput)是程序信息的來源。標(biāo)準(zhǔn)輸出(standardoutput)是指程序輸出信息(如文本)的地方。對一個運(yùn)行的程序來說,除了具有標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出外,通常還有錯誤消息輸出,稱為標(biāo)準(zhǔn)錯誤輸出(standarderror)。標(biāo)準(zhǔn)輸入STDIN為鍵盤,文件描述符為0,標(biāo)準(zhǔn)輸出STDOUT為屏幕,文件描述符為1,錯誤輸出STDERR也為屏幕,文件描述符為2,如圖所示。在Linux系統(tǒng)中,標(biāo)準(zhǔn)輸出設(shè)備為鍵盤,標(biāo)準(zhǔn)輸出設(shè)備是屏幕。輸入輸出重定向19在進(jìn)行應(yīng)用時,有時我們需要把文件作為輸入,或者把命令執(zhí)行后的結(jié)果輸出到文件而不是屏幕,這就要用到輸入輸出重定向。相對于輸入的重定向,使用輸出重定向的頻率更高,輸出重定向又分為標(biāo)準(zhǔn)輸出重定向和錯誤輸出重定向兩種不同的技術(shù),以及清空寫入與追加寫入兩種模式。輸入重定向符號及作用符號作用命令<文件將文件作為命令的標(biāo)準(zhǔn)輸入命令<<分界符從標(biāo)準(zhǔn)輸入中讀入,直到輸入分界符才停止命令<文件1>文件2將文件1作為命令的輸入并將結(jié)果輸出到文件2輸出重定向符號及作用符號作用命令>文件將標(biāo)準(zhǔn)輸出重定向到一個文件中(清空原有文件的數(shù)據(jù))命令2>文件將錯誤輸出重定向到一個文件中(清空原有文件的數(shù)據(jù))命令>>文件將標(biāo)準(zhǔn)輸出重定向到一個文件中(追加到原有內(nèi)容的后面)命令2>>文件將錯誤輸出重定向到一個文件中(追加到原有內(nèi)容的后面)命令>>文件2>&1或命令&>>文件將標(biāo)準(zhǔn)輸出與錯誤輸出共同寫入到文件中(追加到原有內(nèi)容的后面)管道命令20Linux系統(tǒng)中,可以將兩個或多個命令連接到一起,把前一個命令的輸出作為后一個命令的輸入,以這種方式連接的兩個或多個命令形成了管道。管道使用“|”連接多個命令,稱為管理符,語法格式如下:command1|command2command1|command2[|commandN...]使用了管道的命令有如下特點(diǎn):命令的語法緊湊并且使用簡單。通過使用管道,可以將多個命令聯(lián)系在一起完成復(fù)雜任務(wù)。在后臺運(yùn)行程序PART03在后臺運(yùn)行程序22
操作系統(tǒng)中的命令可以在前臺執(zhí)行,也可以在后臺執(zhí)行。當(dāng)在前臺執(zhí)行命令時,shell將一直等到命令執(zhí)行完畢,才會給出提示符讓用戶可以繼續(xù)輸入下一條命令。當(dāng)使用后臺命令時,不必等待該命令完成,用戶可以直接輸入另一個命令。我們前面舉的例子中,所有命令都是在前臺完成的。
作業(yè)(job)是指由一個或者多個命令組成的序列。前臺只能有一個作業(yè)在執(zhí)行,后臺可以有多個作業(yè)同時運(yùn)行。同一時間執(zhí)行多個作業(yè)是操作系統(tǒng)的重要特性,對于運(yùn)行時間較長又不需要監(jiān)視的任務(wù)來,在后臺運(yùn)行是提升系統(tǒng)效率的重要手段。在后臺運(yùn)行程序23在命令行的末尾輸入符號“&”后回車,那么shell將在后臺運(yùn)行這個作業(yè)。同時,shell會給這個作業(yè)分配一個作業(yè)編號,并將其顯示在方括號內(nèi)。在作業(yè)編號之后,shell將顯示進(jìn)程標(biāo)識號(processidentification,PID),該號是由操作系統(tǒng)分配的。然后shell將顯示命令輸入提示符,這時用戶可以輸入命令。當(dāng)作業(yè)運(yùn)行結(jié)束后,shell將顯示一個消息,這個消息的內(nèi)容為:已完成作業(yè)的作業(yè)編號和運(yùn)行該作業(yè)的命令行。Shell腳本編程PART04Shell腳本簡介25Shell除了是命令解釋器之外還是一種編程語言,用Shell編寫的程序類型于DOS下的批處理程序。用戶可以在文件中存放一系列的命令,通常將Shell編寫的程序稱為Shell腳本或Shell程序。
將命令、變量和流程控制有機(jī)地結(jié)合起來將會得到一個功能強(qiáng)大的編程工具。Shell腳本語言非常擅長處理文本類型的數(shù)據(jù),由于Linux系統(tǒng)中的所有配置文件都是純文本的,所以Shell腳本語言在管理Linux系統(tǒng)中發(fā)揮了巨大的作用。Shell腳本簡介26Shell腳本是以行為單位的,在執(zhí)行腳本的時候會將其分解成一行一行依次執(zhí)行。Shell腳本中所包含的成分主要有注釋、命令、Shell變量和結(jié)構(gòu)控制語句。l注釋:用于對腳本進(jìn)行解釋和說明,在注釋行的前面要加上符號#,這樣在執(zhí)行腳本的時候Shell就不會對該行進(jìn)行解釋。l命令:在Shell腳本中可以出現(xiàn)任何在交互方式下能使用的命令。l變量:Shell支持字符串變量和整型變量。l結(jié)構(gòu)控制語句:用于編寫復(fù)雜腳本的流程控制語句。Shell腳本簡介27用戶可以使用任何文本編輯器編輯Shell腳本文件,如nano、vim、gedit等。對Shell腳本文件的調(diào)用可以采用幾種方式。(1)在子Shell中執(zhí)行。當(dāng)執(zhí)行一個腳本文件時,Shell就會產(chǎn)生一個子Shell(即一個子進(jìn)程)去執(zhí)行命令文件中的命令。因此,腳本文件中的變量值不能傳遞到當(dāng)前Shell(即父Shell)。(2)在當(dāng)前Shell中執(zhí)行為了使得腳本文件中的變量值傳遞到當(dāng)前Shell,必須在命令文件名前面加source或“./”命令。source和“.”命令的功能是在當(dāng)前Shell中執(zhí)行腳本文件中的命令,而不是產(chǎn)生一個子Shell來執(zhí)行腳本文件中的命令。即:$sourcescript-file或$./script-fileShell腳本簡介28Shell腳本的編碼規(guī)范一個bash腳本的正確的起始部分應(yīng)該以#!開頭,指明使用何種Shell解析本腳本。#!/bin/bash或#!/usr/bin/envbash良好的Shell編碼規(guī)范還要求以注釋形式說明如下的內(nèi)容。#腳本名稱#腳本功能#作者及聯(lián)系方式#版本更新記錄#版權(quán)說明#對算法做簡要說明(如果是復(fù)雜腳本)Shell變量29變量的類型Shell變量大致可以分為以下3類。l內(nèi)部變量:由系統(tǒng)提供,用戶只能使用不能修改。l環(huán)境變量:這些變量決定了用戶工作的環(huán)境,不需要用戶定義,可以直接在Shell中使用,其中某些變量用戶可以修改。l用戶變量:由用戶建立和修改,也稱用戶自定義變量。在Shell腳本編寫中會經(jīng)常用到。Shell支持具有字符串值的變量。Shell變量不需要專門的定義和初始化語句。一個沒有初始化的Shell變量被認(rèn)定為是空字符。通常通過賦值語句完成變量說明并予以賦值,并且可以給一個變量多次賦值以改變其值。在Shell中,變量的賦值使用如下語法格式:
name=stringShell變量30變量的作用域Shell變量有其規(guī)定的作用范圍。Shell變量分為局部變量和全局變量。所有自定義變量默認(rèn)都是局部變量;環(huán)境變量是全局變量。l局部變量的作用范圍僅限制在其命令行所在的Shell或當(dāng)前Shell腳本執(zhí)行過程中。l全局變量的作用范圍則包括定義該變量的Shell及其所有子Shell。可以使用export內(nèi)置命令將局部變量設(shè)置為全局變量,export的常用格式為://將指定的一個或多個局部變量設(shè)置為全局蠻export<變量名1>[<變量名2>…]//將指定的一個或多個全局變量設(shè)置為局部變量export–n<變量名1>[<變量名2>…]//直接對一個或多個全局變量賦值export<變量名1=值1>[<變量名2=值2>…]Shell變量31環(huán)境變量定義Shell的運(yùn)行環(huán)境,保證Shell命令的正確執(zhí)行。Shell用環(huán)境變量來確定查找路徑、注冊目錄、終端類型、終端名稱、用戶名等。所有環(huán)境變量都是全局變量(即可以傳遞給子Shell),并可以由用戶重新設(shè)置。下表5中列出了一些系統(tǒng)中常用的環(huán)境變量。環(huán)境變量說明環(huán)境變量說明BASHbash的完整路徑名PATHbash尋找可執(zhí)行文件的搜索路徑EDITOR應(yīng)用程序中默認(rèn)使用的編輯器ENVLinux查找配置文件的路徑HISTFILE用于儲存歷史命令的文件PS1命令行的一級提示符HISTSIZE歷史命令列表的大小PS2命令行的二級提示符HOME當(dāng)前用戶的宿主目錄PWD當(dāng)前工作目錄OLDPWD前一個工作目錄IFS用于分割命令行參數(shù)的分隔符USER當(dāng)前用戶名SECONDS當(dāng)前Shell開始后所流逝的秒數(shù)UID當(dāng)前用戶的UIDLANG當(dāng)前用戶的主語言環(huán)境TERM當(dāng)前用戶的終端類型
Shell變量32用戶并不需要每次登錄后都對各種環(huán)境變量進(jìn)行手工設(shè)置,通過環(huán)境設(shè)置文件,用戶的工作環(huán)境的設(shè)置可以在登錄的時候自動由系統(tǒng)來完成。環(huán)境設(shè)置文件有兩種,一種是系統(tǒng)環(huán)境設(shè)置文件,另一種是個人環(huán)境設(shè)置文件。(1)系統(tǒng)中的用戶工作環(huán)境設(shè)置文件(對所有用戶均生效)l登錄環(huán)境設(shè)置文件:/etc/profilel非登錄環(huán)境設(shè)置文件:/etc/bashrc(2)用戶設(shè)置的環(huán)境設(shè)置文件(只對用戶自身生效)l登錄環(huán)境設(shè)置文件:$HOME/.bash_profilel非登錄環(huán)境設(shè)置文件:$HOME/.bashrcShell腳本跟蹤與調(diào)試33使用bash參數(shù)調(diào)試腳本在bash命令行中使用參數(shù),可以在腳本運(yùn)行之前檢查其語法是否正確,也可以在腳本運(yùn)行時跟蹤其運(yùn)行過程。下表中列出了使用bash參數(shù)調(diào)試腳本的命令。命令說明bash–n<script_name>對腳本進(jìn)行語法檢查,通常在執(zhí)行腳本之前先檢查其語法是否正確bash–v<script_name>顯示腳本中每個原始命令行及其執(zhí)行結(jié)果bash–x<script_name>以調(diào)試模式執(zhí)行腳本。對腳本中每條命令的處理過程為:先執(zhí)行替換,然后顯示,再執(zhí)行命令文件測試34在bash的各種流程控制結(jié)構(gòu)中通常要進(jìn)行各種測試,然后再根據(jù)測試結(jié)果執(zhí)行不同的操作。測試語句語法如下:格式1:test<測試表達(dá)式>格式2:[<測試表達(dá)式>]格式3:[[<測試表達(dá)式>]]文件測試操作符操作符說明操作符說明-efile文件是否存在-xfile是否為可執(zhí)行文件-ffile是否為普通文件-Ofile測試者是否為文件的屬主-dfile是否
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版班班通設(shè)備與物聯(lián)網(wǎng)結(jié)合合同2篇
- 二零二五年綠色生態(tài)住宅小區(qū)消防工程設(shè)計與施工合同3篇
- 二零二五版股份制企業(yè)股份自愿轉(zhuǎn)讓與投資者關(guān)系維護(hù)合同3篇
- 二零二五年度監(jiān)理合同延期補(bǔ)充協(xié)議-責(zé)任劃分與風(fēng)險承擔(dān)3篇
- 二零二五版中央空調(diào)清洗保養(yǎng)及能耗管理服務(wù)合同3篇
- 二零二五年度國有資產(chǎn)管理委托服務(wù)合同2篇
- 二零二五版股票質(zhì)押擔(dān)保合同范本編制與解析3篇
- 二零二五年度風(fēng)力發(fā)電項目融資合同2篇
- 二零二五年美發(fā)師國際交流聘用合同2篇
- 二零二五年度酒店地毯翻新與維護(hù)服務(wù)合同范本3篇
- 小學(xué)五年級解方程應(yīng)用題6
- GB/T 25919.1-2010Modbus測試規(guī)范第1部分:Modbus串行鏈路一致性測試規(guī)范
- GB/T 22484-2008城市公共汽電車客運(yùn)服務(wù)
- GB/T 14040-2007預(yù)應(yīng)力混凝土空心板
- 帶狀皰疹護(hù)理查房課件整理
- 奧氏體型不銹鋼-敏化處理
- 交通信號控制系統(tǒng)檢驗批質(zhì)量驗收記錄表
- 弱電施工驗收表模板
- 探究基坑PC工法組合鋼管樁關(guān)鍵施工技術(shù)
- 國名、語言、人民、首都英文-及各地區(qū)國家英文名
- API SPEC 5DP-2020鉆桿規(guī)范
評論
0/150
提交評論