zoukankan      html  css  js  c++  java
  • 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/rw
    udev                  2.0G  224K  2.0G   1% /dev
    tmpfs                 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的挂载的格式就好。

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

  • 相关阅读:
    关于观察者模式和发布/订阅模式
    git:error: Your local changes to the following files would be overwritten by merge:
    node中几个路径的梳理
    centOS 开启服务器后无法访问(大坑啊)
    文件上传简记
    自建nodejs服务器(一:有个服务器)
    nodejs上使用sql
    express笔记
    windows下node配置npm全局路径(踩坑)
    DropMaster
  • 原文地址:https://www.cnblogs.com/orisonchan/p/4856780.html
Copyright © 2011-2022 走看看