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. 今天在写powershell脚本中犯的两个错误

    可能是因为牙痛没睡好,今天老是犯错,还是脚本写错,特别难调. 第一个错误: powershell脚本里面,函数与函数互相调用的传参.其实就像调用普通的cmdlet一样的写法,应该这么写: Add-Sc ...

  2. 怎样把HTC G7的内存扩展到2GB

    介绍 HTC G7的内部存储只有148M,两年前买它的时候,android应用大多比较小巧,148M已经足够用了.随着android版本的不断升级,应用变得越来越臃肿,G7也变得越来越吃力.就我个人而 ...

  3. [Typescript] Function defination

    Define a function type and params type: // The function init // Accept two params which are both typ ...

  4. Android(java)学习笔记261:JNI之编写jni程序适配所有处理器型号

    1. 还是以"02_两个数相加"为例,你会发现这个jni程序只能在ARM处理器下运行,如下:  如果我们让上面的程序运行在x86模拟器上,处理平台不对应,报如下错误: 03-29 ...

  5. 图片变换 矩阵 Bitmap Matrix

    Matrix矩阵介绍 在Android中,对图片的处理需要使用到Matrix类,Matrix是一个3 x 3的矩阵,内部就是个一维数组,内部有9个元素:可以通过setValues( float[])进 ...

  6. Python时间戳和日期

    import time localtime=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) prin ...

  7. asp.net读取Excel中的数据问题

      1.Microsoft.ACE.OLEDB.12.0 与Microsoft.Jet.OLEDB.4.0 在通过ADO对Excel对象进行连接时(此时Excel则认为是一个数据源),需要配置对Exc ...

  8. C# TextBox控件 显示大量数据

    串口通信:在使用TextBox空间显示数据时,因为要显示大量的接收到的数据,当数据量大且快速(串口1ms发送一条数据)时,使用+=的方式仍然会造成界面的卡顿(已使用多线程处理),但使用AppendTe ...

  9. SVN搭建本地版本控制仓库

    1.安装TortoiseSVN 2.新建一个文件夹,比如F:\SvnProjectsCfg 3.在F:\SvnProjectsCfg新建一个文件夹project1,右键该文件夹选择“create re ...

  10. php 之 类,对象

    --恢复内容结束--- 一.类和对象: 1.定义: 对象:我们所见到的东西都可以称之为对象,是类实例化出来的东西 类:是对所有的同类对象抽象出来的东西 eg: 在一张表中记录了全班同学的学号,姓名,性 ...