你的位置:首页 > 操作系统

[操作系统]Ubuntu的一些文件系统的操作(转自我自己的其他博客)


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的挂载的格式就好。

奏是这样~这些都是最基本的命令,复杂的我也不太会。