第3部分文件管理與常用命令3_第1頁
第3部分文件管理與常用命令3_第2頁
第3部分文件管理與常用命令3_第3頁
第3部分文件管理與常用命令3_第4頁
第3部分文件管理與常用命令3_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

*1chmod命令

【功能】修改文件或目錄的存取權(quán)限。

【格式】chmod[選項(xiàng)][數(shù)字權(quán)限模式]文件…

chmod[選項(xiàng)][字符權(quán)限模式表達(dá)式]…文件…

【選項(xiàng)】

-R 遞歸地改變指定目錄及其下的文件和子目錄的

權(quán)限屬性。4.改變文件屬性

用戶可以用命令修改已有文件的訪問權(quán)限等屬性,達(dá)到控制文件的使用的目的。改變文件的訪問權(quán)限用chmod(changemode)命令,改變文件的時(shí)間標(biāo)簽用touch命令。*2$ls-lhello

$chmoda+xhello#修改

hello

的權(quán)限,為所有人增加執(zhí)行權(quán)

$ls-lhello

$chmodo-xhello

#修改hello的權(quán)限,取消其他用戶的執(zhí)行權(quán)

$ls-lhello

例3.23

用chmod命令修改文件的存取權(quán)限:*3$chmodg=rx,o=xhello

#設(shè)hello權(quán)限為組用戶可讀和執(zhí)行,其他人可執(zhí)行,屬主權(quán)限不變

$ls-lhello

$chmod664hello #設(shè)hello的權(quán)限為664

$ls-lhello

*4$chmodgo=hello #取消組用戶和其他用戶對(duì)hello的任何權(quán)限

$ls-lhello

chmod命令的模式表達(dá)式中沒有權(quán)限字符,

表示組用戶(g)和其他用戶(o)沒有任何權(quán)限,屬主(u)的權(quán)限不變。*5touch命令

【功能】創(chuàng)建空文件(用文本編輯器(vi)或cat命令同樣可以創(chuàng)建新文件)以及更改文件或目錄的時(shí)間

【格式】touch[選項(xiàng)]文件…

【選項(xiàng)】

-a 僅改變文件的訪問時(shí)間。

-m 僅改變文件的修改時(shí)間。

-c 文件不存在時(shí),不創(chuàng)建文件。

-tSTAMP

使用STAMP指定的時(shí)間標(biāo)簽,而不是系統(tǒng)現(xiàn)在時(shí)間。*6將看到abc是一個(gè)空文件。$date

$ls-lcab #顯示文件的修改時(shí)間

$ls-luab#顯示文件的訪問時(shí)間$touch abc #“觸動(dòng)”(新建)一個(gè)新文件

$ls-labc

例3.24

用touch命令修改文件的時(shí)間戳:

$ls-lab

$touch

ab #“觸動(dòng)”一個(gè)已有文件*75.設(shè)置文件掩碼

用戶可以用umask命令查看和設(shè)置文件創(chuàng)建掩碼。

umask命令

【功能】設(shè)置、顯示文件創(chuàng)建時(shí)的權(quán)限掩碼。

【格式】umask[選項(xiàng)][掩碼]

【選項(xiàng)】

-S 以字符形式顯示掩碼對(duì)應(yīng)的權(quán)限。

【說明】若指定了掩碼,則將該掩碼作為新建文件的權(quán)限掩碼。若未指定掩碼,則顯示現(xiàn)在的權(quán)限掩碼。*8

例3.25

umask命令的用法示例:

$umask #顯示當(dāng)前掩碼

$umask-S007 #重新設(shè)置掩碼為007,用字符方式顯示

*96.有關(guān)磁盤空間的命令*10mount命令

不同的操作系統(tǒng)使用不同的文件系統(tǒng)格式。Linux支持幾乎所有的文件系統(tǒng)格式,但一般使用ext2或ext3文件系統(tǒng)。很多用戶使用的是windows操作系統(tǒng),若在運(yùn)行的Linux下訪問其它文件系統(tǒng)中的資源,就要用mount命令來實(shí)現(xiàn)。使用mount命令前,需要Linux支持這個(gè)文件系統(tǒng)。除了掛上分區(qū)以外,這個(gè)命令還可以掛上NFS的文件系統(tǒng),也就是通過網(wǎng)絡(luò)把別人的一個(gè)硬盤當(dāng)成自己的來使用。另外在使用u盤和光盤之前,也要先掛載,因?yàn)長inux的設(shè)備操作都是面向root用戶的,所以mount命令必須由root用戶執(zhí)行。*11【格式】

mount[-參數(shù)][設(shè)備名稱][掛載點(diǎn)]

【選項(xiàng)】

-a安裝在/etc/fstab文件中列出的所有文件系統(tǒng)

-f偽裝mount,檢查設(shè)備和目錄,但并不真正掛載文件系統(tǒng)

-n不把安裝記錄在/etc/mtab文件中

-r將文件系統(tǒng)安裝為只讀

-v詳細(xì)顯示安裝信息

-w將文件系統(tǒng)安裝為可寫,為命令默認(rèn)情況。

*12-t<文件系統(tǒng)類型>指定設(shè)備的文件系統(tǒng)類型,常見的有:

ext2

linux目前常用的文件系統(tǒng)

msdos

MS-DOS的fat,就是fat16

vfat

windows98常用的fat32

nfs

網(wǎng)絡(luò)文件系統(tǒng)

iso9660

CD-ROM光盤標(biāo)準(zhǔn)文件系統(tǒng)

ntfs

windowsNT/2000/XP的文件系統(tǒng)

auto自動(dòng)檢測文件系統(tǒng)*13例3.27

掛載windows下文件系統(tǒng)為FAT32的D盤(以hda5

為例)

一般的,在Linux下這個(gè)分區(qū)對(duì)應(yīng)/dev/hda5,根據(jù)具體的分區(qū)情況會(huì)有不同。這樣就可以進(jìn)入/mnt/hda5目錄去訪問分區(qū)中的資源了。$mkdir/mnt/hda5

//創(chuàng)建hda5的目錄作為掛載點(diǎn),位置和目錄名可自定義//

$mount[-tvfat]/dev/hda5/mnt/hda5

Linux一般會(huì)自動(dòng)探測分區(qū)的文件系統(tǒng),-tvfat一般可以省掉。*14需要注意的是,掛載點(diǎn)必須是一個(gè)已經(jīng)存在的目錄,這個(gè)目錄可以不為空,但掛載后這個(gè)目錄下以前的內(nèi)容將不可用,umount以后會(huì)恢復(fù)正常。例3.28

在目錄/cdrom下,掛上光盤機(jī)所支持的iso9660文件系統(tǒng)。mount–tiso9660/dev/hdb/cdrom*15umount命令

umount命令的功能是卸下已掛上的文件系統(tǒng),在關(guān)閉系統(tǒng)前應(yīng)把所有掛載上的文件系統(tǒng)卸載。與mount相對(duì)。如/dev/hda5已經(jīng)掛載在/mnt/hda5上,用以下三條命令均可卸載掛載的文件系統(tǒng)

$umount/dev/hda5

$umount/mnt/hda5

$

umount/dev/hda5/mnt/hda5*16

為了解決從終端輸入資料時(shí),用戶輸入的資料只能使用一次,輸出到終端屏幕上的信息只能看不能動(dòng),無法對(duì)此輸出做更多處理,Linux系統(tǒng)為輸入、輸出的傳送引入了另外兩種機(jī)制,即輸入/輸出重定向和管道。3.4輸入/輸出重定向*173.4.1命令的輸入與輸出

Linux系統(tǒng)定義了三個(gè)標(biāo)準(zhǔn)I/O文件,即標(biāo)準(zhǔn)輸入文件stdin、標(biāo)準(zhǔn)輸出文件stdout和標(biāo)準(zhǔn)錯(cuò)誤輸出文件stderr。

在默認(rèn)的情況下,stdin對(duì)應(yīng)終端的鍵盤,stdout對(duì)應(yīng)終端的屏幕,stderr也對(duì)應(yīng)終端的屏幕。

典型的命令和應(yīng)用程序都設(shè)計(jì)為使用標(biāo)準(zhǔn)I/O設(shè)備進(jìn)行輸入和輸出。它們從stdin接收輸入數(shù)據(jù)(如C函數(shù)scanf和getchar等都是讀stdin的函數(shù)),將正常的輸出數(shù)據(jù)寫入stdout(如C函數(shù)printf和putchar等都是寫stdout的函數(shù)),將錯(cuò)誤信息寫入stderr(如C函數(shù)fprintf(stderr,…)是寫stderr的函數(shù))。*18

在命令開始運(yùn)行時(shí),Shell會(huì)自動(dòng)為它打開這3個(gè)標(biāo)準(zhǔn)I/O文件,并建立起文件與終端設(shè)備的連接。這樣,當(dāng)命令讀stdin文件時(shí),就是在讀取鍵盤輸入;當(dāng)寫stdout或stderr文件時(shí),就是在往屏幕上輸出。圖3-2描述了這種默認(rèn)的標(biāo)準(zhǔn)輸入/輸出數(shù)據(jù)的走向。圖3-2標(biāo)準(zhǔn)輸入/輸出示意圖*19圖3-3標(biāo)準(zhǔn)輸入重定向示意圖3.4.2輸入重定向輸入重定向是指把命令的標(biāo)準(zhǔn)輸入改變?yōu)橹付ǖ奈募?包括設(shè)備文件),輸入可以不來自鍵盤,而來自一個(gè)指定的文件。如圖3-3所示。輸入重定向主要用于改變那些需要大量標(biāo)準(zhǔn)輸入的命令的輸入源。*20輸入重定向的格式為:命令<文件

當(dāng)提交這樣的一個(gè)命令行時(shí),Shell首先斷開鍵盤與命令的stdin之間的關(guān)聯(lián),將指定的文件關(guān)聯(lián)到stdin,然后運(yùn)行命令。這樣,該命令就會(huì)從這個(gè)文件中讀取標(biāo)準(zhǔn)輸入信息。例3.24

輸入重定向的應(yīng)用:

$catfile1

$

cat<file1

*21很多情況下都可以使用輸出重定向功能。

輸出重定向的一般形式為:

標(biāo)準(zhǔn)輸出重定向: 命令>文件

標(biāo)準(zhǔn)錯(cuò)誤輸出重定向:命令2>文件

合并輸出重定向: 命令&>文件

附加輸出重定向: 命令>>文件3.4.3輸出重定向

輸出重定向是指把命令的標(biāo)準(zhǔn)輸出或標(biāo)準(zhǔn)錯(cuò)誤輸出重新定向到指定文件中。這樣該命令的輸出就不顯示在屏幕上,而是寫入到文件中。*22

1.標(biāo)準(zhǔn)輸出重定向

標(biāo)準(zhǔn)輸出重定向就是將命令的標(biāo)準(zhǔn)輸出保存到一個(gè)文件中,如圖3-4所示。

標(biāo)準(zhǔn)輸出重定向格式為:命令>文件圖3-4標(biāo)準(zhǔn)輸出重定向示意圖

*23當(dāng)提交這樣的一個(gè)命令行時(shí),Shell首先斷開命令的標(biāo)準(zhǔn)輸出stdout與屏幕之間的關(guān)聯(lián),找到指定的文件(若該文件不存在就新建一個(gè)),然后將這個(gè)文件關(guān)聯(lián)到命令的標(biāo)準(zhǔn)輸出上。隨后Shell啟動(dòng)該命令運(yùn)行。這樣,該命令產(chǎn)生的所有標(biāo)準(zhǔn)輸出信息都將寫入這個(gè)文件中,而不是顯示在屏幕上。*24

例3.25輸出重定向的應(yīng)用:

$ls

data.chello.chello.omakefile

$ls>filelist

$ls

data.cfilelisthello.chello.omakefile

$catfilelist

data.c

filelist

hello.c

hello.o

makefile

$*252.附加輸出重定向

附加輸出重定向就是將標(biāo)準(zhǔn)輸出附加在一個(gè)文件的后面。

附加輸出重定向的格式為:命令>>文件

附加輸出重定向與標(biāo)準(zhǔn)輸出重定向相似,只是當(dāng)指定的文件存在時(shí),標(biāo)準(zhǔn)輸出重定向的做法是先將文件清空,再將命令的輸出信息寫入,而附加輸出重定向則保留文件內(nèi)原有的內(nèi)容,將命令的輸出附加在后面。*26例3.26

附加輸出重定向的應(yīng)用:

$echo-n“Todayis”>diary

$catdiary

Todayis

$date>>diary

$echo“End.”>>diary

$catdiary

TodayisThuMay2020:31:10CST2008

End.

$

*273.標(biāo)準(zhǔn)錯(cuò)誤輸出重定向

標(biāo)準(zhǔn)錯(cuò)誤輸出重定向就是將命令的標(biāo)準(zhǔn)錯(cuò)誤輸出保存到一個(gè)文件中,如圖3-5所示。

標(biāo)準(zhǔn)錯(cuò)誤輸出重定向的格式為:命令2>文件

圖3?5標(biāo)準(zhǔn)錯(cuò)誤輸出重定向示意圖*28例3.27

錯(cuò)誤輸出重定向的應(yīng)用:

$ls-l

$wc*

$wc*2>wcerr

$catwcerr

*294.合并輸出重定向

合并輸出重定向就是將標(biāo)準(zhǔn)輸出與標(biāo)準(zhǔn)錯(cuò)誤輸出一起寫入一個(gè)文件中,如圖3-6所示。圖3-6合并輸出重定向示意圖*30

合并輸出重定向的格式為:命令&>文件

例3.28

合并輸出重定向的應(yīng)用:

$ls-l

$wc*&>wcout

$catwcout

$

*315.輸出重定向的應(yīng)用

輸出重定向是很常用的一種命令行操作,使用輸出重定向可以改變一個(gè)命令的執(zhí)行效果,從而實(shí)現(xiàn)不同的功能。以下是幾種輸出重定向的典型用法:(1)合并文件,并加行號(hào):

$cat-nfile1file2>file3

用cat命令和輸出重定向可以方便地實(shí)現(xiàn)多個(gè)文件合并。此例中,cat的輸出是加了行號(hào)的file1和file2的內(nèi)容,重定向后,它們被寫入file3中。*32用cat和輸出重定向可以方便地建立一個(gè)小文件。此例中,Shell首先建立文件file(若它不存在的話),然后運(yùn)行cat。cat從標(biāo)準(zhǔn)輸入讀入文本,寫入文件file中。(ctrl+c保存)

(2)快速建立文件:

$cat>file(3)向文件中添加(追加)內(nèi)容:

$echo“endoffile”>>file

這是向文件中添加文本行的簡單方法。這里echo命令向file文件末尾追加一行文字。若要添加多行,可以用cat>>file命令。*33(4)$

catfile1>file2可以把file1復(fù)制為file2(與cpfile1file2等價(jià))(5)丟棄輸出信息:

$make>/dev/null本例是將命令make的輸出重定向到/dev/null。

注:/dev/null是個(gè)特殊的設(shè)備文件,稱為“空設(shè)備”,寫入這個(gè)設(shè)備中的數(shù)據(jù)如同進(jìn)入黑洞一樣消失。這條命令執(zhí)行時(shí),make過程產(chǎn)生的冗長的正常輸出信息被丟棄,屏幕上將只顯示錯(cuò)誤信息。*343.4.4管道

管道(pipe)的功能是將一個(gè)程序或命令的輸出作為另一個(gè)程序或命令的輸入。利用管道可以把一系列命令連接起來,形成一個(gè)管道線(pipeline),如圖3?7所示。管道線中前一個(gè)命令的輸出會(huì)傳遞給后一個(gè)命令,作為它的輸入。最終顯示在屏幕上的內(nèi)容是管道線中最后一個(gè)命令的輸出。

管道的形式為:命令1|命令2

命令1|tee文件|命令2*35(a)管道線“命令1|命令2”

(b)T形管道線“命令1|tee文件|命令2”圖3?7管道線示意圖*361.瀏覽命令的輸出

若一個(gè)命令的輸出很多,要想有控制地觀看輸出結(jié)果,通常的做法是用more或less來瀏覽輸出的內(nèi)容。

例3.28瀏覽命令的輸出:

$ls/bin|more

#翻屏查看文件列表

$who|more

#翻屏查看登錄用戶列表

$find-typed|more

#翻屏查看查找的結(jié)果

*372.對(duì)命令的輸出進(jìn)行搜索和統(tǒng)計(jì)

有時(shí),一個(gè)命令的輸出可能會(huì)很多。例如,在登錄的用戶很多的情況下,who命令的輸出就會(huì)很長。將一個(gè)命令與grep命令結(jié)合就可以對(duì)該命令的輸出進(jìn)行搜索過濾,只顯示所關(guān)心的信息,如某用戶是否登錄;將一個(gè)命令與wc命令結(jié)合就可以對(duì)該命令的輸出進(jìn)行統(tǒng)計(jì)。*38例3.29

搜索命令的輸出:

$who

root tty1 May2511:39

zhao tty2 May2509:12

cherry :0 May2508:45

cherry pts/0 May2508:45(:0.0)

$who|greproot #看看root是否登錄

root tty1 May2511:39

$

*39例3.30統(tǒng)計(jì)命令的輸出:

$ls

bin memo mypaper poem project test

$ls|wc-l

#顯示當(dāng)前目錄下文件(包括目錄)的個(gè)數(shù)

6

$catpoem

Greatfleashavelittlefleas,

upontheirbackstobite’em,

Andlittle

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論