linux磁盘及文件管理进阶

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux磁盘及文件管理进阶相关的知识,希望对你有一定的参考价值。

挂载主要涉及两个地方:

         挂载点和挂载设备

(我们通常是将挂载设备关联至某个挂载点上,所以带给我们的结果是什么?

         通过这个挂载点,可以访问被挂载设备上的文件,每一个文件系统的根,本身就有一个隐含的目录在里面,比如说,我们将mnt目录作为B分区的挂载点,那么mnt本身就相当于B分区的根,)

 

         根文件系统之外的其他文件系统要想能够被访问,都必须通过“关联”至根文件系统上的某个目录来实现,此关联操作即为“挂载”;此目录即为“挂载点”;

        

         挂载点:mount_ponit,用于作为另一个文件系统的访问入口;

 

                   挂载点的特性:

                            1)事先存在;

                            2)应该使用未被或不会被其他进程使用到的目录;

                            3)挂载点下原有的文件将会被隐藏;

 

mount命令:

         (以centos6为例)

         格式:

                   mount [-nrw]  [-t vfstype]  [-o options]  device dir

                            [-fnrsvw]:被称为命令选项

                            [-o options]:被称为挂载选项

                  

                   命令选项:

                            -rreadonly,只读挂载;(光盘设备只能只读挂载)

                            -wread  and write,读写挂载;(默认就是读写挂载)

                            -n:默认情况下,设备挂载或卸载的操作,会自动更新至/etc/mtab文件中,-n                                      用于禁止次特性;

 

                            -t  vfstype:要带参数,指明要挂载的设备上的文件系统的类型;多数情况下                              可省略,此时mount会通过blkid来判断要挂载的设备的文件系统类型;

                            -L LABEL:挂载时以卷标的方式指明设备;

                                     mount  -L LABEL  dir

                            -U UUID:挂载时以UUID的方式指明设备;

                                     mount  -U UUID  dir

 

              挂载选项:(-o  options):

                   (挂载选项主要定义挂载的文件系统的特性,挂载选项中有些选项只能用在                        /etc/fstab”中)

 

                            sync/async:同步/异步操作;

                            (什么是同步什么是异步?

                                              进程每一次访问的数据默认都是在磁盘上的,但是进程是不可能直接操作磁盘上的数据的,要先把数据装入到内存中,在内存中执行读写操作,尤其是写操作,先在内存上执行写操作,然后过一会在同步到磁盘上,这就叫异步。如果在那时候在内存上写的同时立即同步到磁盘上,这就叫同步。我们知道内存比硬盘快得多,因此我们异步性能好。)

                   atime/noatime命令:文件或目录被访问时时候更新其访问间隔。我们在访问非常                                                                    频繁的文件系统上,将访问关掉,就是“noatime

                   diratime/nodiratime:目录在被访问时是否更新其访问时间戳

 

                   remount:重新挂载;

                   acl:支持使用facl(文件访问控制列表)功能;

                            #mount  -o acl  device  dir

                            #tune2fs  -o acl  device

 

                   ro:只读

                   rw:读写

                   dev/nodev:此设备上是否允许创建设备文件;

                   exec/noexec:是否允许运行此设备上的程序文件;

                   auto/noauto:是否支持自动挂载。

                   user/nouser:是否允许普通用户挂载此文件系统;

                   suid/nosuid:是否允许程序文件上的suidsgid特殊权限生效;

                   defaultsUse defaultoptions: rw, suid, dev, exec, auto, nouser, async,  and relatime.

 

 

一个使用技巧:

         可以实现将目录绑定到另一个目录上,作为其临时访问入口;

                   mount  --bind 源目录 目标目录

 

挂载光盘设备:

                   mount   -r /dev/cdrom  mount_point(挂载点)

 

                   光盘设备文件:/dev/cdrom /dev/dvd

         (其实cdrom这个文件是一个链接,其指向真正的光驱设备)

[[email protected] ~]# ls /dev -l

lrwxrwxrwx. 1 root root           3 Nov  9 08:52 cdrom -> sr0(如果是IDE接口就是hdc

lrwxrwxrwx. 1 root root           3 Nov  9 08:52 cdrw -> sr0

 

挂载本地的回环设备:

         #mount  -o loop  /PATH/TO/SOME_LOOP_FILE  MOUNT_POINT

 

 

挂载U盘:

         事先识别U盘的设备文件;

 

 

挂载本地回环设备:(我们建议使用这个来挂载iso镜像文件)

 

mount  -o  loop  /PATH/TO/SOME_LOOP_FILE   MOUNT_POINT

 

注意:本地回环文件未必都是iso镜像文件,像还有在网络上我们得到的磁盘映像文件。

 

这里我们做实验时,我们可以从FTP服务器上下载一个磁盘映像文件,在命令行上运行FTP服务器的客户端命令,lftp  10.1.0.1”登入到FTP服务器上去;然后使用“mget”命令进行多道的下载,即我们可以下载多个文件。下载完成后,我们使用命令“bye”表示从FTP服务器上端开。

 

查看当前系统上所有已挂载的设备

         #mount

         #cat  /proc/mounts

         #cat  /etc/mtab

 

 

 

umount命令:

         umount  device|dir

 

注意:正在被进程访问到的挂载点无法被卸载;

 

         当卸载文件系统不成功时,查看被哪个或哪些进程所占用

                   #lsof  MOUNT_POINT  //lsof  挂载点  :能够显示这个目录被那个进程所占用。

                   #fuser  -v MOUNT_POINT

 

         强行终止所有正在访问某挂载点的进程:

                   #fuser  -km MOUNT_POINT

 

 

交换分区的启用和禁用:

 

         创建交换分区的命令:mkswap

        

         启用:swapon

                   swapon  [OPTION] [DEVICE]

                            -a:定义在/etc/fstab文件中的所有swap设备;

 

         禁用:swapoff                 

                   swapoff  DEVICE

 

         注意:

我们想过没有我们的系统之上有没有哪一个目录本来就是单独分区的?

解:

         我们说过usr目录,那本来就是一个独立的层级结构,var也是一个独立的层级结构,所以usrvar可以是一个单独的分区,除了usrvar之外,还有想binsbinetclib还有lib64等等,这些都不能独立分区,必须在根上,因为他们自己不能被独立,必须与根在一起,而且还要在根这个分区上。

        

 

设置开机自动挂载:

 

设定除根文件系统以外的其他文件系统能够开机时自动挂载:/etc/fstab文件

         只要是定义在/etc/fstab这个文件中内容,开机都会被自动挂载。之所以能够开机自动挂载,是因为开机时运行了一个脚本,或者运行了某一个程序,这个程序会去找这个文件中的设备一一给他挂上,

[[email protected] ~]# cat /etc/fstab

 

技术分享

文件中的格式:

         每行定义一个要挂载的文件系统及其先关属性:

         前面有#号的表示注释;

                   6个字段:

                            1)要挂载的设备:

                                               设备文件;

                                               LABEL

                                               UUID

                                               伪文件系统:如sysfs,proc,tmpfs

                            2)挂载点

                                               swap类型的设备的挂载点为swap

                            3)文件系统类型;

                            4)挂载选项

                                               defaults:使用默认的挂载选项;

                                               如果要同时制名多个挂载选项,彼此间以事情分隔;

                                                        defaultsaclnoatimenoexec

                            5)转储频率

                                               0:从不备份;

                                               1:每天备份;

                                               2每隔一天备份;

                            6)自检次序

                                               0:不自检;

                                               1:首先自检,通常只能是根文件系统可用1

                                               2:次级自检

                                               ...............一直到9

                                               (两个设备的自检次序可以相同)

 

 mount  -a   //可自动挂载定义在/etc/fstab文件中的所有支持自动挂载的设备

 

 

 

两个命令:dfdu

                  

         dfdisk  free):查看磁盘使用状态,这里主要是挂载后的各磁盘使用状态;

        

         格式:

                   df[OPTION]... [FILE]...

 

         选项:

                   -l:仅显示本地文件系统,而不显示网络文件系统

                   -h:进行了段位换算,使人更易读

                   -i:显示inode的使用状况,而非blocks

 

[[email protected] ~]# df   //显示当前操作系统已挂载的文件系统是什么;这个设备上一共有多少个块,注意这里的块,与我们的磁盘大小块不一样,我们的磁盘无论格式化为1K,2K,4K这里全部显示1K格式,USE:表示已用块,Available:表示可用块,USE%:表示百分比,Mounted  on:表示挂载点

df: `/media/CentOS_6.8_Final‘: No such fileor directory

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda2       50264772 4702680  43002092 10% /

tmpfs             953648      76   953572   1% /dev/shm

/dev/sda1         194241   39290   144711  22% /boot

/dev/sda3       20027260   45004 18958256   1% /testdir

/dev/sr0         3824484 3824484         0 100% /media

/dev/sdb1        5039592   10272  4766660   1% /mydata

[[email protected] ~]#

 

[[email protected] ~]# df -h

df: `/media/CentOS_6.8_Final‘: No such fileor directory

Filesystem      Size Used Avail Use% Mounted on

/dev/sda2        48G 4.6G   41G  10% /

tmpfs           932M   76K 932M   1% /dev/shm

/dev/sda1       190M  39M  142M  22% /boot

/dev/sda3        20G  44M   19G   1% /testdir

/dev/sr0        3.7G 3.7G     0 100% /media

/dev/sdb1       4.9G  11M  4.6G   1% /mydata

[[email protected] ~]#

 

[[email protected] ~]# df -i

df: `/media/CentOS_6.8_Final‘: No such fileor directory

Filesystem      Inodes IUsed   IFree IUse% Mounted on

/dev/sda2      3203072 138749 3064323    5% /

tmpfs           238412      4 238408    1% /dev/shm

/dev/sda1        51200     39  51161    1% /boot

/dev/sda3      1281120     14 1281106    1% /testdir

/dev/sr0             0      0      0     - /media

/dev/sdb1       328656     12 328644    1% /mydata

[[email protected] ~]#

 

 

du命令:

 

         格式:

                   du[OPTION]... [FILE]...

         选项:

                   -ssumary,显示整个文件目录的大小;

                   -hhuman-readable,进行单位换算后更加易读;

        

         执行“du  /etc”会将这个目录下所有的文件或目录分别列出其大小

         执行“du  -s /etc”会显示这个文件目录的总大小;

         执行“du  -sh /etc”显示文件目录总的大小,并且进行了单位换算;

 

 

 

 

演示:

 

centos6上执行

[[email protected] ~]# mount                //使用单独的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,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

[[email protected] ~]#

 

 

但是在centos7上执行mount

 

[[email protected] ~]# mount                //除了显示正常的文件系统和伪文件系统之外,还有很多会                                                           cgroup文件系统

sysfs on /sys type sysfs(rw,nosuid,nodev,noexec,relatime,seclabel)

proc on /proc type proc(rw,nosuid,nodev,noexec,relatime)

devtmpfs on /dev type devtmpfs(rw,nosuid,seclabel,size=919820k,nr_inodes=229955,mode=755)

securityfs on /sys/kernel/security typesecurityfs (rw,nosuid,nodev,noexec,relatime)

tmpfs on /dev/shm type tmpfs(rw,nosuid,nodev,seclabel)

devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)

tmpfs on /run type tmpfs(rw,nosuid,nodev,seclabel,mode=755)

tmpfs on /sys/fs/cgroup type tmpfs(ro,nosuid,nodev,noexec,seclabel,mode=755)

cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)

pstore on /sys/fs/pstore type pstore(rw,nosuid,nodev,noexec,relatime)

cgroup on /sys/fs/cgroup/hugetlb type cgroup(rw,nosuid,nodev,noexec,relatime,hugetlb)

cgroup on /sys/fs/cgroup/cpu,cpuacct typecgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)

cgroup on /sys/fs/cgroup/blkio type cgroup(rw,nosuid,nodev,noexec,relatime,blkio)

cgroup on /sys/fs/cgroup/freezer typecgroup (rw,nosuid,nodev,noexec,relatime,freezer)

cgroup on /sys/fs/cgroup/net_cls typecgroup (rw,nosuid,nodev,noexec,relatime,net_cls)

cgroup on /sys/fs/cgroup/devices typecgroup (rw,nosuid,nodev,noexec,relatime,devices)

cgroup on /sys/fs/cgroup/perf_event typecgroup (rw,nosuid,nodev,noexec,relatime,perf_event)

cgroup on /sys/fs/cgroup/cpuset type cgroup(rw,nosuid,nodev,noexec,relatime,cpuset)

cgroup on /sys/fs/cgroup/memory type cgroup(rw,nosuid,nodev,noexec,relatime,memory)

configfs on /sys/kernel/config typeconfigfs (rw,relatime)

/dev/sda2 on / type xfs(rw,relatime,seclabel,attr2,inode64,noquota)

selinuxfs on /sys/fs/selinux type selinuxfs(rw,relatime)

debugfs on /sys/kernel/debug type debugfs(rw,relatime)

mqueue on /dev/mqueue type mqueue(rw,relatime,seclabel)

systemd-1 on /proc/sys/fs/binfmt_misc typeautofs (rw,relatime,fd=33,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)

hugetlbfs on /dev/hugepages type hugetlbfs(rw,relatime,seclabel)

sunrpc on /var/lib/nfs/rpc_pipefs typerpc_pipefs (rw,relatime)

nfsd on /proc/fs/nfsd type nfsd(rw,relatime)

 

 

演示使用mount挂载设备文件:

[[email protected] ~]# mount /dev/sdb1 /mnt

[[email protected] ~]# 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,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

/dev/sdb1on /mnt type ext4 (rw)

[[email protected] ~]#

 

演示我们挂载文件系统后,我们在一个终端上切换进到这个挂载的文件系统中的文件夹,然后在另一个终端上执行卸载这个文件系统,发现是不行的。

[[email protected] ~]# mount /dev/sdb1 /mnt

mount: /dev/sdb1 already mounted or /mntbusy

mount: according to mtab, /dev/sdb1 isalready mounted on /mnt

[[email protected] ~]# cd /mnt

[[email protected] mnt]# ls

fstab lost+found

[[email protected] mnt]#

[[email protected] ~]# umount /dev/sdb1

umount: /mnt: device is busy.

       (In some cases useful info about processes that use

        the device is found by lsof(8) or fuser(1))

[[email protected] ~]#

 

 

演示只读挂载:

[[email protected] ~]# umount /dev/sdb1

[[email protected] ~]# mount -r /dev/sdb1 /mnt

[[email protected] ~]# cp /etc/issue /mnt

cp: cannot create regular file `/mnt/issue‘: Read-only file system   //只读文件系统

[[email protected] ~]#

 

 

演示:

         /etc/目录下有一个特殊的文件,mtab,这个文件记录了当前系统上所挂载的每一个文件系统:

[[email protected] ~]# cat /etc/mtab  显示的内容与执行mount命令显示的内容一样。

/dev/sda2 / ext4 rw 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

devpts /dev/pts devpts rw,gid=5,mode=620 00

tmpfs /dev/shm tmpfs rw,rootcontext="system_u:object_r:tmpfs_t:s0"0 0

/dev/sda1 /boot ext4 rw 0 0

/dev/sda3 /testdir ext4 rw 0 0

none /proc/sys/fs/binfmt_misc binfmt_miscrw 0 0

vmware-vmblock /var/run/vmblock-fusefuse.vmware-vmblock rw,nosuid,nodev,default_permissions,allow_other 0 0

gvfs-fuse-daemon /root/.gvfsfuse.gvfs-fuse-daemon rw,nosuid,nodev 0 0

/dev/sr0 /media/CentOS_6.8_Final iso9660ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=05000 0

/dev/sdb1 /mnt ext4 ro 0 0

演示:挂载文件系统时,设置facl

         acl功能对我们自建的文件默认是不支持的,需要我们手动启动起来。

[[email protected] ~]# mount /dev/sdb1 /mnt

[[email protected] ~]# cd /mnt

[[email protected] mnt]# ls

fstab lost+found

[[email protected] mnt]# 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,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660 (ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

/dev/sdb1on /mnt type ext4 (rw)   //没有acl功能

[[email protected] mnt]# getfacl fstab

# file: fstab

# owner: root

# group: root

user::rw-

group::rw-

other::r--

 

 [[email protected]]# setfacl -m u:centos:rw-fstab   //因为这个文件系统不支持acl功能所                                                                                                            以设置也就不成功了。

setfacl: fstab: Operation not supported

[[email protected] mnt]# cd

[[email protected] ~]# umount /mnt

[[email protected] ~]# mount -o acl /dev/sdb1 /mnt   //挂载时指定文件系统支持acl功能

[[email protected] ~]# 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,rootcontext="system_u:object_r:tmpfs_t:s0")

/dev/sda1 on /boot type ext4 (rw)

/dev/sda3 on /testdir type ext4 (rw)

none on /proc/sys/fs/binfmt_misc typebinfmt_misc (rw)

vmware-vmblock on /var/run/vmblock-fusetype fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)

gvfs-fuse-daemon on /root/.gvfs typefuse.gvfs-fuse-daemon (rw,nosuid,nodev)

/dev/sr0 on /media/CentOS_6.8_Final typeiso9660(ro,nosuid,nodev,uhelper=udisks,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500)

/dev/sdb1on /mnt type ext4 (rw,acl)

 [[email protected]~]# cd /mnt

[[email protected] mnt]# setfacl -m u:centos:rw- fstab    //给哪个目录设置facl功能,就先进这                                                                                                                    个目录中

[[email protected] mnt]# getfacl fstab

# file: fstab

# owner: root

# group: root

user::rw-

user:centos:rw-

group::r--

mask::rw-

other::r--

 

[[email protected] mnt]#

 

 

演示:将一个目录挂载到另一个目录:

         例如,我们想通过目录“/mnt”访问目录“/etc

[[email protected] ~]# mount --bind /etc /mnt

[[email protected] ~]# ls /mnt

abrt                     idmapd.conf                   prelink.conf

acpi                     ImageMagick                   prelink.conf.d

adjtime                  init                          printcap

akonadi                 init.conf                     profile

aliases                  init.d                        profile.d

aliases.db               inittab                       protocols

alsa                     inputrc                       pulse

alternatives             ipa                           purple

anacrontab               iproute2                      quotagrpadmins

anthy-conf               issue                         quotatab

asound.conf              issue.net                     rc

at.deny                  java                          rc0.d

audisp                   jvm                           rc1.d

audit                    jvm-commmon     

 

演示:当我们卸载文件系统不成功时,先查看目录是被谁占用,然侯后在强行卸载:

 

第一步:

         现在一个终端上挂载一个文件系统,并且切换到这个文件系统内。

[[email protected] ~]# mount /dev/sdb1 /mnt

[[email protected] ~]# mount

/dev/sdb1 on /mnt type ext4 (rw)

[[email protected] ~]# cd /mnt

[[email protected] mnt]# ls

fstab lost+found

[[email protected] mnt]#

 

         第二步:在另外一个终端上进行普通的卸载,然后在进行查看,等后面的操作:

[[email protected] ~]# umount /mnt

umount: /mnt: device is busy.

       (In some cases useful info about processes that use

        the device is found by lsof(8) or fuser(1))

[[email protected] ~]# lsof /mnt   //可以查看被哪个进程占用了,并显示出进程号,谁登陆的,正在做什么,CWD表示工作目录,

COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

bash   6148 root  cwd    DIR  8,17     4096    2 /mnt

[[email protected] ~]#

[[email protected] ~]# fuser -v /mnt  //或者使用fuser命令,也能显示出,挂载点正在被哪个用                                                                  户的哪个进程甚至是哪个命令所占用的。“c”就表示当                                                                           前工作目录。

                     USER        PID ACCESS COMMAND

/mnt:                root       6148 ..c.. bash

[[email protected] ~]#

[[email protected] ~]# fuser -km /mnt  //将这个/mnt挂载点上的用户全部剔除注意,这样的剔除是直接上这个挂载点上的用户从远程连接上剔除的。

/mnt:                 6148c

技术分享然后这时候在卸载挂载点就没问题了。

 

 

 

演示:

         创建交换分区,启用和禁用交换分区,并查看交换分区的大小:

 

         1)(我们先划分一个分区,然后再将这个分区的分区ID改为82,使得这个分区能够           支持交换分区格式化)

         2)我们使用命令mkswap命令将分区格式化为swap类型

         3)使用swapon开启,或使用swapoff关闭分区

                            在这中间我们可以使用free命令来查看当前内存的使用状况;包括物理内存                                和交换内存                                                   

                                     free  -m:表示以兆为单位;

                                     free  -g:表示以G为单位;

                   但是如果大小不够1G的就变为0了。

 

 

[[email protected] ~]# mkswap /dev/sdb2

Setting up swapspace version 1, size =2104508 KiB

no label,UUID=cbcca6db-f4c8-4e57-89ae-7aaf46bacd90

[[email protected] ~]# free

            total       used       free    shared    buffers     cached

Mem:      1907300     622064    1285236       3652     30712     255116

-/+ buffers/cache:     336236   1571064

Swap:     4095996          0    4095996

 

[[email protected] ~]# free -m

            total       used       free    shared    buffers     cached

Mem:          1862        607       1255          3         30        249

-/+ buffers/cache:        328       1534

Swap:         3999          0       3999

[[email protected] ~]# free -g

            total       used       free    shared    buffers     cached

Mem:             1          0          1          0          0          0

-/+ buffers/cache:          0          1

Swap:            3          0          3

[[email protected] ~]# swapon /dev/sdb2

[[email protected] ~]# free -g

            total       used       free    shared    buffers     cached

Mem:             1          0          1          0          0          0

-/+ buffers/cache:          0          1

Swap:            5         0          5

[[email protected] ~]# swapoff /dev/sdb2

[[email protected] ~]# free -g

            total       used       free    shared    buffers     cached

Mem:             1         0          1          0          0          0

-/+ buffers/cache:          0          1

Swap:            3          0          3

 

 

演示编辑文件“/etc/fstab”自动挂载设备

 

         1vim  /etc/fstab

         2)在文件的后面加上我们要挂在的文件

                  /dev/sdb1              /mydata            ext4          defaults             0                0

                   我们还可以根据卷标进行挂载:并还可以设置挂载选项,添加acl选项用逗号隔开

                   LABEL=MYDATA            /mydata            ext4          defaults,acl               0                0

         3)编辑文件后,我们执行下面的命令:

                     mount -a   //可自动挂载定义在/etc/fstab文件中的所有支持自动挂载的设备

 

 

 

练习:

         1.创建一个10G的分区,并格式化为ext4文件系统;

                   1block大小为2048;预留空间为2%,卷标为MYDATA;

                   2)挂载至 /mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问                      时间戳;

                   3)开机时可自动挂载;

         2.创建一个大小为1Gswap分区,并启动


本文出自 “11847750” 博客,请务必保留此出处http://11857750.blog.51cto.com/11847750/1875119

以上是关于linux磁盘及文件管理进阶的主要内容,如果未能解决你的问题,请参考以下文章

Linux磁盘及文件系统管理进阶

linux磁盘及文件管理进阶

Linux学习41 yum实战进阶及shell脚本实现磁盘管理实战

Linux磁盘及文件系统管理1

Linux运维从入门到进阶

26.linux磁盘使用及文件管理系统介绍