目前分類:Linux 教學 (98)

瀏覽方式: 標題列表 簡短摘要

按此前往linux完整教學目錄

 

 

介紹:

所謂「例行性工作」,是指讓系統在指定時間自動執行的工作。依其性質分為「一次性工作」與「循環性工作」。顧名思義,一次性工作於指定時間執行之後便不會再執行,而循環性工程會因指定的時間間隔或是時間點來重複執行。

Linux中,系統本就有內建一些例行性工作,例如登錄檔的分析、暫存檔的管理、系統資料庫的更新等等。尤其若有在系統中架設伺服器,那麼例行的連線管理與分析更是不可或缺的。

 

  • 一次性工作

欲設定一次性工作,必須先開啟atd這個daemon(關於daemon,請看其他章節)。有些系統預設開啟atd,有些則預設不開啟。要手動開啟atd,即是輸入命令:

/etc/init.d/atd restart

即可開啟atd。但即使是這樣,在登出後仍會將atd關閉。要使系統在每次登入時都自動開啟atd,可輸入命令:chkconfig atd on

1. 利用at命令,來管理一次性工作:

(1) at -l:以清單的方式,列出目前所有尚未執行的一次性工作(命令:atq,也可以達到同樣的效果)。使用者只能看到自己安排的一次性工作,不過若是root,可以看到所有使用者安排的一次性工作。顯示的格式為:

工作編號   工作預定執行的時間   a 執行工作的使用者名稱

其中,工作編號是一個正整數,每一個工作都有屬於自己的工作編號

(2) at -c 工作編號:顯示擁有該工作編號之工作的「詳細資訊」,包括欲執行此工作者的UIDGID,以及該工作實際上的命令內容等。

(3) at 選項 時間:建立一次性工作的排程,即是在指定的時間到達時,執行指定的工作。

此命令在輸入之後,會產生子程序並出現指令輸入列,在指令輸入列輸入的指令,也就是一次性工作實際上的「工作內容」。若要終止輸入,可按<ctrl>+<d>。(用ubuntu測試時,一次性工作被建立後,會被放置在/var/spool/cron/atjobs目錄中。)

若「工作內容」在執行時,有產生標準輸出或標準錯誤輸出,並不會在螢幕上顯示出來(為了怕打擾到使用者),而是會用寄信的方式把輸出給寄到使用者的信箱。

選項,可以不寫,也可以是-m。如果寫了-m,那麼就算工作內容中沒有標準輸出,系統也會寄信給使用者,告知使用者工作完成。

時間的寫法可以是:

(-1) HH:MM:表示在當天的HH時、MM分時,執行工作。其中,HH的值從00~23MM的值從00~59

(-2) HH:MM yyyy-mm-dd:表示在西元yyyymmdd日的HH時、MM分時,執行工作。其中,mm的值從01~12dd的值從00~31

(-3) now+ N單位單位可以是minutes()hours()days()N則是正整數。表示在輸入at 選項 時間的當下過了N單位時間之後再執行命令,如:

at now+5minutes 表示在輸入此指令的當下過了五分鐘之後再執行命令。要注意,這個now,是代表at 選項 時間 這一行指令輸入的時間,卻不是「工作內容」輸入後、按下<ctrl>+<d>的時間。如果在輸入工作內容時,超過了指定的時間,那麼在按下<ctrl>+<d>時工作內容就會自動執行完成。

還要注意的是,時間的指定,其最小單位是「分鐘」,也就是說,秒數會被忽略。若用at now+NminutesN是正整數)這種方法來指定時間,不會真正等到N分後才執行工作。例如,假設now代表的時間是133322秒,而at now+Nminutes指定的時間就會是1333+N00秒!秒數被忽略了!

要注意,不管在指定執行時間到達時使用者位在哪個目錄,執行「工作內容」,都是在輸入at 選項 時間這個指令時的目錄下執行。

(4) at -d 工作編號:取消擁有該工作編號之工作,令其不要執行。命令:atrm 工作編號,也可以達到同樣的效果。

(5)系統對於at的使用有加以限制。有些使用者被允許利用at來管理一次性工作,而有些使用者可能因為某些行為表現不佳,而被禁用at。身為root可以用「白名單法」或「黑名單法」來賦予使用者使用at的權限。

(5-1) 白名單法:在/etc/at.allow這個檔案下,輸入使用者帳號。只有這些使用者能使用at命令。

(5-2) 黑名單法:在/etc/at.deny這個檔案下,輸入使用者帳號。只有這些使用者不能使用at命令。

通常,這兩個方法不會同時使用。比較常見的是只用黑名單法,也就是只使用/etc/at.deny這個檔案。

 

2. batch指令安排一次性工作:

batch 選項 時間

其中,選項時間的寫法與1.(3) at 選項 時間相同。這個指令也是在安排一次性工作,不過是在系統的CPU負載小於一定數值時才會執行工作內容(這個數值通常是0.8)。以免系統過分忙碌造成錯誤。

利用batch指令安排的工作,同樣可用at指令來檢視與管理。

 

 

上一篇:linux 備份指令

下一篇:linux 循環性工作

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

與備份有關的指令:

(1) dumprestore指令:

(1-1) 建立備份檔:

dump 選項 -f 備份檔名 檔案系統路徑掛載點

可以將該檔案系統路徑掛載點上的檔案系統,都打包裝入該備份檔之中。「檔案系統」,事實上就是一個磁碟分割槽。dump指令可以將整個分割槽內的檔案進行備份。而此指令可以應用在完全備份、差異備份、增量備份上。

其中,常用的選項有:

-S:僅顯示出製作此一備份檔需要用到多少磁碟容量(單位為bytes),而不進行備份。

-u:將這次的備份行動,記錄到/etc/dumpdates檔案中。要注意,ubuntu系統是記錄到/var/lib/dumpdates檔案中。建議此選項務必要使用。

-v:顯示出製作備份檔的過程。

-j:製作出備份檔後,將備份檔以bizp2來進行壓縮。若要這樣做,建議在副檔名加上bz2以做辨別。

-NN是正整數,其值為0~9。其意思是「差異等級」。意義如下:

差異等級:

意義:

0

表示要進行的備份是完全備份,備份出來的檔案稱為「0級備份檔」。

1

表示要進行的備份,是與0級備份檔的差異備份。備份出來的檔案稱為「1級備份檔」。

2

表示要進行的備份,是與1級備份檔的差異備份。備份出來的檔案稱為「2級備份檔」。

以此類推:

m(1<=m<=9)

表示要進行的備份,是與m-1級備份檔的差異備份。備份出來的檔案稱為「m級備份檔」。

這就表示,若要進行的是完全備份,則N要是0

若要進行差異備份,由於第一次差異備份檔是完全備份,故第一次備份時N0,往後每一次備份,N都為1

若要進行增量備份,由於第一次差異備份檔是完全備份,故第一次備份時N0,往後的第m次備份(1<=m<=9)N都為m。若要進行十次以上備份,則就比較麻煩了。

※ 註一(重要!):系統會自動分辨一備份檔是幾級的備份檔,但人是分辨不出來的。故建議,在建立一個m級備份檔的時候,最好將這個備份檔的副檔名寫為m。如某個第0級備份檔名為backup_diskA.0,那麼第1級備份檔之名稱可以寫成backup_diskA.1,以助人眼分辨。

※ 註二(重要!):系統要製作一個m級備份檔,有先決條件:

(※-1)第m-1級備份檔必須存在。

(※-2)備份第m-1級備份檔的行動必須被記錄在/etc/dumpdates/var/lib/dumpdates檔案中。故建議在使用dump指令時,務必要加上-u選項。

dump指令使用的範例如:dump -uv -0 ~/bak/backup_XXX.0 /dev/sda2

(1-2) 查看某個備份檔:

restore -f 備份檔名 -t

可以顯示該備份檔的備份日期、差異等級、掛載點、內容檔案、inode…等相關資訊。

(1-3) 比對一個備份檔與其掛載點兩者的差異:

restore -f 備份檔名 -C

可以顯示出該備份檔與其掛載點兩者「有哪幾個檔案是不同的」。

(1-4) 還原備份檔:

(1-4-1) 完全還原

restore -f 備份檔名 –r

(1-4-2) 選擇性還原:

restore -f 備份檔名 -i

輸入之後會進入一個「互動模式」,來讓使用者選擇要還原那些檔案。進入互動模式後輸入help,會顯示出所有在互動模式中可使用的指令。這些指令不在此詳述。

註一(重要!):無論是哪種還原,都是將備份檔還原至「當前目錄」。若是要還原至掛載點,必須先進入掛載點目錄,使當前目錄成為掛載點目錄才行。

※ 註二:若要還原一個m級備份檔,其步驟應為「逐級還原」:先還原0級備份檔、再還原1級備份檔再還原m-1級備份檔、再還原m級備份檔。

(2) dd指令:

此指令可以直接讀取磁區,來備份系統裝置內的檔案。僅在此介紹此指令的另一個功用:建立大型空白檔案。語法如下:

dd if=/dev/zero of=檔案名稱 bs=N1單位 count=N2

其中,N1N2是正整數,單位可為K(代表Kbyte)M(代表Mbyte),若不寫,則代表byte。建立後的檔案,名為檔案名稱,其大小為N1*N2(單位為單位)

 

 

上一篇:linux-檔案備份

下一篇:linux-例行性工作

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

1. 說明:

由於主機在運作時,一些重要的檔案資料可能會不停的更新,故備份是有週期性的:如某些檔案一個月就要備份一次、某些檔案一星期備份一次等等(也可以藉由例行工作來進行自動備份)。在進行備份時,需要考量到的通常是備份檔的容量大小、備份週期、還原備份檔所花的時間等。通常,備份的方式分為完全備份、差異備份、增量備份三種:

(1) 完全備份(total backup):依照備份週期,每次備份都將系統中全部要備份的檔案給備份下來。好處是,在還原時的步驟簡單,就只挑某個時間點的備份檔直接還原就可以;壞處是備份檔所佔的容量很大。

(2) 差異備份(differential backup):依照備份週期,第一次的備份是完全備份,而以後的每一次備份則僅備份「和第一次備份檔有差異的檔案」(在進行完第一次備份之後,有修改過的檔案)。但還原時的步驟較麻煩,例如要還原「第三次備份時,那時的系統」,其步驟是:

還原第一次備份檔à還原第三次備份檔

(3) 增量備份(incremental backup):依照備份週期,第一次的備份是完全備份,而以後的每個第N次備份則僅備份「和第N-1次備份檔有差異的檔案」(在進行完第N-1次備份之後,有修改過的檔案)。好處是,節省備份檔的容量;壞處是,還原時的步驟最麻煩。例如要還原「第三次備份時,那時的系統」,其步驟是:

還原第一次備份檔à還原第二次備份檔à還原第三次備份檔

 

2. 備份裝置:

備份檔在日積月累之下,其容量會越來越大,最好勿將備份檔存放在主機中,以免佔容量,又以免主機因意外毀損後無法找回備份檔復原。故備份檔通常都是放在非系統硬碟的裝置上。常見的備份裝置有:磁帶、光碟、隨身碟、抽取式硬碟、外接式硬碟等等。亦可採用遠端備份:利用網路定期將系統檔傳送到另一主機上保管(畢竟兩台主機同時毀損的機率是較低的)。

 

3. 備份對象:

通常,比較重要的、且需要備份的檔案,應屬:家目錄下的檔案、某些安裝後的軟體的設定檔、登錄檔、以及某些系統設定檔等等,事實上,也因個人需求所不同。不過一般來說,那些「Linux系統在安裝後內建的系統檔」是不必要備份的(畢竟這些資料在安裝片裡就已經有了)。

 

 

上一篇:linux tar指令

下一篇:linux 備份指令

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

tar指令的用法:

gzipbzip2一次只能處理單一個檔案的壓縮與解壓縮,而tar指令可以處理多個檔案(包括目錄)的壓縮與解壓縮,不過其用法複雜。常見的用法為:

(1) 將檔案打包後壓縮:

tar -c 壓縮方式 選項 -f 打包檔名 徑物一 徑物二 徑物三

可將徑物一徑物二徑物三等一堆徑物給打包,成為一個新的打包檔(其名稱會是打包檔名)。而徑物一徑物二徑物三等一堆徑物在指令執行過後不會消失。

(1-1) 其中,壓縮方式有:

-z:表示在建立打包檔後,還要用gzip將打包檔給進行壓縮。此時建議將打包檔名的副檔名寫為tar.gz以做分別。

-j:表示在建立打包檔後,還要用bzip2將打包檔給進行壓縮。此時建議將打包檔名的副檔名寫為tar.bz2以做分別。

※ 無:表示在建立打包檔後,不進行任何壓縮。此時建議將打包檔名的副檔名寫為tar以做分別。

(1-2) 其中,選項有:

-v:可寫可不寫。若有寫,會顯示出打包檔的內容。

-p:表示檔案在打包之後,會保留原本的權限及屬性。

-P:表示檔案在打包之後,其絕對路徑被保留下來。也就是說,解打包時檔案會被放在其絕對路徑底下。若操作不慎,可能會覆蓋掉原有資料,故不建議使用

範例如:tar -c -z -f pack.tar.gz file1 file2 dir1

(2) 查看某個打包檔的內容:

tar -t 壓縮方式 選項 -f 打包檔名 徑物名一 徑物名二 徑物名三

僅僅查看名為打包檔名的打包檔其內容有什麼,然後顯示在螢幕上。

(2-1) 其中,徑物名一 徑物名二 徑物名三可寫可不寫。若有寫,則這些徑物必須存在於打包檔中,指令執行後只顯示打包檔內該徑物的資訊。若不寫,就顯示打包檔內全部徑物的資訊。

(2-2) 其中,壓縮方式有:

-z:表示要查看的打包檔,有用gzip壓縮過。通常這種打包檔,其副檔名會是tar.gz

-j:表示要查看的打包檔,有用bzip2壓縮過。通常這種打包檔,其副檔名會是tar.bz2

※ 無:表示要查看的打包檔,沒有經過任何壓縮。通常這種打包檔,其副檔名會是tar

(2-3) 其中,選項有:

-v:可寫可不寫。若有寫,會顯示出打包檔之內容檔案的詳細資訊。

範例如:tar -tv -z -f pack.tar.gz

(3) 將某個打包檔給拆包(就是「解掉打包」的意思)

tar -x 壓縮方式 選項 -f 打包檔名 徑物名一 徑物名二 徑物名三

可將名為打包檔名的打包檔給拆包,而打包檔並不會消失。

(3-1) 其中,徑物名一 徑物名二 徑物名三可寫可不寫。若有寫,則這些徑物必須存在於打包檔中,指令執行後只將這些徑物給拆包。若不寫,就拆包打包檔內全部徑物。

(3-2) 其中,壓縮方式有:

-z:表示要拆包的打包檔,有用gzip壓縮過。通常這種打包檔,其副檔名會是tar.gz

-j:表示要拆包的打包檔,有用bzip2壓縮過。通常這種打包檔,其副檔名會是tar.bz2

※ 無:表示要拆包的打包檔,沒有經過任何壓縮。通常這種打包檔,其副檔名會是tar

(3-3) 其中,選項有:

-v:可寫可不寫。若有寫,會顯示出打包檔的內容。

-C 目錄名:可寫可不寫。若有寫,會將拆包後的所有檔案放置在該目錄底下。注意,該目錄必須在拆包前就存在。

範例如:tar -x -z -C dir_pack -f pack.tar.gz

 

 

上一篇:linux bzip2指令

下一篇:linux 檔案備份

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

bzip2指令的用法:

(1) bzip2 選項 檔案名

可以對該檔案進行壓縮的操作,預設會產生一個名為 檔案名.bz2的壓縮檔(原始檔案會消失)

其中,常用的選項中,-c-v-N的用法與gzip相同。其他的選項有:

-k在壓縮完畢後,既會產生一個名為 檔案名.bz2的壓縮檔,而原始檔案也不會消失。

※ 無選項:直接壓縮。

(2) bzip2 -d 壓縮檔名.副檔名

可將副檔名bzbz2…等的檔案給解壓縮。解壓過後,原先的壓縮檔會消失不見,並產生原始檔案。

(3) bzcat壓縮檔名.副檔名

可將副檔名bzbz2…等的檔案,其解壓縮後的內容以標準輸出顯示在螢幕上。而原先的壓縮檔並不會消失不見,也不產生原始檔案。#linux
#教學

 

 

上一篇:linux gzip 指令

下一篇:linux tar指令

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

gzip指令的用法:

(1) gzip 選項 檔案名

可以對該檔案進行壓縮的操作,預設會產生一個名為 檔案名.gz的壓縮檔(原始檔案會消失)

其中,常用的選項有:

-c:將壓縮後的內容以標準輸出顯示在螢幕上,而不產生壓縮檔(原始檔案也不會消失)。通常會顯示出亂碼。

-v:壓縮完後,顯示出此次壓縮的比例(原始檔案與壓縮檔的容量之比例)

-NN是正整數,其值的範圍為19。此數字越大,代表要執行的壓縮品質越高(但壓縮速度越慢)

※ 無選項:直接壓縮。

(2) gzip -d 壓縮檔名.副檔名

可將副檔名Zgzzip…等的檔案給解壓縮。解壓過後,原先的壓縮檔會消失不見,並產生原始檔案。

(3) zcat壓縮檔名.副檔名

可將副檔名Zgzzip…等的檔案,其解壓縮後的內容以標準輸出顯示在螢幕上。而原先的壓縮檔並不會消失不見,也不產生原始檔案。

 

 

上一篇:linux 壓縮與打包

下一篇:linux bzip2指令

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

「壓縮」與「打包」:

所謂的「將檔案壓縮」,是指利用某些演算法來減少檔案的容量,以便於傳輸。而所謂的「打包」,是將一堆檔案和目錄裝進一個較大的檔案,並沒有減少任何檔案或目錄的容量。

Linux中,常見的壓縮、打包指令有:

(1) compress:這是較早期所使用的壓縮指令,現今已不太實用(故不介紹)。利用compress指令壓縮後的檔案,其副檔名為Z

(2) gzip:比compress更先進的壓縮指令,實用度高。利用gzip指令壓縮後的檔案,其副檔名為gz

(3) bzip2:比gzip更先進的壓縮指令。利用bzip2指令壓縮後的檔案,其副檔名為bz2

(4) tar:這是打包用的指令。利用tar指令打包後的檔案,其副檔名為tartar指令也支持在打包時,同時用gzipbzip2來壓縮。利用tar打包、並且利用gzip壓縮的檔案,其副檔名為tar.gz。利用tar打包、並且利用bzip2壓縮的檔案,其副檔名為tar.bz2

※ 註:只經過打包但未經壓縮的打包檔(即副檔名為tar的檔案),被稱為「tarfile」;而在打包之後亦經過壓縮的打包檔(即副檔名為tar.gztar.bz2的檔案),被稱為「tarball」。

 

 

上一篇:linux acl權限

下一篇:linux gzip 指令

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

ACL權限的設定:

一個使用者對一個徑物而言,擁有下列三種身分的其中一種:即「擁有者」、「群組」、「外人」。上述的權限設定,就是為了這三種身分來設定的。而Linux還有更細部的權限設定,可以將某使用者設定為徑物的「特定人士」、或是將某群組設定為徑物的「特定群組」,其對此徑物擁有的權限也可以獨立於前述的三種身分,另設一個「特定人士權限」或「特定群組權限」。這個機制稱為「ACL(access control list)機制」。因此,這個特定權限也被稱為「ACL權限」。通常只有root與徑物的擁有者可以設定徑物的ACL權限。

※註:並不是所有的Linux版本都預設開啟或支援ACL。若沒有支援ACL,在使用以下說明的指令時,可能會出現類似這樣的字眼:

Operation not supported

這時,可開啟/etc/fstab檔案,在檔案最下方加上一行:

LABEL=/1    /    ext3    defaults,acl    1 1

再重新開機,通常就沒問題了。

(1) 設定一個徑物的ACL權限,語法有:

(1-1) setfacl 選項 -m ACL表達式 徑物:可依照ACL表達式去設定徑物ACL權限。

※ 其中,ACL表達式的寫法有:

u:使用者:rwx:表示將該徑物的ACL權限設定為「對使用者來說具有rwx中所提到的權限」。若使用者為空白,表示此權限是擁有者而設。

g:群組:rwx:表示將該徑物的ACL權限設定為「對群組來說具有rwx中所提到的權限」。若群組為空白,表示此權限是針對其所屬群組而設。

m:rwx:表示設定ACL權限的遮罩(mask)。任何所設定的ACL權限的rwx串,如果比遮罩的rwx串權限更高,那在實際操作時,會將權限限制在遮罩的權限。這是為了防止有人不小心手殘,設定了太高的權限給某些使用者。

例如,如果遮罩的權限是rw,命令:setfacl -m u:jack:rx aaa.txt 表示要將aaa.txt此檔案對jack這個使用者的權限,給設定為rx(可讀、不可寫、可執行)。因此,就算jackaaa.txt來說是外人,也能擁有這個特定的權限去操作aaa.txt檔。不過在操作時受限於遮罩,因此jackaaa.txt實際上的有效權限只有r

※ 選項有:

(-1) -R:若目標徑物是個目錄,此選項可讓目錄下的所有子代徑物都擁有ACL表達式中所設定的權限。若不寫該選項,就只設定目標徑物的ACL權限而已。

(-2) -d:若目標徑物是個目錄,此選項會將該目錄的「預設權限」設定為ACL表達式中所設定的權限。之後,在此目錄下所新建立的所有子代徑物,就會自動的擁有此「預設權限」。要注意,原本就存在該目錄內的徑物並不會被此預設權限影響,是新建立的才會。

(1-2) setfacl -b 徑物:將徑物中,所有設定過的ACL權限都消除。

(1-3) setfacl -k 徑物:將徑物中,所有設定過的ACL預設權限都消除。

 

(2) 察看一個徑物的ACL權限:

(2-1)要查看一徑物完整的ACL權限,可用getfacl 徑物名,會顯示類似的訊息:

# file: acltest     #這是徑物名

# owner: mary    #這是擁有者

# group: class1   #這是群組

user::rw-        #這代表對擁有者的權限

user:jack:rwx    #這代表對jack這個使用者的權限

group::r--       #這代表對所屬群組的權限

other::r--       #這代表對外人的權限

mask::rwx    #這代表權限遮罩

如果有設預設權限,還會顯示類似以下的訊息:

default:user::rw-       

default:user:jack:rwx    #預設權限:對jack這個使用者的權限

default:group::r--       

default:other::r--       

default:mask::rwx    #預設權限:權限遮罩

(2-2) 如果用ls -l 來查看徑物權限,若該徑物沒有設定ACL權限,那自然就是如下顯示:

drwxr-xr-x

2

jack

class1

2048

Aug 26 10:37

ggg

徑物權限

連結數

擁有者

群組

大小

修改日期

名稱

若該徑物有設定ACL權限,那麼在「徑物權限」的部分,會多顯示一個加號+,如:

drwxr-xr-x+

2

jack

class1

2048

Aug 26 10:37

ggg

徑物權限

連結數

擁有者

群組

大小

修改日期

名稱

 

 

 

上一篇:linux 檔案的預設權限

下一篇:linux 壓縮與打包

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

徑物的預設權限:

徑物在建立時,如果使用者沒有特別設定權限,系統會給徑物一個預設的權限。(1) 預設權限與權限遮罩:

要查詢目前系統的預設權限,可以用umask這個命令:

umask 選項

其中,選項可以是:

-S:用字元代號來顯示預設權限,如:u=rwx,g=rx,o=rx,表示預設權限是:

擁有者權限

群組權限

外人權限

可讀、可寫、可執行

可讀、不可寫、可執行

可讀、不可寫、可執行

※ 無選項:顯示「預設權限的遮罩」,其形態為:0ijk。第一個數字為0,表示預設權限無法作用到特殊權限。ijk0~7的整數,並不是權限,而是「權限遮罩」。i是「擁有者權限遮罩」,j是「群組權限遮罩」,k是「外人權限遮罩」,其計分方法與一般權限相仿:

有提到讀得4分,沒有提到讀得0分。

有提到寫得2分,沒有提到寫得0分。

有提到執行得1分,沒有提到執行得0分。

總分為將三項分數加總,如下表:

(4)

(2)

執行(1)

加總

總分

沒提到

沒提到

沒提到

0+0+0

0

沒提到

沒提到

提到

0+0+1

1

沒提到

提到

沒提到

0+2+0

2

沒提到

提到

提到

0+2+1

3

提到

沒提到

沒提到

4+0+0

4

提到

沒提到

提到

4+0+1

5

提到

提到

沒提到

4+2+0

6

提到

提到

提到

4+2+1

7

如:0022,表示:

擁有者權限

群組權限

外人權限

沒提到讀、沒提到寫、沒提到執行

沒提到讀、提到寫、沒提到執行

沒提到讀、提到寫、沒提到執行

一般檔案的「預設權限基準」是666,也就是說有提到u=rw,g=rw,o=rw

目錄的「預設權限基準」是777,也就是說有提到u=rwx,g=rwx,o=rwx

重點:一個徑物的「預設權限」,就是其「預設權限基準」中有提到的部分,扣掉「權限遮罩」中有提到的部分。

如:今有權限遮罩為0023,也就是說提到u=,g=w,o=wx

那麼一個新建的一般檔案,其預設權限就是:

u=rw,g=rw,o=rw 扣掉 u=,g=w,o=wx,結果就是 u=rw,g=r,o=r

那麼一個新建的目錄,其預設權限就是:

u=rwx,g=rwx,o=rwx 扣掉 u=,g=w,o=wx,結果就是 u=rwx,g=rx,o=r

這就是「遮罩」的概念。一個集合A與一個遮罩B做運算結果,就是這個集合與遮罩的差集A-B

(2) 利用umask指令設定權限遮罩,其寫法為:

umask 0ijk

第一個數字為0ijk0~7的整數。

 

 

上一篇:linux 更改檔案或目錄的特殊權限

下一篇:linux acl權限

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

更改徑物的特殊權限:

設定徑物的完整權限,其寫法與設定一般權限相仿:

chmod zabc 徑物名

徑物的完整權限」,事實上是「特殊權限」加上前面所提的「一般權限」。可用zabc代表。zabc都是0~7的整數,z是特殊權限,abc是一般權限,包含之前所說的擁有者權限(a)、群組權限(b)、外人權限(c)。在設定權限時,可以只設定一般權限abc,也可以設定完整權限zabc

(1) 特殊權限z數值代表「SUID」、「SGID」、「SBIT」三個權限的分數加總。與「讀」、「寫」、「執行」不同。如以下:

SUID 開啟得4分,不開得0分。

SGID開啟得2分,不開得0分。

SBIT開啟得1分,不開得0分。

總分為將三項分數加總,如下表:

SUID (4)

SGID (2)

SBIT (1)

加總

總分

不開

不開

不開

0+0+0

0

不開

不開

0+0+1

1

不開

不開

0+2+0

2

不開

0+2+1

3

不開

不開

4+0+0

4

不開

4+0+1

5

不開

4+2+0

6

4+2+1

7

 

 

 

上一篇:linux 檔案或目錄的特殊權限

下一篇:linux 檔案的預設權限

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

徑物的特殊權限:

就是「SUID」、「SGID」、「SBIT」三個權限。

詳細說明如下:

(1) SUID權限:SUIDset user ID的縮寫。這個權限只對「命令執行檔」有意義。此權限的意思是:「在執行擁有SUID權限的檔案時,會獲得檔案擁有者的身分,一旦執行完畢就恢復原身分」。說明如下:

通常,這個「擁有SUID權限的命令執行檔」在執行時可能會更動到系統檔,而系統檔通常又是屬於root的,且並不開放任何權限給root以外的一般用戶。這時候,若沒有SUID權限,一般用戶在執行命令時根本無法對系統檔做任何動作。所以,SUID權限的目的,是為了讓一般用戶在不能隨意存取系統檔的情況下,能夠「藉由命令更動系統檔」,既給了用戶方便,也不與安全性衝突。

比較常見的例子,是用戶藉由passwd這個命令執行檔來更改該用戶本身的密碼,而該用戶的密碼是放在/etc/shadow這個系統檔內。/etc/shadow屬於root,且對一般用戶沒有開放可寫的權限,故passwd這個命令執行檔就具有SUID權限,在一般用戶執行passwd的時候會暫時獲得root身分以對/etc/shadow這個系統檔進行操作。

這個「擁有SUID權限的檔案」對於執行者來說一定要有可執行(x)的權限,否則SUID權限也無法生效。

利用ls -al,所顯示的徑物權限中的第一個rwxx

其若為x,表示該檔案具有擁有者可執行權限,但不具有SUID權限。

其若為s,表示該檔案具有擁有者可執行權限,亦具有SUID權限。

其若為S,表示該檔案不具有擁有者可執行權限,但具有SUID權限。

例如,passwd此命令的執行檔完整路徑為/usr/bin/passwd,利用:

ls -l /usr/bin/passwd 顯示該檔案的檔案權限為:-rwsr-xr-x

(2) SGID權限SGIDset group ID的縮寫。對命令執行檔、二進位執行檔、目錄有意義。

※ 對執行檔來說,其功用和SUID相仿。SGID權限的意思是:「在執行擁有SGID權限的執行檔時,會獲得檔案群組的權限,一旦執行完畢就恢復原權限」。且這個「擁有SGID權限的執行檔」對於執行者來說一定要有可執行(x)的權限,否則SGID權限也無法生效。

※ 對目錄來說,如果一個用戶進入了一個「擁有SGID權限的目錄」,那麼這個用戶在進行任何動作時,會以「該目錄群組」的身分、而非「原先群組」的身分進行動作,直到離開此目錄為止。

利用ls -al,所顯示的徑物權限中的第二個rwxx

其若為x,表示該徑物具有擁有者可執行權限,但不具有SGID權限。

其若為s,表示該徑物具有擁有者可執行權限,亦具有SGID權限。

其若為S,表示該徑物不具有擁有者可執行權限,但具有SGID權限。

如:ls -l /usr/bin/locate顯示該檔案的檔案權限為:-rwx--s--x

(3) SBIT權限SBITsticky bit的縮寫。只對目錄有意義。其意義為「當使用者在一個具有SBIT權限的目錄下,建立了屬於自己的子徑物,那麼,只有自己與root才有權利為此子徑物進行刪除、重新命名、搬移的動作」。

※ 通常,這個「具有SBIT權限的目錄」是屬於root的,而此目錄對任何用戶都提供最高權限,任何用戶都可以進入這個目錄,並在這個目錄下新增、刪除、重新命名、搬移子徑物(這些權限是來自於「具有SBIT權限的目錄」的w權限)。但用戶可能會對其他用戶所建立的子徑物進行刪除、重新命名、搬移的動作,造成其他用戶的困擾,故才以SBIT權限禁止用戶對其他用戶的子徑物進行這些操作。

利用ls -al,所顯示的徑物權限中的第三個rwxx

其若為x,表示該目錄具有擁有者可執行權限,但不具有SBIT權限。

其若為t,表示該目錄具有擁有者可執行權限,亦具有SBIT權限。

其若為T,表示該目錄不具有擁有者可執行權限,但具有SBIT權限。

如:ls -dl /tmp顯示該檔案的檔案權限為:drwxrwxrwt

 

 

 

上一篇:linux 更改徑物權限

下一篇:linux 更改檔案或目錄的特殊權限

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

更改徑物權限(這裡講的是一般權限,事實上還有特殊權限,在其他章節提到)

更改徑物權限,只有徑物擁有者與root才有此權力。其命令之寫法有兩種:

(1) chmod 選項 abc 徑物名稱

(1-1) 選項可以是:

-R:若徑物是個目錄,這個選項表示該目錄下的所有檔案盒子目錄也一併改為這個權限。若徑物是個檔案,則沒影響。

若選項不寫,表示只更該當前徑物的權限。

(1- 2) 其中的abc是數值為0~7的整數,分別代表「擁有者權限」、「群組權限」、「外人權限」。其數值代表「讀」、「寫」、「執行」三個權限的分數加總。

可讀得4分,不可讀得0分。

可寫得2分,不可寫得0分。

可執行得1分,不可執行得0分。

總分為將三項分數加總,如下表:

(4)

(2)

執行(1)

加總

總分

不可

不可

不可

0+0+0

0

不可

不可

0+0+1

1

不可

不可

0+2+0

2

不可

0+2+1

3

不可

不可

4+0+0

4

不可

4+0+1

5

不可

4+2+0

6

4+2+1

7

如:chmod 775 徑物名稱,表示該徑物的權限被設定為:

權限:

擁有者權限

群組權限

外人權限

分數:

7

7

5

意義:

可讀、可寫、可執行

可讀、可寫、可執行

可讀、不可寫、可執行

(2) chmod 權限設定串 徑物名

其中,「權限設定串」由「子權限設定串」構成,子權限設定串語法為:

αβγ   #說明如下

α是要設定權限的身分,字面值可以是:

u:代表擁有者

g:代表群組

o:代表外人

a:代表擁有者、群組、外人三者皆是

β是運算符號,字面值可以是:

=γ字面值提到的權限設為「允許」,γ字面值中沒有提到的部分設為「不允許」。

+γ字面值提到的權限設為「允許」,γ字面值中沒有提到的部分不影響

-γ字面值提到的權限設為「不允許」,γ字面值中沒有提到的部分不影響。

γ字面值可以是:

rwx:提到讀、寫、執行。

rw:提到讀、寫。

rx:提到讀、執行。

r:提到讀。

wx:提到寫、執行。

w:提到寫。

x:提到執行。

空字串:什麼都沒提到。

子權限設定串之間,可以用逗號 , 相隔(除了逗號外,不能存在任何其他字元,當然也不能存在空白字元),構成一個權限設定串。實際例子如:

chmod u=rwx,g=rx,o-w tt.txt

表示tt.txt這個檔案的權限被更改成:

擁有者權限

群組權限

外人權限

可讀、可寫、可執行

可讀、不可寫、可執行

不可寫

執行的權限不更改

再一個例子,如:

chmod a+rw tt.txt

表示tt.txt這個檔案的權限被更改成:

擁有者權限

群組權限

外人權限

可讀可寫

執行的權限不更改

可讀可寫

執行的權限不更改

可讀可寫

執行的權限不更改

 

 

 

上一篇:linux 更改擁有者與群組

下一篇:linux 檔案或目錄的特殊權限

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

更改徑物(檔案或資料夾)的擁有者與群組:

只有root身分才有權限更改徑物的擁有者與群組,一般使用者並無此權限,這自然是為了安全性與管理方便考量。其方法為:

(5-1) 更改徑物擁有者:

chown 使用者帳號 徑物名稱

可將該徑物的擁有者改成該使用者。要注意,使用者帳號必須是已經存在於Linux系統中的帳號,也就是在家目錄下etc/passwd檔案中有紀錄者。不能隨便打一個不存在的使用者。

chown本身就是change owner的縮寫。

chown可以同時更改徑物的群組,其寫法如:

chown 使用者帳號.群組名稱 徑物名稱  

或者是:

chown 使用者帳號:群組名稱 徑物名稱

#注意:使用者帳號群組名稱之間必須用點號 . 或是冒號 : 隔開。

(5-2) 更改徑物群組:

chgrp群組名稱 徑物名稱

可將該徑物的所屬群組更改成群組。要注意,群組名稱必須是已經存在於Linux系統中的群組,也就是在家目錄下etc/group檔案中有紀錄者。不能隨便打一個不存在的群組。

chgrp本身就是change group的縮寫。

 

 

上一篇:linux 檔案使用權限2

下一篇:linux 更改徑物權限

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

徑物的權限(這裡講的是一般權限,事實上還有特殊權限,在其他章節會提到),也就是rwx串,其讀、寫、執行的意義對於檔案、和對於目錄是不同的。

(1) 對於一般檔案:

可讀:代表可以讀取檔案內容。

可寫:代表可以修改檔案內容(但並沒有刪除檔案的權力)。

可執行:代表可執行該檔案。譬如執行一份shell script程式檔。不過如果該檔案中沒有可執行的程式碼(譬如一個空文件),執行了也不會有效果。

(2) 對於目錄:

可讀:代表可以用 ls –選項 來看見目錄中的徑物資訊。

可寫:代表可以在該目錄下新增徑物、刪除徑物、為徑物改名、移動徑物。

可執行:代表可以進入該目錄(譬如說用cd 目錄名稱 進入該目錄)。很多人會誤解,以為能否進入目錄是可不可讀的問題,但其實這是可不可執行的問題。

(重要!):上層目錄的權限若與下層目錄或下層檔案的權限衝突,則一律以上層目錄權限為主。如bb目錄的權限為700,而bb/cc.txt檔案的權限為777,則身為「外人」,既然無法進入bb目錄,也就無法讀取bb/cc.txt檔案(就算bb/cc.txt檔案的權限對外人來說有r權限,也一樣無法讀取)。

 

 

上一篇:linux 檔案使用權限

下一篇:linux 更改擁有者與群組

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

一、前註:

1. 在本教學中,提到的「路徑物」三字,指的是「路徑上的存有物」。因為通常路徑上的存有物,其類型可能是檔案、目錄等等,為方便稱呼、且不使混淆,筆者不稱其為「檔案」,而稱其為「路徑物」。

或者,路徑物也簡稱「徑物」。

 

二、正文:

1. 對於不同徑物而言,一名Linux用戶可以有三種身分:擁有者owner)、群組group)、外人others)。徑物擁有者可以對自己的檔案,設定對這三者的權限。而root身分對任何徑物來說都有最高權限,通常主機管理員就具有root身分。

2. 若對徑物所執行的命令,超過了徑物目前的權限,會顯示:Permission denied

3.

利用 ls -al 指令,可以查看當前目錄下,所有子徑物(包括隱藏檔)之權限。 利用 ls -al 目錄名稱 指令,可以查看指定目錄下,所有子徑物(包括隱藏檔)之權限。

利用 ls -l 檔案名稱 指令,可以該檔案之權限。(若該檔案是隱藏檔,檔案名稱之前要多加一個點號 .

使用這些指令後會出現所查詢的資訊,這些資訊是有固定格式的。如:

drwxr-xr-x  2 jack class1 2048 Aug 26 10:37 ggg

drwxr-xr-x  2 jack class1 2048 Aug 26 10:37 jjj

drwxr-xr-x  2 jack class1 2048 Aug 26 10:37 kkk

-rwxr-xr-x  1 jack class1  126 Aug 26 12:50 tt.sh

-rw-r--r--  1 jack class1    0 Aug 27 17:05 .tra

每一行代表一個檔案的資訊。其格式與各項資訊的意義,列表說明如下(以第一行為例):

drwxr-xr-x

2

jack

class1

2048

Aug 26 10:37

ggg

徑物權限

連結數

擁有者

群組

大小

修改日期

名稱

(1) 徑物權限:

其格式如下:

d

rwx

r-x

r-x

徑物類型

擁有者權限

群組權限

外人權限

(1-1) 徑物類型:其值可為:

d:代表該徑物是個「目錄(資料夾) 」。

-:代表該徑物是個「檔案」。檔案又分:

※ 純文字檔(ASCII):即檔案內容為人類所能明白的文字,如英文、數字、中文等。

※ 二進位檔(binary):即檔案內容為一般人類所不能明白、只有機器才能明白的二進位碼。其字面上也以可能是八進位或十六進位。

※ 資料檔(data):在程式運作過程中,會被讀取的、具有特定型態的檔案。

l:英文字L的小寫,代表該徑物是個「連結檔」。其作用類似windows系統下的「捷徑」。

b:代表該徑物是個「區塊裝置檔block device」。所謂「裝置(也有人翻譯成「設備」)」,實際上就是硬體,系統要呼叫這個裝置,必須透過裝置檔。如硬碟和軟碟就是個區塊裝置。

c:代表該徑物是個「字元裝置檔character device」。如鍵盤和滑鼠就是個字元裝置。

s:資料接口檔(socket):通常用在網路上與遠端的資料傳輸。

ppipe(或稱FIFO檔):其主要功能,在於解決系統內部多個程序同時存取一個檔案時可能造成的衝突。

(1-2) 權限,為rwx三者的組合(稱為rwx)。r代表可讀,w代表可寫,x代表可執行。

若不可讀,原本的r會顯示減號 -

若不可寫,原本的w會顯示減號 -

若不可執行,原本的x會顯示減號 -

如:r-w 代表可讀、不可寫、可執行。

根據不同的身分,能操作該徑物的權限也不同。

(2) 連結數:連結到此節點(i-node)的徑物數。若其徑物類型為目錄,可以粗略解釋為該目錄下擁的有徑物總數。而每個目錄都包含至少兩個子目錄:

. 代表該目錄本身之連結。

.. 代表該目錄的父目錄之連結。

(3) 擁有者:徑物擁有者的帳號。

(4) 群組:徑物所在的群組。

(5) 大小:徑物所佔的容量大小,以bytes為單位。

(6) 修改日期:最後一次「動到」這個徑物之內容的日期。通常顯示的資訊包括月、日、時、分,但如果修改日期距離單前日期太久遠,就會只顯示年份而已。

(7) 名稱:徑物名稱。

 

 

上一篇:linux 檔案名稱限制

下一篇:linux 檔案使用權限2

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

檔案名稱:

(1) 檔案名稱的長度有其限制,檔案本身名稱的長度通常不能超過255字元。完整路徑的長度通常不能超過4096字元。

(2) 檔案名稱最好不要包含下列字元:

* ? > < ; & ! [ ] | \ ' " ` ( ) { }

否則,在執行一些命令時,系統可能會打這些字元與命令的關鍵字搞混而造成錯誤。

(3) 檔案名稱之前若有點號 .,代表此檔案是隱藏檔案。

 

 

上一篇:linux 檔案內容的處理

下一篇:linux 檔案使用權限

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

檔案內容的處裡:

(1) paste 檔案一 檔案二:可將檔案一檔案二的內容,以行對行的方式「貼齊顯示」。這個命令不會影響到檔案一檔案二的內容本身。舉例,若今有一檔,其名為girls,其內容為:

name:age:height

weiwei:18:160

nunu:22:164

rain:19:159

A-du:20:162

又亦有一檔,其名為mans,其內容為:

name:age:height

BK:29:155

Kato:35:166

Falary:30:177

輸入:paste girls mans,顯示:

name:age:height  name:age:height

weiwei:18:160   BK:29:155

nunu:22:164     Kato:35:166

rain:19:159     Falary:30:177

A-du:20:162

結果,便是將兩檔內容貼齊顯示。

(2) split:用來分割檔案,並且將分割後的結果另存新檔。用法有:

(2-1) split -l N 檔案 新檔名開頭:可以將檔案依行數來分割,每N行分成一個新檔案,另存的名稱為新檔名開頭aa新檔名開頭ab新檔名開頭ac以此類推。如:split -l 100 f1.txt f2,會將f1.txt100行存成一個新檔,新檔名為f2aaf2abf2ac…等等。

(2-2) split -b 容量 檔案 新檔名開頭:可以將檔案依大小來分割,每容量的大小分成一個新檔案,另存的名稱為新檔名開頭aa新檔名開頭ab新檔名開頭ac以此類推。容量的寫法,是:N單位N為正整數,單位可以是b(代表bytes)k(代表kb)m(代表mb)…等。

 

 

上一篇:linux find 用法1

下一篇:linux 檔案名稱限制

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

搜尋非系統檔案的方法:

(1) find -name 檔案名:可搜尋在「當前目錄」下,其名稱(不包含副檔名)符合檔案名的檔案。這個指令可以搜尋到非系統檔。若要在家目錄下搜尋非系統檔案,這是個常用的指令。

但要注意,若用這個指令搜尋系統檔,要用root身分才有辦法,否則一般使用者可能沒有這樣的權限。

(重要!):若要找特定名稱的檔案,用以下的字元符號可能更方便:

(-1) 萬用字元* *代表「任意長度的任意字串」。

如:ls *.txt 就會列出當前目錄下所有副檔名為txt的檔案。

又如:ls -l a*f 就會列出當前目錄下所有完整檔案名為a開頭、f結尾的檔案其詳細資訊。

又如:ls *s* 就會列出當前目錄下所有完整檔案名包含s的檔案。

(-2) 問號??代表「一個任意字元」。

如:ls ?t.txt 會列出當前目錄下,名稱為「一個任意字元加上t.txt」的檔案。

(-3) [字元一字元二字元三…]。代表「一個可能是字元一、或字元二、或字元三的字元」。

如:ls [abcdehg]t.txt會列出當前目錄下,名稱為「一個特定字元加上t.txt」的檔案。其中,特定字元必須是abcdehg的其中一個。

(-4) [字元一-字元二]。代表一個「ASCII碼介於字元一和字元二之間的字元」。

(-5) [^字元一字元二字元三…]。代表「一個不能是字元一、或字元二、或字元三的字元」。

如:ls [abcdehg]t.txt會列出當前目錄下,名稱為「一個特定字元加上t.txt」的檔案。其中,特定字元不能是abcdehg的其中一個。

(2) find -size 大小:可搜尋在「當前目錄」下,其所占容量大於或小於大小的檔案。其中,可為加號+(表示大於),亦可為減號-(表示小於)大小的格式為:數字單位數字就是任意正整數,單位可為c(代表bytes)、k(代表kB)、M(代表MB)、G(代表GB)。如:

find -size +50M 代表要搜尋當前目錄下,大小超過50M的檔案。

(3) find -type 類型:可搜尋在「當前目錄」下,其類型等於類型的檔案。類型的寫法,可為:f(代表一般檔案)d(代表目錄)l(代表連結檔)b(代表區塊裝置檔)c(代表字元裝置檔)s(代表socket)p(代表FIFO)

(4) find -perm 權限:可搜尋在「當前目錄」下,其權限等於權限的檔案。權限的寫法,可為30~7的正整數(代表一般權限),亦可為40~7的正整數(代表特殊權限以及一般權限)。如:

find -perm 755代表要搜尋當前目錄下,一般權限為755的檔案。

(5) find -perm -權限:其中,權限的寫法如(4)。此指令可搜尋在當前目錄下,其權限包含權限的檔案。如:find -perm -0022,就是說搜尋當前目錄下,其權限包含「群組可寫」、「外人可寫」的檔案。只要一個檔案的權限包含「群組可寫」、「外人可寫」,就會被搜尋到。

 

 

上一篇:linux 檔案搜尋

下一篇:linux 檔案內容的處理

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

依照檔案名搜尋系統目錄下的檔案:搜尋範圍比which要廣。不過這種搜尋方式,所搜尋的是「系統目錄下的檔案」,若是在使用者家目錄下的檔案,那應該是搜尋不到的。

(1) whereis 選項 檔案名:會搜尋系統目錄下,檔案名稱(不包含副檔名)或目錄名檔案名完全吻合者,並顯示其完整路徑。其中,選項可以是:

-b:只搜尋二進位檔。

-m:只搜尋manual說明檔(通常位於/usr/share/man/目錄之下)。

-s:只搜尋source來源檔。

-u:搜尋非二進位檔、非manual說明檔、非source來源檔的檔案。

無選項:等同-b-m-s-u的聯集。

(2) locate 選項 名稱:會搜尋系統目錄下,檔案名稱(不包含副檔名)或目錄名其中包含名稱,並顯示其完整路徑。其中,選項可以是:

-i:將名稱的大小寫視為相同。

-r名稱可用正規表示法來表達。

無選項。

(重要!)whereislocate指令,其搜尋是依據一個「檔案資料庫」(如locate是根據/var/lib/mlocate/這個資料庫),而非於硬碟中的逐個檔案的找(好處是式搜尋速度加快,較不損害硬碟)。這「檔案資料庫」通常每隔一段時間更新一次,使得這兩個指令所找到的資料與實際情況可能有「時差」。為避免此情況,可用updatedb指令來即時更新資料庫。

(3) findfind指令是直接於硬碟中的逐個檔案搜尋,較傷硬碟、速度較慢,但準確性是最高。以下只介紹較常用的寫法:

(3-1) find 路徑 時間紀錄 -n:乃是搜尋時間紀錄在距當前時間n天之內、且位於路徑之下的檔案。其中,時間紀錄的字面值可以是-mtime-ctime-atime,表示依據哪一種時間紀錄來搜尋。n是正整數,單位是天數。

(3-2) find 路徑 -newer 某檔案:搜尋在路徑底下,比某檔案更新的檔案。

(3-3) find 路徑 -user 某使用者帳號:搜尋在路徑下,某使用者所擁有的檔案。這個指令,可以搜尋到所有符合條件的檔案,不限於系統檔。

(3-4) find 路徑 -group 某群組名稱:搜尋在路徑下,某群組所擁有的檔案。這個指令,可以搜尋到所有符合條件的檔案,不限於系統檔。

(3-5) find 路徑 -nouser:搜尋在路徑底下,不屬於任何擁有者的「無主檔案」(這些無主檔案,可能會造成系統上的不安全,但也不盡然。有些可能是下載來的檔案,有些可能是該擁有者已被除名)。這個指令,可以搜尋到所有符合條件的檔案,不限於系統檔。

(3-6) find 路徑 -nogroup:搜尋在路徑底下,不屬於任何群組的檔案」。

 

 

上一篇:linux which指令

下一篇:linux find 用法1

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()

按此前往linux完整教學目錄

 

 

搜尋命令執行檔的完整路徑:

利用 which 選項 命令 可以依據「PATH環境變數」的內容來搜索命令執行檔,並顯示該命令之命令執行檔的完整路徑(若該命令執行檔不在PATH中,則不會被搜尋到)。其中,選項可以是:

無選項:若不輸入選項,則系統只顯示第一個被找到的命令執行檔之完整路徑。

-a:系統會顯示所有被找到的命令執行檔之完整路徑。

例如:輸入 which ls,顯示:/bin/ls

 

 

上一篇:linux 檔案的隱藏屬性

下一篇:linux 檔案搜尋

文章標籤

埃伯 發表在 痞客邦 留言(0) 人氣()