linux系统支持很多种文件系统。

1. 如何确认当前系统挂载了哪些文件系统?
使用mount命令可以查看当前系统上已经挂载了哪些文件系统,
sh-# mount
rootfs on / type rootfs (rw)
none on /proc type proc (rw,relatime)
none on /sys type sysfs (rw,relatime)
none on /tmp type tmpfs (rw,relatime)
none on /opt type tmpfs (rw,relatime)
none on /proc/bus/usb type usbfs (rw,relatime)
/dev/sda1 on /tmp/mnt/usb/sda1 type vfat (rw,noatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=continue)
sh-#
sh-#

2. linux ext2文件系统?
ext2文件系统分区是由inode以及block这两个部分组成,
其中inode用来存储文件的属性信息;而block区域则用来存储实际的文件内容。
因为这个原因,所以可能会存在两个比较极端的情况:
磁盘中的文件size都很小,造成了磁盘上的inode都被用完但是block区域却仍然有大量剩余从而造成磁盘空间浪费;
磁盘上的文件size都很大,造成了磁盘上放了为数不多的几个文件后block区域就被用完从而造成inode空间的浪费。
ext2文件系统由于缺少日志系统,从而给系统管理带来不便,所以在ext3文件系统中增加了日志系统,即:
ext3 = ext2 + 日志系统

3. 关于inode的一点说明?
常规情况下,一个inode即对应着一个文件。
但是由于硬连接的存在(硬链接是一个inode,但是block中有文件内容的多份copy),所以也是有特例的存在。
正式inode与block的划分,从而让创建文件的硬链接和软连接提供了可能。
另外inode结构是不包含文件名信息的。

4. VFS?
linux提供了VFS,这让应用程序编程变得简单,因为应用程序不用去考虑不同文件系统的差异。

5. 为什么在同一个文件系统中move会很快,而在不同文件系统中move会很慢呢?
因为在同一个文件系统中copy,不需要move block区域中的数据区,而只需要修改inode信息;
而在不同文件系统中move,不但要修改inode信息,同时block区域中存放的文件信息也必须要
copy到另一个文件系统中。

6. 伪文件系统?
伪文件系统是从内存中创建的文件系统。一旦系统断电文件系统中的内容就会丢失。

7. 如何查看文件系统的使用情况?
使用df命令可以帮助我们实现这一需求。
sh-# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                57.1M     57.1M         0 100% /
none                    142.2M    396.0K    141.8M   0% /tmp
none                    142.2M         0    142.2M   0% /opt
/dev/sda1                 3.7G    799.2M      2.9G  21% /tmp/mnt/usb/sda1
ubi2:perm                50.6M     24.0K     50.6M   0% /perm
sh-#

8. 如何确认当前系统中可以支持哪些文件系统?
使用cat /proc/filesystems可以查看,
其中第一列nodev表示该类型文件不需要挂载在一个块设备上,否则就需要挂在一个块设备上;
第二列表示当前系统中支持的文件系统类型。
sh-# cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   bdev
nodev   proc
nodev   tmpfs
nodev   debugfs
nodev   sockfs
nodev   usbfs
nodev   pipefs
nodev   anon_inodefs
nodev   devpts
        ext2
        squashfs
nodev   ramfs
        vfat
nodev   mqueue
nodev   mtd_inodefs
nodev   ubifs
        ntfs

9. 如何加载一个文件系统?
方法一:由于系统启动时会通过读取/etc/fstab来配置那些固定的文件系统,所以针对那些
需要固定加载的文件系统,我们可以在/etc/fstab中配置好;
方法二:系统启动后,根据需要,自行加载文件系统。
sh-# cat /etc/fstab
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>                       <dump>  <pass>
/dev/root       /               auto    noauto,rw,errors=remount-rw     0 0
none            /proc           proc    defaults                0 0
none            /sys            sysfs   defaults                0 0
none            /dev/pts        devpts  noauto,gid=5,mode=620   0 0
none            /tmp            tmpfs   defaults                0 0
none            /opt            tmpfs   defaults                0 0
none            /dev/shm        tmpfs   noauto                  0 0
sh-#

10. 有时候我们并不关心系统中诸如tmpfs,proc等类型的文件系统,而只要查看系统中瓜子啊的
硬盘及分区情况。那要如何查看呢?
可以使用fdisk -l来查看系统中挂载的硬盘及分区情况。
sh-# fdisk -l

Disk /dev/sda: 4002 MB, 4002910208 bytes
32 heads, 63 sectors/track, 3878 cylinders
Units = cylinders of 2016 * 512 = 1032192 bytes

Device Boot      Start         End      Blocks  Id System
/dev/sda1   *           1        3878     3908992+  b Win95 FAT32

以上是关于linux文件系统这部分学习的一点总结。
在这里很多东西介绍的还比较简单,后面有机会会在新的博文中逐个详细的进行学习,敬请关注!

linux文件系统学习的更多相关文章

  1. Linux文件系统学习(一)之相关概念⭐⭐⭐

    “一切皆是文件”是 Unix/Linux 的基本哲学之一.不仅普通的文件,目录.字符设备.块设备.套接字等在 Unix/Linux 中都是以文件被对待:它们虽然类型不同,但是对其提供的却是同一套操作界 ...

  2. [Linux] linux文件系统学习

    linux系统支持很多种文件系统. 1. 如何确认当前系统挂载了哪些文件系统? 使用mount命令可以查看当前系统上已经挂载了哪些文件系统, lqt@lqt-ThinkPad-T420:~$ moun ...

  3. Linux文件系统学习笔记-1

       在Linux中, 一切皆文件,不论是目录,设备,套接字等都可以看成文件,而且每一个文件对应一个inode号,这是一一对应的关系. [root@oracle ~]# ls -il 总用量 2624 ...

  4. 学习笔记:CentOS7学习之十四:linux文件系统

    目录 1. 机械硬盘结构 1.1 机械硬盘结构 1.2 簇和block 2.文件系统结构 2.1 文件名 2.2 inode的内容 2.3 inode的大小 2.4 目录文件 2.5 block块大小 ...

  5. Linux 学习手记(2):Linux文件系统的基本结构

    Linux 文件系统概况 Linux文件系统为一个倒置的树状结构,所有文件或文件夹均包含在一个根目录“/”中.如图所示(每个目录的作用可以参考:Linux目录结构说明): Linux系统严格区分大小写 ...

  6. 理解与学习linux 文件系统的目录结构

    1. linux文件系统的结构 linux文件系统是以一种树形结构存在,Linux的文件系统的入口就是/,所有的目录.文件.设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者. 2. ...

  7. Linux 学习总结(五)-linux 文件系统及相关命令

    一 linux文件系统概要 linux系统结构有别用于windos,他是树状结构的文件系统,在linux下我们称一切皆文件,我们将一个目录,可以成称为目录文件.linux只有一个单独的顶级目录结构.所 ...

  8. Linux学习之二十-Linux文件系统

    Linux文件系统 文件系统的定义 文件系统是操作系统的必备软件,文件系统是对一个存储设备上的数据(block)和元数据(inode)进行组织的一种机制.文件系统可以帮助用户管理磁盘空间,进行文件的快 ...

  9. 【Linux学习】Linux文件系统6—文件目录权限设置

    Linux文件系统6-文件目录权限设置 1.       chmod操作权限设置 chomd是用来改变文件或目录权限的命令,但只有文件的属主和超级权限用户root才有这种权限.通过chmod来改变文件 ...

随机推荐

  1. servlet过滤器配置白名单、黑名单

    1.web.xml配置 <filter> <description>过滤是否登陆</description> <filter-name>encoding ...

  2. hdu 4848 搜索+剪枝 2014西安邀请赛

    http://acm.hdu.edu.cn/showproblem.php?pid=4848 比赛的时候我甚至没看这道题,事实上不难.... 可是说实话,如今对题意还是理解不太好...... 犯的错误 ...

  3. 【转】Linux中安装Resin

      安装步骤: Ø  安装resin前先要保证安装了JDK,可以用命令查看是否安装了JDK: [root@wxr webapps]# java -versions java version " ...

  4. ini文件解析c库(iniparser)

    一.交叉编译ini解析库 1.官方网站http://ndevilla.free.fr/iniparser 下载iniparser-3.1.tar.gz 2.解压 tar -zxvf iniparser ...

  5. Win32<CreatFile>

    CreateFile函数详解 CreateFile The CreateFile function creates or opens the following objects and returns ...

  6. css圆角

    在CSS3中圆角属性,有四个.三个.两个和一个值. 四个值: 第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角.

  7. MVC 5.0 之奇葩错误-<类型“ASP._Page__ViewStart_cshtml”不从“System.Web.WebPages.StartPage”继承>

    在实际项目中,我们通常添加MVC项目会先添加一个MVC Empty 的项目,然后需要什么在往里面添加. 但是Empty项目里面只有一个路由注册,而且没有_ViewStart.cshtml文件需要自己添 ...

  8. ResourceDictionary 和 XAML 资源引用

    XAML 定义应用的 UI,并且 XAML 也可以定义 XAML 中的资源.资源通常是对你希望多次使用的某些对象的定义.你要为 XAML 资源定义一个键,以供将来引用,该键的作用类似于资源的名称.你可 ...

  9. 武汉科技大学ACM :1004: C语言程序设计教程(第三版)课后习题6.3

    Problem Description 求Sn=2+22+222+…+22…222(有n个2)的值. 例如:2+22+222+2222+22222(n=5),n由键盘输入. Input n Outpu ...

  10. 使用Android平板编程,执行linux命令

    android有一些应用支持开发, AIDE 介绍http://www.wandoujia.com/apps/com.aide.ui https://play.google.com/store/app ...