1. 程式人生 > 資料庫 >MySQL的SQL語句 - 資料操作語句(13)- 子查詢(13)

MySQL的SQL語句 - 資料操作語句(13)- 子查詢(13)

磁碟分割槽命名方式

在Linux中,每一個硬體裝置都對映到一個系統檔案,包括硬碟、光碟機等IDE或SCSI裝置。Linux把各種IDE裝置分配了一個由hd字首組成的檔案。而各種SCSI裝置則被分配了一個由sd字首組成的檔案,編號方法為拉丁字母表順序。例如,第一個IDE裝置,Linux定義為hda,第二個IDE裝置iu定義為hdb;以此類推。

在Linux中規定,每一個硬碟裝置最多能有4個主分割槽(其中包含擴充套件分割槽)。任何一個擴充套件分割槽都要佔用一個主分割槽號碼。編號方法為阿拉伯數字順序。需要注意的是,主分割槽按1234編號,擴充套件分割槽中的邏輯分割槽,編號直接從5開始,無論是否有2號或者3號主分割槽。對於第一個IDE硬碟的第一個主分割槽,則編號為hda1,而第二個IDE硬碟的第一個邏輯分割槽應為hdb5.

磁碟管理命令

Linux磁碟管理常用三個命令為df、du和fdisk。

df:列出檔案系統的整體磁碟使用量

du:檢查磁碟空間使用量

fdisk:用於磁碟分割槽

df

df命令引數功能:檢查檔案系統的磁碟空間佔用情況。可以利用該命令來獲取硬碟被佔用了多少空間,目前還剩下多少空間等資訊。

語法:

df [-ahikHTm] [目錄或檔名]

選項與引數:

  • -a :列出所有的檔案系統,包括系統特有的 /proc 等檔案系統;
  • -k :以 KBytes 的容量顯示各檔案系統;
  • -m :以 MBytes 的容量顯示各檔案系統;
  • -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
  • -H :以 M=1000K 取代 M=1024K 的進位方式;
  • -T :顯示檔案系統型別, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;
  • -i :不用硬碟容量,而以 inode 的數量來顯示

du

Linux du命令也是檢視使用空間的,但是與df命令不同的是Linux du命令是對檔案和目錄磁碟使用的空間的檢視,還是和df命令有一些區別的,這裡介紹Linux du命令。

語法:

du [-ahskm] 檔案或目錄名稱

選項與引數:

  • -a :列出所有的檔案與目錄容量,因為預設僅統計目錄底下的檔案量而已。
  • -h :以人們較易讀的容量格式 (G/M) 顯示;
  • -s :列出總量而已,而不列出每個各別的目錄佔用容量;
  • -S :不包括子目錄下的總計,與 -s 有點差別。
  • -k :以 KBytes 列出容量顯示;
  • -m :以 MBytes 列出容量顯示;

fdisk

fdisk 是 Linux 的磁碟分割槽表操作工具。

語法:

fdisk [-l] 裝置名稱

選項與引數:

  • -l :輸出後面接的裝置所有的分割槽內容。若僅有 fdisk -l 時, 則系統將會把整個系統內能夠搜尋到的裝置的分割槽均列出來。

掛載磁碟分割槽

要使用磁碟分割槽,就需要掛載該分割槽。掛載時需要指定需要掛載的裝置和掛載目錄。掛載磁碟分割槽的命令為mount,常用的命令格式為

mount -t type device dir

選項 -t 的引數type為檔案系統格式,如ext4、vfat、ntfs等;引數device為裝置名稱;引數dir為掛載目錄,成功掛載後,就可以通過訪問該目錄以訪問該分割槽內的檔案。只要是未被使用的目錄,都可以用於掛載分割槽。

解除安裝磁碟分割槽

要移除磁碟,例如解除安裝USB磁碟、光碟或者某一硬碟分割槽,首先需要解除安裝該分割槽。解除安裝磁碟的命令為umount。常用的命令格式如下:

umount [device | dir]

解除安裝時只需要一個引數,可以用於裝置名稱,也可以是掛載點。例如,解除安裝一個光碟機裝置"/dev/hdc".該裝置掛載於"/mnt/cdrom".那麼既可以直接解除安裝該裝置。也可以通過其掛載的目錄解除安裝例如:

umount /dev/hdc

umount/mnt/cdrom

檢視磁碟的分割槽資訊

檢視磁碟的掛載情況——mount

檢視磁碟的掛載情況很簡單,直接輸入不帶引數的mount命令即可。

mount引數說明:

  • -V:顯示程式版本
  • -h:顯示輔助訊息
  • -v:顯示較訊息,通常和 -f 用來除錯。
  • -a:將 /etc/fstab 中定義的所有檔案系統掛上。
  • -F:這個命令通常和 -a 一起使用,它會為每一個 mount 的動作產生一個行程負責執行。在系統需要掛上大量 NFS 檔案系統時可以加快掛上的動作。
  • -f:通常用在除錯的用途。它會使 mount 並不執行實際掛上的動作,而是模擬整個掛上的過程。通常會和 -v 一起使用。
  • -n:一般而言,mount 在掛上後會在 /etc/mtab 中寫入一筆資料。但在系統中沒有可寫入檔案系統存在的情況下可以用這個選項取消這個動作。
  • -s-r:等於 -o ro
  • -w:等於 -o rw
  • -L:將含有特定標籤的硬碟分割掛上。
  • -U:將檔案分割序號為 的檔案系統掛下。-L 和 -U 必須在/proc/partition 這種檔案存在時才有意義。
  • -t:指定檔案系統的型態,通常不必指定。mount 會自動選擇正確的型態。
  • -o async:開啟非同步模式,所有的檔案讀寫動作都會用非同步模式執行。
  • -o sync:在同步模式下執行。
  • -o atime、-o noatime:當 atime 開啟時,系統會在每次讀取檔案時更新檔案的『上一次呼叫時間』。當我們使用 flash 檔案系統時可能會選項把這個選項關閉以減少寫入的次數。
  • -o auto、-o noauto:開啟/關閉自動掛上模式。
  • -o defaults:使用預設的選項 rw, suid, dev, exec, auto, nouser, and async.
  • -o dev、-o nodev-o exec、-o noexec允許執行檔被執行。
  • -o suid、-o nosuid:
  • 允許執行檔在 root 許可權下執行。
  • -o user、-o nouser:使用者可以執行 mount/umount 的動作。
  • -o remount:將一個已經掛下的檔案系統重新用不同的方式掛上。例如原先是唯讀的系統,現在用可讀寫的模式重新掛上。
  • -o ro:用唯讀模式掛上。
  • -o rw:用可讀寫模式掛上。
  • -o loop=:使用 loop 模式用來將一個檔案當成硬碟分割掛上系統。

分割槽的格式化

分割槽完成後,需要對檔案系統格式化才能正常使用。格式化磁碟主要的命令是mkfs。

格式化交換分割槽的命令略有不同,不是mkfs而是mkswap。

分割槽型別和格式化的型別需要匹配,否則可能導致分割槽無法正常使用。

檢查和修復磁碟分割槽

對於沒有正常解除安裝的磁碟,如遇突然斷電的情況,可能損壞我呢見系統目錄結構或其中檔案損壞。檢查可修復洗盤分割槽的命令為fsck。

fsck 引數如下:

  • filesys : device 名稱(eg./dev/sda1),mount 點 (eg. / 或 /usr)
  • -t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此引數
  • -s : 依序一個一個地執行 fsck 的指令來檢查
  • -A : 對/etc/fstab 中所有列出來的 partition 做檢查
  • -C : 顯示完整的檢查進度
  • -d : 列印 e2fsck 的 debug 結果
  • -p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
  • -R : 同時有 -A 條件時,省略 / 不檢查
  • -V : 詳細顯示模式
  • -a : 如果檢查有錯則自動修復
  • -r : 如果檢查有錯則由使用者回答是否修復

磁碟配額管理

為了使系統按照配額進行工作,必須建立磁碟配額檔案aquota.group和aquota.user。使用quotacheck命令可以完成配額檔案的自動建立。

quotacheck引數如下:

  • -a 掃描在/etc/fstab檔案裡,有加入quota設定的分割槽。
  • -d 詳細顯示指令執行過程,便於排錯或瞭解程式執行的情形。
  • -g 掃描磁碟空間時,計算每個群組識別碼所佔用的目錄和檔案數目。
  • -R 排除根目錄所在的分割槽。
  • -u 掃描磁碟空間時,計算每個使用者識別碼所佔用的目錄和檔案數目。
  • -v 顯示指令執行過程。

對使用者和使用者組設定磁碟配額

對磁碟配額的限制一般是從佔用磁碟大小和所有檔案的數量兩個方面來進行的。限制主要分為軟限制和硬限制兩種。

軟限制:一個使用者在檔案系統可擁有的最大磁碟空間和最多檔案數量,在某個寬限期內可以暫時超過這和限制。

硬限制:一個使用者可擁有的磁碟空間或檔案的絕對數量,絕對不允許超過這個限制。

設定磁碟配額的限制可以用edquota命令,其引數如下:

  • -u 設定使用者的磁碟配額,這是預設的引數。
  • -g 設定群組的磁碟配額。
  • -p<源使用者名稱稱> 將源使用者的磁碟配額設定套用至其他使用者或群組。
  • -t 設定寬限期限。