码迷,mamicode.com
首页 > 系统相关 > 详细

Linux文件系统管理

时间:2016-07-23 21:30:08      阅读:362      评论:0      收藏:0      [点我收藏+]

标签:linux   文件   系统管理   


Linux文件系统管理:
    Linux文件系统: ext2, ext3, ext4, xfs, btrfs, reiserfs, jfs, swap
        swap: 交换分区
        光盘:iso9660
    Windows:fat32, ntfs
    Unix: FFS, UFS, JFS2
    网络文件系统:NFS, CIFS
    集群文件系统:GFS2, OCFS2
    分布式文件系统:ceph,
        moosefs, mogilefs, GlusterFS, Lustre

    根据其是否支持"journal"功能:
        日志型文件系统: ext3, ext4, xfs, ...
        非日志型文件系统: ext2, vfat

    文件系统的组成部分:
        内核中的模块:ext4, xfs, vfat
        用户空间的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat

    Linux的虚拟文件系统:VFS
支持的文件系统
[root@slave Desktop]# cat /proc/filesystems
nodev    sysfs
nodev    rootfs
nodev    bdev
nodev    proc
nodev    cgroup
nodev    cpuset
nodev    tmpfs
nodev    devtmpfs
nodev    binfmt_misc
nodev    debugfs
nodev    securityfs
nodev    sockfs
nodev    usbfs
nodev    pipefs
nodev    anon_inodefs
nodev    inotifyfs
nodev    devpts
nodev    ramfs
nodev    hugetlbfs
    iso9660
nodev    pstore
nodev    mqueue
    ext4
nodev    vmhgfs
nodev    fuse
    fuseblk
nodev    fusectl


[root@slave Desktop]# lsmod
Module                  Size  Used by
lp                      9242  0
8021q                  25527  0
garp                    7152  1 8021q
stp                     2218  1 garp
llc                     5578  2 garp,stp
ip6t_REJECT             4628  2
nf_conntrack_ipv6       8337  3
nf_defrag_ipv6         27236  1 nf_conntrack_ipv6
xt_state                1492  3
nf_conntrack           80390  2 nf_conntrack_ipv6,xt_state
ip6table_filter         2889  1
ip6_tables             18732  1 ip6table_filter
ipv6                  334932  143 ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6
fuse                   79956  4
vmhgfs                 49440  0
vsock                  46726  0
uinput                  8120  0
microcode             112653  0
ppdev                   8537  0
vmware_balloon          7199  0
snd_ens1371            21587  2
snd_rawmidi            23017  1 snd_ens1371
snd_ac97_codec        124967  1 snd_ens1371
ac97_bus                1452  1 snd_ac97_codec
snd_seq                55727  0
snd_seq_device          6500  2 snd_rawmidi,snd_seq
snd_pcm                87790  2 snd_ens1371,snd_ac97_codec
snd_timer              22443  2 snd_seq,snd_pcm
snd                    70953  11 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               7958  1 snd
snd_page_alloc          8856  1 snd_pcm
parport_pc             22658  1
parport                36209  3 lp,ppdev,parport_pc
e1000                 160643  0
sg                     29318  0
vmci                   74263  2 vmhgfs,vsock
i2c_piix4              11776  0
i2c_core               29964  1 i2c_piix4
shpchp                 29130  0
ext4                  378476  2
jbd2                   93427  1 ext4
mbcache                 8193  1 ext4
sd_mod                 36998  4
crc_t10dif              1305  1 sd_mod
sr_mod                 15049  0
cdrom                  39085  1 sr_mod
mptspi                 16411  3
mptscsih               36636  1 mptspi
mptbase                93615  2 mptspi,mptscsih
scsi_transport_spi     25447  1 mptspi
pata_acpi               3701  0
ata_generic             3837  0
ata_piix               24409  0
dm_mirror              14384  0
dm_region_hash         12085  1 dm_mirror
dm_log                  9930  2 dm_mirror,dm_region_hash
dm_mod                 95622  2 dm_mirror,dm_log


    
    创建文件系统:
        mkfs命令:
            (1) # mkfs.FS_TYPE /dev/DEVICE
                ext4
                xfs
                btrfs
                vfat
            (2) # mkfs -t FS_TYPE /dev/DEVICE

            -L ‘LABEL‘: 设定卷标

        mke2fs:ext系列文件系统专用管理工具
            -t {ext2|ext3|ext4}
            -b {1024|2048|4096}
            -L ‘LABEL‘
            -j: 相当于 -t ext3
                mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
            -i #: 为数据空间中每多少个字节创建一个inode;此大小不应该小于block的大小;
            -N #:为数据空间创建个多少个inode;
            -m #: 为管理人员预留的空间占据的百分比;
            -O FEATURE[,...]:启用指定特性
                -O ^FEATURE:关闭指定特性

        mkswap:创建交换分区
            mkswap [options] device
                -L ‘LABEL‘

            前提:调整其分区的ID为82;
[root@slave Desktop]# mkswap /dev/sda1
/dev/sda1: Device or resource busy
[root@slave Desktop]# mkswap /dev/sda2
/dev/sda2: Device or resource busy
[root@slave Desktop]# mkswap /dev/sda3
/dev/sda3: Device or resource busy

            
[root@slave Desktop]# mkfs.ext4 /dev/sda2
mke2fs 1.41.12 (17-May-2010)
/dev/sda2 is mounted; will not make a filesystem here!
[root@slave Desktop]# mkfs.ext4 /dev/sda1
mke2fs 1.41.12 (17-May-2010)
/dev/sda1 is mounted; will not make a filesystem here!
[root@slave Desktop]#
[root@slave Desktop]# blk
blkdeactivate  blkid          blkparse       blktrace       
blkdiscard     blkiomon       blkrawverify   
[root@slave Desktop]# blkid  /dev/sda1
/dev/sda1: UUID="d2624a7b-cd31-4051-8f0e-2f08d03887b0" TYPE="ext4"

[root@slave Desktop]# blkid  /dev/sda2
/dev/sda2: UUID="6f424695-992e-43fb-845d-25f6cba558b6" TYPE="ext4"
[root@slave Desktop]# blkid  /dev/sda3
/dev/sda3: UUID="3fab6886-6f9a-484e-bc98-000f0f29e57c" TYPE="swap"

[root@slave Desktop]# mkfs.ext4  -l MYDATA /dev/sda3
mke2fs 1.41.12 (17-May-2010)
/dev/sda3 is mounted; will not make a filesystem here!


            
    其它常用工具:

        blkid:块设备属性信息查看
            blkid [OPTION]... [DEVICE]
                -U UUID: 根据指定的UUID来查找对应的设备
                -L LABEL:根据指定的LABEL来查找对应的设备

        e2label:管理ext系列文件系统的LABEL
            # e2label DEVICE [LABEL]

        tune2fs:重新设定ext系列文件系统可调整参数的值
            -l:查看指定文件系统超级块信息;super block
            -L ‘LABEL‘:修改卷标
            -m #:修预留给管理员的空间百分比
            -j: 将ext2升级为ext3
            -O: 文件系统属性启用或禁用
            -o: 调整文件系统的默认挂载选项
            -U UUID: 修改UUID号;

        dumpe2fs:
            -h:查看超级块信息

    文件系统检测:
        fsck: File System CheCk
            fsck.FS_TYPE
            fsck -t FS_TYPE
                -a: 自动修复错误
                -r: 交互式修复错误

                Note: FS_TYPE一定要与分区上已经文件类型相同;

        e2fsck:ext系列文件专用的检测修复工具
            -y:自动回答为yes;
            -f:强制修复;


回顾:
    磁盘接口类型、磁盘分区、fdisk、mkfs、mke2fs, tune2fs, blkid, dumpe2fs, e2label

    vfs: xfs, ext{2|3|4}, btrfs

文件系统管理:
    将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件访问入口的行为称之为挂载;

    解除此关联关系的过程称之为卸载;

    把设备关联挂载点:Mount Point
        mount

    卸载时:可使用设备,也可以使用挂载点
        umount

    注意:挂载点下原有文件在挂载完成后会被临时隐藏;

    挂载方法:mount DEVICE MOUNT_POINT
        mount:通过查看/etc/mtab文件显示当前系统已挂载的所有设备
        mount [-fnrsvw] [-t vfstype] [-o options] device dir
            device:指明要挂载的设备;
                (1) 设备文件:例如/dev/sda5
                (2) 卷标:-L ‘LABEL‘, 例如 -L ‘MYDATA‘
                (3) UUID, -U ‘UUID‘:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e‘
                (4) 伪文件系统名称:proc, sysfs, devtmpfs, configfs
            dir:挂载点
                事先存在;建议使用空目录;
                进程正在使用中的设备无法被卸载;

            常用命令选项:
                -t vsftype:指定要挂载的设备上的文件系统类型;
                -r: readonly,只读挂载;
                -w: read and write, 读写挂载;
                -n: 不更新/etc/mtab;
                -a:自动挂载所有支持自动挂载的设备;(定义在了/etc/fstab文件中,且挂载选项中有“自动挂载”功能)
                -L ‘LABEL‘: 以卷标指定挂载设备;
                -U ‘UUID‘: 以UUID指定要挂载的设备;
                -B, --bind: 绑定目录到另一个目录上;

            注意:查看内核追踪到的已挂载的所有设备:cat /proc/mounts

            -o options:(挂载文件系统的选项)
                async:异步模式;
                sync:同步模式;
                atime/noatime:包含目录和文件;
                diratime/nodiratime:目录的访问时间戳
                auto/noauto:是否支持自动挂载
                exec/noexec:是否支持将文件系统上应用程序运行为进程
                dev/nodev:是否支持在此文件系统上使用设备文件;
                suid/nosuid:
                remount:重新挂载
                ro:
                rw:
                user/nouser:是否允许普通用户挂载此设备
                acl:启用此文件系统上的acl功能

                注意:上述选项可多个同时使用,彼此使用逗号分隔;
                      默认挂载选项:defaults
                              rw, suid, dev, exec, auto, nouser, and async

显示所有挂载设备                            
[root@slave ~]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
vmware-vmblock on /var/run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)

[root@slave ~]# cat /proc/mounts
rootfs / rootfs rw 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
devtmpfs /dev devtmpfs rw,relatime,size=1558932k,nr_inodes=389733,mode=755 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,relatime 0 0
/dev/sda2 / ext4 rw,relatime,barrier=1,data=ordered 0 0
/proc/bus/usb /proc/bus/usb usbfs rw,relatime 0 0
/dev/sda1 /boot ext4 rw,relatime,barrier=1,data=ordered 0 0
none /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0
vmware-vmblock /var/run/vmblock-fuse fuse.vmware-vmblock rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other 0 0
gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0

                            
    卸载命令:
        # umount DEVICE
        # umount MOUNT_POINT

        查看正在访问指定文件系统的进程:
            # fuser -v MOUNT_POINT

        终止所有在正访问指定的文件系统的进程:
            # fuser -km MOUNT_POINT

    挂载交换分区:
        启用:swapon
            swapon [OPTION]... [DEVICE]
                -a:激活所有的交换分区;
                -p PRIORITY:指定优先级;
        禁用:swapoff [OPTION]... [DEVICE]

    内存空间使用状态:
        free [OPTION]
            -m: 以MB为单位
            -g: 以GB为单位
[root@slave ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3066        523       2543          2         70        181
-/+ buffers/cache:        272       2794
Swap:         1983          0       1983

    文件系统空间占用等信息的查看工具:
        df:
            -h: human-readable
            -i:inodes instead of blocks
            -P: 以Posix兼容的格式输出;

    查看某目录总体空间占用状态:
        du:
            du [OPTION]... DIR
                -h: human-readable
                -s: summary

    命令总结:mount, umount, free, df, du, swapon, swapoff, fuser

本文出自 “梁小明的博客” 博客,请务必保留此出处http://7038006.blog.51cto.com/7028006/1829041

Linux文件系统管理

标签:linux   文件   系统管理   

原文地址:http://7038006.blog.51cto.com/7028006/1829041

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!