|
#1
| ||||
| ||||
| [轉貼] 第四章 Linux Filesystems,Filesystem Hierarchy Standard 一、 Create partitions and filesystems(fs) 1. 磁碟構造: ˙Cylinder(磁柱):0起算,1 Cylinder=255 Heads. ˙Head(讀寫磁頭):0起算,1 Head=63 Sectors. ˙Sector(磁區):1起算,1 Sector=512 bytes ,而磁碟分割是以磁柱為 計算單位,第一個磁柱(0)的第一個磁區(1)放MBR ( 管理開機 紀錄),故做partition時,第一個分割區設定範圍是由磁柱1 開始起算設定的。 Ex:2434 cylinders的hard disk,其大小為多少G? 2434 × 255 × 63 × 512 = 20020331519 bytes = 20GB <note> 硬碟的sector,是屬於physical unit (物理或實體單位),在硬碟 一出廠時即已固定,無法做更改。而block是屬於logical unit, 可於formatting時,用mke2fs來更改系統預設值。 2. 分割區: (1) IDE介面: 一般主機板上至少兩個IDE介面(IDE0.IDE1),每個IDE介面可安置兩個devices,故有四個devices可供安置,devices可為硬碟、光碟機、燒錄器等。 IDE0 (primary): hda (master) → primary master hdb (slave) → primary slave IDE1 (secondary): hdc (master) → secondary master hdd (slave) → secondary slave <說明> h: 表示為IDE介面。 s: 表示為SCSI介面。 d: disk 磁碟機。 a: 表示第一個裝置,一般為硬碟,b.c.d 依此類推,至於其後所接數字是代表為第幾個分割區 (partition number)。 Ex: hda2表示第一個IDE介面上的第一顆硬碟的第二個分割區。 hdc3表示第二個IDE介面上的第一顆硬碟的第三個分割區。 hdd一般為光碟機之類的裝置。 (2) partition: Primary partition:max → 4個(編號1-4) Extended partition:max → 1個(編號1-4) 。 Logical partition:編號5開始至16 (redhat)。 Openlinux為5 – 60。 以上ID皆不可重複。 <note> extended partition本身不可存放data,而須由其下的logical partition來存放。 3. 檔案系統 (fs):作業系統用來存取的資料格式。 Linux支援很多的fs,如msdos、vfat、ntfs、iso9660、nfs等等,不過 前提是該檔案系統需被掛載到linux下才行。 (1) partition types: Minix:81→older linux. Linux swap:82 Linux(native):83→安裝linux時,最少須有兩個分割區,即82.83。 Windows:FAT32(ob). NTFS(07)…。 (2) linux可用的檔案系統 (83) ˙ext2 (extended second file system) ˙日誌式fs ( journaling ) 分以下幾種: ext3 (ext2+journaling):Kernel 2.4才開始支援,Red Het是最早使用ext3檔案系統的版本。 reiser:SuSE研發,小檔案系統適用,大檔案系統可用以下兩個: XFS:SGI公司研發。 JFS:IBM研發。 <note>日誌式:將系統所做的更動,像日記一樣記載下來,並存放於硬碟的journal file,如遇不正常關機或電力中斷,在reboot後,會自動於journal file檢查記錄,故可順利讓系統開機,並確保資料不會遺失。 若是ext2,則須等待系統檢查有無壞軌及修復的時間。 <note>ext2 fs會先將系統所做的更動暫存至記憶體內,再伺機回存硬碟,以增快系統效率,但一旦碰上不正常關機時,可能會造成快取緩衝區的資料遺失。 以下指令 --- fdisk mkfs fsck 都只有root才有權執行。 4. fdisk : create partition (1) # fdisk –l /dev/hda →顯示partition table (包含未掛載的partition),device若沒寫,預設為hda。如: # fdisk –l (2) # fdisk –s /dev/hda3 → 顯示第三分割區大小。 (3) # fdisk /dev/hda → 對第一顆硬碟執行磁碟分割。 m:print the menu. p:print the partition table. n:add a new partition. d:delete a partition. t:change a partition’s system id. l:list known partition types. w:write table to disk and exit. q:quit without saving changes (或ctrl+c). (4) 一般PC上的BIOS,只能抓取1024cylinders內的範圍(約8.4G),所以儘量將 /boot放置在8.4G以前,但若 /boot超出此範圍,不妨加入LBA32 (Large Block Adress)這個參數試試。 5. mkfs: create filesystems (formatting),支援ext3.ext2.vfat.msdos等。 當硬碟分割好後,還無法使用,尚須製造一檔案系統給它,即所謂的格式化。 例:# mkfs –t msdos /dev/fd0 → 未用-t來指定欲格式化的檔案系統時,預設為ext2。 # mkfs –t ext2 –c /dev/hda2 → mkfs –t ext2可用mke2fs及mkfs.ext2代替。 -c: check the device for bad blocks before building the fs. # mke2fs –c /dev/hda3 # mke2fs –j /dev/hda3 → 格式化成ext3的檔案系統。 # mke2fs –b 1024 /dev/hda3 → 用-b (block)來指定區塊大小,系統有效區塊大小值為1024.2048.4096 bytes. # mke2fs –i 1024 /dev/hda3 → 指定inode大小為1024 bytes i≧b # mke2fs –N inode數 /dev/hda3 → 指定inode數。 # mke2fs –jb 2048 –c /dev/hda5 → 格式化成ext3的檔案系統。 註: 若要對已mount的分割區進行mkfs,記得先umount 該分割區。 二. Maintain the integrity of filesystems 在linux裡,每個分割區都有每個分割區的 fs,此fs中,與資料存取相關的基本結構如下: super block -----------> inode block -------------> data block super block存放著檔案系統的重要資訊,從super block裡就可取得檔案系統中的任何檔案資訊,然後再從inode block取得檔案實際存放的區 塊位置。所以我們需要存取任何資料時,都會先經過super block。 1. inode觀念: (1) inode(index node索引節點): A data structure called an inode. inode block為一data structure,其大小為128 bytes,inode block會指出檔案存放於硬碟的實際位置 、檔案擁有者和所屬群組ID、檔案存取權限、檔案大小、檔案連結數及時間相關訊息等,但真正的檔名並不儲存於此,而是存於上一層目錄中。 inode number:a unique number associated with each filename . This number is used to look up an entry in the inode table which gives information on the type,size,permission,owners and location of the file . 當我們要存取檔案於硬碟時,須要有一個inode number指標。在同一partition中,inode number是唯一的,也就是每個檔案目錄都有其唯一的inode number,但若不同的partition,其inode number便有可能產生相同的情形。 底下我們以 /etc/passwd作例子,來看看是怎麼樣的一個搜尋流程: 首先我們需要的第一個 inode 是檔案系統根目錄 ( / ) 的 inode,我們 可以得到它的值在檔案系統的 superblock中,因而找到了根目錄的inode block ,最後找到了根目錄所在的區塊位置,接著從此區塊中可找到etc的目錄名稱及etc的inode number,因而找到了etc的inode block, 由此inode block中得到etc所在的區塊位置,再由此處得到passwd的 檔案名稱及passwd的inode number,接著找到passwd的inode block, 而由inode block的訊息得到passwd實際存放的區塊位置。 Ex: $ stat /etc/passwd →inode data structure (redhat) →其內容中的Block:8,表示檔案占用block空間為 512×8=4096 bytes(8個磁區) (2) block size(區塊大小) 資料的寫入是以block為單位,大小以byte表示,其有效的預設 為1024.2048.4096 bytes。 # tune2fs –l /dev/hda3 →可查出預設block大小、indoe數、block數…。 假設一檔案大小為1000 bytes,block為4096 bytes,則剩下的3096 bytes會浪費掉。又如檔案為5k,則會占用掉2個blocks。 (3) 綜合以上,inode大小 (bytes-per-inode)通常不能少於block size,而inode count、block count數量,理論上是以磁碟容量去除以他們的預設大小。 inode count意謂著能寫入的檔案數,而block為檔案寫入磁碟的最小儲存單位。 block越小,大檔案寫入速度慢,適合小檔案且數量多的系統。 block越大,大檔案寫入速度快,但對小檔案便浪費很多空間。 2. fsck:check and repair a Linux file system 於一般正常情況下,勿使用此指令,否則不小心會造成對檔案資料的 危害。故只有在系統出問題時,進入單人維護模式下才須使用到。其它使用fsck的時機,例如用fsck來check剛剛formatting的硬碟分割區有無問題等。 <note>進入單人模式方式: ˙ # init 1 ˙ 於lilo選單畫面下,按ctrl+x後,就會看到boot: 提示號,此時輸入如下: boot : linux single 或 linux –s (redhat尚可使用linux 1) 註: openlinux於boot: 提示號下輸入linux –s或linux single, 接者會要求輸入root密碼,若不想在進入單人模式輸入密 碼可修改 /etc/inittab。最後在成功進入後,記得先執行 mount –o rw,remount / ,這樣才可修改檔案。 ˙ 於grub選單畫面下,先用上下鍵選擇linux os,然後按e進入 編輯,再用上下鍵選擇kernel那一行,再按e進入編輯,於該 行最後面補上linux -s或linux single或 (記得要空一格),然後按enter,最後按b就大功告成了。 ˙ 用光碟開機時,boot: linux rescue,進入提示號後,記得執行 # chroot /mnt/sysimage,這樣才可用root身分進行修改 (redhat)。 註: openlinux可藉由redhat的開機光碟進入rescue mode 。 ˙ 若是使用磁片開機,則與第二點相同(boot : )。 fsck使用前提:該分割區fs要umount(root partition除外)或 該分割區fs要remount為read-only Ex:# fdisk /dev/hda =>creat a new partition:hda6=>reboot # mke2fs –j /dev/hda6 # e2fsck –c /dev/hda6 (-c:check bad blocks) → fsck –t ext2等於e2fsck,其可支援ext3 fs。 # fsck –a /dev/hda6 → Automatically repair the file system without any questions. # fsck –r /dev/hda6 → Interactively repair the file system. # mkdir /mnt/hda6 # mount –t ext3 /dev/hda6 /mnt/hda6 # cd /mnt/hda6 =>hda6目錄下會新增lost+found目錄。 當執行fsck時,若有檢查到bad blocks,會在lost+found目錄下顯示錯誤的、有問題的檔案及遺失的檔案。 When running fsck during system boot,the root partition is mounted in read-only,then running fsck and then the root partition is mounted as read –write. All other partitions are checked before they are mounted. root partition需先於其他partition作fsck。 3. df (disk free): 查詢硬碟分割區剩餘可用空間的指令,另外也可顯示系統目前已掛載 的檔案系統。 例:$ df –h →空間大小使用單位,視字元長度而自動調整顯示單位(M.G..K)。 $ df –T →多顯示fs type。 $ df –i →顯示inode count。 $ df –t ext3 →只顯示fs type 為ext3者。 $ df –k →以kilo bytes表示(預設),-m則是以mega bytes表示。 4. du (disk usage):df為針對分割區,du為針對檔案、目錄實際所占用的 block大小。 <note>du指令請以root login,因若為一般user,有些檔案權限會被拒絕,因而所看到的block size會不準確,但若只看自己家目錄便無所謂。 例:$ du –b ( 以bytes ) 為單位 →顯示當前目錄 ( 含子目錄 ) 所占用的block size,所以也可這樣寫 $ du –b . $ du /etc →顯示 etc目錄實際佔用的區塊大小,以kilo tytes為單位。 $ du –a /etc →包含檔案都列出。 $ du –s /etc →display only a total. $ du –lb若有hard link,會重複計算。 其它參數:-k、-m、-h同df用法。 三. mount and umount fs 1. Linux的fs與windows的fs不太相同,Windows下,每個分割區都有其磁碟機代號,從c: ~ z:,且各有其獨立的目錄,但在Linux下,所有partation都歸在 / (根目錄)下, / 有其自己的partition,而其它partition則被掛於 /下的目錄或子目錄中,此目錄或子目錄稱為mount-point,而將partition掛入mount point的動作便稱為mount (掛載)。 mount –t <fs-type> -o <options> device mount-point 2. Linux can mount a variety of fs , including minix ext2 ext3 reiserfs ntfs vfat msdos iso9660(CD-ROM) nfs smbfs 3. mount –t <fs-type> -o options device mount-point -o其後所接選項,有一些選項只有在 /etc/fstab內才有效用。 option:auto → 開機時自動mount ←→ noauto exec → 讓程式能於掛載的fs上執行 ←→ noexec suid → 讓可執行程式,能發揮suid及sgid效用 ←→ unsuid user → 允許一般使用者掛載檔案系統 ←→ nouser sync → 對mounted fs,建立同步輸入輸出,也就是讓磁碟與記憶體建立同步寫入的動作←→ async ro → read-only rw → read-write dev → 解析fs上的字元裝置or區塊裝置。 remount → attempt to remount an already-mounted file system. defaults → rw,auto,nouser,exec,dev,suid,async。 4. # mount -t msdos /dev/fd0 /mnt/floppy # mount –tr iso9660 /dev/cdrom /mnt/cdrom 等於 # mount –t iso9660 –o ro /dev/cdrom /mnt/cdrom 等於 # mount –t iso9660 –r /dev/cdrom /mnt/cdrom → 上式未加唯讀選項亦可,因 /dev/cdrom or /dev/hdd is write-protected. # mount –a =>將 /etc/fstab內所列檔案系統掛載起來(有noauto選項除外)。 → 作試驗時,可先將 /etc/fstab內的檔案系統執行umount (單人模式下),然後再執行 # mount –a,看看能否remount。 # mount -t ext2 -o rw /dev/hda6 /mnt/hda6等於 # mount –t ext2 –w /dev/hda6 /mnt/hda6 # mount –t ext2 –n /dev/hda6 /mnt/hda6 → 如此做法,就不會讓 /etc/mtab出現掛載訊息。 5. 要umount (卸載)前,須切換目錄至非掛載目錄上,方可順利umount,以上面為例: # umount /dev/hda6或 # umount /mnt/hda6亦可: # eject /mnt/hda6直接退出光碟。 在做mount時,若沒用 -t指定fs-type,其實系統也抓得到,如下: # mount /dev/fd0 /mnt/floppy =>用 # df –T 看看便知。
__________________ 如果您覺得"文章小說討論區"所發的主題不錯 請不要吝嗇 在主題 " 點閱" 及 並給予 發文者一些鼓勵 --------------------------------------------- 為了防止世界被破壞 為了保護世界的和平 貫徹下載與燒錄的邪惡 可愛又迷人的盜版角色 MP3....Program... 我們是穿梭在網際網路中的盜版大隊~~ 拷貝 拷貝的明天正等著我們~~ 就是這樣....喵~~@@ |
|
#2
| ||||
| ||||
| 6. /etc/fstab:紀錄系統啟動時將自動掛載的檔案系統,共分六欄位: /dev/hda3 /mnt/hda3 ext2 defaults 1 1 device mount-point fs-type options dump check(fsck) 備份程式 <說明><1>dump:備份整個fs,其值分1和0,當選擇1時,表示當磁碟分割區內資料有異動時,先cache在記憶體中,直到緩衝區滿了或系統閒置時,才寫入磁碟裡,其優點為加快系統執行效能,缺點為遇當機或不正常關機時可能會造成資料流失,因此選dump時,一般會配合第六欄位fsck來使用,一般若是Linux fs,其dump皆設為1,others則設0。 <2>check:分0、1、2 1:表開機時先做fsck的fs,因 / 須先於其它分割區,故設為1。 2:非 / 所在的fs要做fsck,則設為2。Ex: /boot 0:不做fsck。 在options中,若設defaults,則系統開機時會自動mount這些device,若是設noauto,如CD-ROM,則須下mount指令,如mount /mnt/cdrom或mount /dev/cdrom 才能將這些裝置掛載上來。 當我們在提示號下執行mount時,若 /etc/fstab中有紀錄,則mount時可mount device或mount-point,但若fstab內無記錄裝置訊息,則此partition(device)須按步就班mount。 當我們檢視 /etc/fstab時,會發現有個device為none,mount-point為 /proc,這是一個虛擬裝置,不存在於實體device上,但其可顯示記憶體內的訊息。 每個process都會在 /proc下的子目錄中,而系統訊息則會顯示於其下的檔案內。 例:root login tty2執行top指令,回tty1 login,接著執行 # ps aux 來查詢top的 PID(設為2367) # ls /proc =>有個2367目錄。 # cd /proc/2367 然後用ls看其內容有cmdline.status.… # cat cmdline =>顯示此process command line內容。 # cat status =>顯示程式名稱PID.PPID.UID.GID… 例:# cat /proc/cpuinfo →檢試cpu廠牌、速度。 # cat /proc/interrupts →中斷要求(IRQ值) # cat /proc/ioports →I/O Address I/O port為device與cpu或device與memory(DMA存在時不須經cpu,而是直接與記憶體溝通,以加快效率)間溝通的管道。 DMA全名:Direct Memory Access # cat /proc/meminfo →記憶體訊息 # cat /proc/mounts →系統目前已掛載的檔案系統。 # cat /proc/modules →顯示目前核心已載入的模組,同 # lsmod # cat /proc/swaps 7. /etc/mtab (mount table) 動態紀錄系統目前已掛載的檔案系統。 it is a listing of mounted fs presently. 8. 查詢系統目前掛載哪些檔案系統的方式: (1) # cat /proc/mounts (2) # mount (3) # mount -l (4) # cat /etc/mtab <note> /etc/fstab是開機時自動mount的fs,若開機後手動mount fs, /etc/fstab內並不會顯示。 另外我們在看目前系統已掛載訊息時,以 /proc/mounts的資料最 準確,因其不受mount –n 的影響。 9. umount:參數-a、-t、-n同mount。 四. hard link and symbolic link(soft link) 1. Symbolic link: ln –s來源檔 連結檔名 例:$ ln –s /etc/termcap slink =>shink:lrwxrwxrwx $ ls –li /etc/termcap slink 可看出inode number不同,檔案權限、檔案擁有者及所屬群組不同,檔案大小、檔案修改時間不同。(以自己為主) 若刪除原始檔,則連結檔便無法連結。 當我們建立soft link file後,可用$ du –b . 觀看,發現家目錄所占用的block size不變(與建立前比較) 。另外soft link可應用於目錄,且可在不同partition或fs上使用。 2. hard link: ln 來源 目的 長格式中的連結數,即是以hard link為主。 hard link file其inode number指向來源檔案的inode number。 例:$ ln /etc/passwd hlink (設 /etc及 /home為同一分割區) $ ls -li /etc/passwd hlink 很明顯看出hard link file的inode number、檔案權限、檔案擁有者及所屬群組、檔案大小、檔案修改時間等,都與來源檔案相同。 $ du –b =>家目錄所占block size增加。 $ du –b / =>系統所占block size不變。 另可用家目錄下的檔案做hard link來測試: $ ln file hlink $ du –b =>家目錄所占block size不變。 故做hard link時,若link到其它目錄下的file時,hard link file所在目錄其block size會增加,若link本身dir下的file,則不變。 <note>hard link不可應用於目錄,且在不同partition或fs上無法使用。 另外hard link中,無論來源檔或連結檔,只要還存在一個檔案,此inode number所對應的data block便不會消失,須直到所有檔案刪除後,此空間才釋放出來。 ˙不論hard link或soft link,當更改link file的內容時,來源file也會跟著改 (但要有適當的權限) ,而在windows下是無法辦到的。 ˙做link時,未寫出link file名稱,則以來源file之名做為link file之名,但來源與目的不可是同一目錄。 Ex:$ ln –s /etc/passwd →用ls看,會有passwd的link file。 $ ln –s /var/spool/mail /home → /home下會有mail的link file(目錄)。 五. Managing disk quota (硬碟限額管理) quota用來對user或group做不同的或相同的使用空間限制,且quota設定,只能針對partition做限制,而無法針對partition下的某個目錄設限。 現在以 /home partition為例,來說明quota的設定: 1. 開啟quota功能: # vi /etc/fstab → 於 /home所在行增加defaults,usrquota,grpquota,然後存檔離開。 2. reboot (RedHat 7.1核心2.2版,在quotacheck後,才reboot) 3. 掃描檢視磁碟空間使用情形: 若系統預設有開啟quota,則在執行檢查前需先關閉quota: # quotaoff –a 再來才可執行quotacheck: # quotacheck –guv /home → 於 /home下會產生aquota.user及aquota.group這兩個紀錄檔,記載 著user與group在 /home下的使用空間情形。 核心2.4以前為quota.user及quota.group。 <說明>-g:check group於 /home下所占空間 (檔案數、目錄數)。 -u:check user於 /home下所占空間 (預設)。 -v:顯示執行過程。 -a:check all file systems in /etc/mtab ˙系統執行quotacheck時,會先將檔案系統 remount成read –only,scan結束後,再remount回read –write。 ˙若系統已執行quota,則須先執行quotaoff –a。 ˙若有錯誤訊息,可用-m強迫check。 # quotacheck –guvm /home 4. 建立quota限額 # edquota -u barry (-g group) = # edquota barry blocks soft hard 4 2000 2500 單位:KBytes blocks:已經使用的data blocks空間,在此為4kb。 soft:達此限制時,系統會開始提出警告。(搭配grace使用) hard:最大空間限制,當超過此限制,即無法再儲存data。 <note>執行quotacheck成功的partition,在執行edquota時皆會顯示。 另外若針對群組做quota,需將加入此group的user,設定group 為其預設群組。 # edquota –up barry mary (-gp group01 group02) → 將barry的quota限額,copy一份予mary。-u為預設,可省略。 另外需注意,quota限額的複製需在同一分割區下。 <註>多user要套用barry的quota的做法,可事先編輯一檔案,設為/tmp/file,然後將使用者放進此檔內,如: # vi /tmp/file user01 user02 user03 user04 user05 再執行: # edquota –up barry `cat /tmp/file` # edquota –ut = # edquota –t (edquota -gt) Block grace:10hours(預設7days),Inode grace:0 表示使用者儲存資料超過soft時,便開始計時,在此10hours內,user只要不超過hard限制皆可儲存。一旦超過10hours便無法再存data進去。 Inode grace:0 表示無限制。 5. 啟動quota: # quotaon –a →於 /etc/fstab內,有磁碟限額者都啟動。 # quotaon –u /home →啟動 /home下user的磁碟限額。 # quotaon –guva 6.檢視磁碟配額:quota, repquota (report quota) # repquota –a (= # repquota -ua) → /etc/mtab內有quota限額的使用者,檢視其quota限額。 假設barry在 /home及 /var皆有設quota,則不能同時顯示,須使用: # quota –u barry才可同時顯示 /home及 /var下的磁碟配額。 # repquota –ga # repquota -gua # repquota –u /home (repquota –g /var) # repquota –uv /home → -uv表示檢視有quota限額的user,就算user尚未使用到磁碟空間也 會顯示出來。 $ quota →user檢視自己限額及使用情形。 補充:當我們設定群組quota限額時,使用者的gid (預設群組)需為此群組 的id,所以要將使用者加入群組時,需用usermod –g,不能用 usermod –G或gpasswd –a的方式。 另外一點,若群組quota剛設定完成,群組中的使用者尚未儲存資 料,則執行 # quota –g group時,會發現群組quota無法使用的訊息, 當使用者開始儲存資料後就可正式啟用。 另外在執行quotacheck時,若執行過程不順利,可於此之前先: # touch aquota.user aquota.group # ln –s aquota.user quota.user # ln –s aquota.group quota.group 然後再執行quotacheck。 六. Find system files and place files in the correct location 1. find:依指定條件找尋檔案或目錄。(用ls –li長格式去想) (1) -inum n (inode number) # find /usr –inum 160159 → 找出 /usr目錄下,inode number為160159者。 (2) -type f # find /etc -type f → 找出 /etc目錄下,檔案類型為檔案者。其他較常用的類型有 d目錄,b區塊裝置,c字元裝置。 (3) -perm <bits mode> (permission) # find / -perm 1777 → 找出根目錄下,權限為1777者。 (4) -uid n # find / -uid 501 → 找出檔案或目錄的擁有者的ID為501者。-gid同理。 (5) -user username # find /home -user barry ( group同理 ) → 找出家目錄下的檔案或目錄,其擁有者為barry者。 (6) -size n # find /etc –size 737535c ( character=byte ) → /etc下,將大小為737535 bytes的檔案找出。 # find / -size +3k → 將大於3×1024 bytes的檔案找出。 1k = 1-1024 bytes 2k = 1025-2048 bytes 餘依此類推 +2k = 2048 bytes ( 不含 ) 以上的檔案大小 -2k = 1025 bytes ( 不含 ) 以下的檔案大小 # find /var –size -2b ( 預設1b = 512bytes ) → 1b = 1-512 bytes 2b = 513-1024 bytes 餘依此類推 -2b = 513 bytes ( 不含 ) 以下的檔案大小 +2b = 1024 bytes ( 不含 ) 以上的檔案大小 (7) -name <檔案或目錄名稱> ( 可配合wildcard ) # find / -name “linuxconf” =>名稱為linuxconf者列出。 # find / -name “linuxconf*” # find /var –type d –name “log” # find /tmp –type f ∣xarges rm可寫成下式: # rm `find /tmp –type f` # find /home /tmp –name “barr*” <note>find其後若無接目錄,預設為現在所處的目錄。 2. which:依PATH變數內的路徑依序尋找執行檔。 # echo $PATH # which ls useradd ping echo 3. locate:使用資料庫檔案來尋找。( /var/lib/slocate/slocate.db←資料庫位置) slocate:Security Enhanced version of the GNU Locate # which locate slocate先找出路徑 # ls –l /usr/bin/locate /usr/bin/slocate → locate為一soft hard link,link至slocate。 # locate named =>似RE → 將檔案及目錄名稱中含有named字串者全列出。 # updatedb =>更新資料庫指令(預設排程每天執行),也可寫成下式: # slocate -u
__________________ 如果您覺得"文章小說討論區"所發的主題不錯 請不要吝嗇 在主題 " 點閱" 及 並給予 發文者一些鼓勵 --------------------------------------------- 為了防止世界被破壞 為了保護世界的和平 貫徹下載與燒錄的邪惡 可愛又迷人的盜版角色 MP3....Program... 我們是穿梭在網際網路中的盜版大隊~~ 拷貝 拷貝的明天正等著我們~~ 就是這樣....喵~~@@ |