1 .grep 命令
過濾不需要內容 -v
grep 最常用的就是過濾需要的內容,但有時候想過濾自己不需要的內容可以用 -v 選項:
比如說用 |xargs grep contenta 過濾得到了很多內容,但是也有很多是自己不需要的(不需要的包含了contentb) 可以再加個管道把 contentb 去掉:
xargs grep contenta |grep -v contentb
不顯示錯誤信息
有時候用grep 搜索整個目錄會打印出錯誤:
filea: No such file or directory
此時可以用 -s 選項禁止打印出錯誤信息,也可以使用重定向 在grep 後面加入重定向,把錯誤輸出重定向到 /dev/null :
grep pattern * -R -n 2>/dev/null
忽略大小寫
有時候用 grep 過濾一個字符比如 test ,但是內容大小寫都有可能 此時加上 -i 選項來做到全部匹配。
grep -i test
2 .mount 命令
列出已經掛載的文件系統信息
例如列出已掛載的所有類型的文件系統
mount -l
列出已掛載的所有nfs文件系統
mount -l -t nfs
當我們建立一個文件系統的時候,它擁有超級塊/組描述塊/塊位圖/inode位圖/inode表/數據塊等區域。要注意,在建立每個ext2文件系統的時候,會按照分區大小,確定數個塊組,每個塊組就有上述這些部分。
如果想要知道某個ext2/ext3(ext4也行)的文件系統內的這些消息,可以使用dumpe2fs命令來讀取,舉例來說,筆者對自己的主機/dev/hda1讀出ext3的信息,如:dumpe2fs /dev/hda1,不過在這之前你要知道自己的機子是什麼文件系統,可以使用如下命令查看:
mount [-l] [-t type]
列出所有已掛載的文件系統 (類型是 type)。 選項 -l 將在列表中加入 (ext2, ext3 和 XFS) 卷標。
dumpe2fs /dev/hda1
通過這個命令之後,我們可以很輕鬆的知道哪些inode
沒有用,哪些塊還可以記錄,如此一來,在新增、建立文件與目錄時,系統就會根據這些記錄將數據分別寫入尚未使用的inode與塊區域。不過,要注意的是,當您新增一個目錄時:
1.根據inode位圖/塊位圖的信息,找到尚未使用的inode與塊,進而將文件的屬性與數據分別記入inode與塊。
2.將剛剛使用的inode與塊的號碼告知超級塊、inode位圖、塊位圖等,讓這些元數據更新信息。一般來說,我們將inode表與塊區域稱爲數據存放區,其他的諸如超級塊、塊位圖、inode位圖等記錄稱爲元數據。我們知道,數據寫入硬盤時,會有上述兩種操作。
掛載分區
筆記本安裝的 ubuntu win7雙系統,有時需要在ubuntu 裏面訪問win7的磁盤。 如果只是用:
mount -o rw /dev/sdx /mnt/mountponit
就會出現mount後目錄權限等無法修改,雖然是rw掛載。而且mount後目錄所有權都變成了root的,而且用root用戶也不能chown。
如果在掛載時指定用戶和組ID 就可以解決這個問題:
mount -o rw,uid=1000,gid=1000 /dev/sda5 /mnt/D
可以在 /ets/passwd 文件裏面查找這個ID。或者用如下方式: