linux初來乍到,之前在VMware虛擬機上安裝的Ubuntu kylin14.10,由于只分配了20G 的空間,導致編譯內核時候嚴重不夠用。于是想擴展磁盤容量。那么在虛擬機關機以后把磁盤容量擴展到30G以后,在虛擬機內還需要創建分區和文件系統才能用。于是一條條來。
首先是查看命令,其中最常用的是fdisk -l和df -h。
fdish -l返回結果如下格式:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 638 5120000 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 638 893 2048000 83 Linux
Partition 2 does not end on cylinder boundary.
/dev/sda3 893 1020 1024000 82 Linux swap / Solaris
Partition 3 does not end on cylinder boundary.
/dev/sda4 1020 1306 2292736 5 Extended
/dev/sda5 1021 1306 2291712 83 Linux
會列出你每塊磁盤的情況。那么df -h則偏重于文件系統,返回格式如下:
Filesystem Size Used Avail Use% Mounted on/dev/sda1 95G 918M 89G 1% /tmpfs 2.0G 0 2.0G 0% /lib/init/rwudev 2.0G 224K 2.0G 1% /devtmpfs 2.0G 3.1M 2.0G 1% /dev/shm/dev/mapper/pve-data 344G 2.3G 342G 1% /var/lib/vz/dev/fuse 30M 16K 30M 1% /etc/pve
我自己的磁盤是sda3和sda4分區還沒有分的。進入分區管理的命令是fdisk /dev/sda
進入以后會首先提示你command m for help,也就是輸入m回車就會列出所有的命令,最常用的幾個有:
command p:列出partition分區表,結果跟fdisk -l是一樣的。
command d:刪除某個分區。
command n:創建新分區。
那么我創建好了分區以后(假設我創建的是sda4分區),如果需要使用,則還需要先創立文件系統然后掛載。我當前系統的文件系統是ext3和ext4的格式。
創建文件系統的命令有mkfs和mke2fs,mke2fs默認就是make ext2 filesystem。但是也可以創建其他格式的文件系統。而mkfs可以寫為mkfs.ext2、mkfs.ext3、mkfs.ext4這種形式。
但是兩者最常用最簡單的用法還是:
命令 -t 文件系統格式 分區名稱。
例如:mkfs -t ext4 /dev/sda4。在現今的Linux其實更希望你用ext4。
那么創立文件系統以后,需要掛載。但是要注意的是!千萬不要掛載到跟之前有過的分區掛載過的同一目錄!千萬不要掛載到跟之前有過的分區掛載過的同一目錄!千萬不要掛載到跟之前有過的分區掛載過的同一目錄!重要的事情說三遍!
尤其是不能掛載到根目錄!
當然如果不小心掛載了解決辦法也是很簡單的。如果你掛載到了其他一般性的文件夾,其實直接umount卸載也就可以了。如果你真的掛載到了根目錄下了,我之前就犯了這個錯誤,那么你是umount不了的,會提示你正在使用中。那么怎么辦呢?
/etc/fstab這個文件是修改開機自動掛載的。如果你沒有把你剛剛創立的文件系統的掛載加到這一行,那么直接重啟電腦完事,如果你真的加了,那么就刪除這一行然后重啟吧。重啟以后,你對根目錄多余的那個掛載由于沒有設置開機自動掛載,也就不會再掛上去。
為什么不讓你在一個目錄掛載兩個分區文件系統?因為后一個掛載上去,會把前一個的內容覆蓋掉。雖然東西并沒有消失,你卻看不到了。只有把后一塊卸載才能看回前一個的東西。
好,接下來回歸正題,其實掛載也很簡單:mount -t 選項 -o 選項 文件系統名 文件夾名。
-t 詳細選項(如果只是新建的文件系統掛載其實用不著-t):
光盤或光盤鏡像:iso9660
DOS fat16文件系統:msdos
Windows 9x fat32文件系統:vfat
Windows NT ntfs文件系統:ntfs
Mount Windows文件網絡共享:smbfs(需內核支持)推薦cifs
UNIX(LINUX) 文件網絡共享:nfs
-o 詳細選項(默認是rw,所以其實也可以不寫):
loop :用來把一個文件當成硬盤分區掛接上系統
ro :采用只讀方式掛接設備
rw :采用讀寫方式掛接設備
iocharset :指定訪問文件系統所用字符集,例如iocharset=utf8
remount :重新掛載
文件系統名其實也就是這里的分區名啦,我這里用的/dev/sda4。
文件夾名就隨便選你想要的了,我這里選的/mnt。掛載完畢是直接生效的。
然后可以選擇開機自動掛載,就是剛剛說的/etc/fstab文件,編輯一下即可。格式參照該文件里面最上面的對dev/sda1的掛載的格式就好。
奏是這樣~這些都是最基本的命令,復雜的我也不太會。
新聞熱點
疑難解答
圖片精選