system2之:4-文件系统管理(上)
文件系统
管理文件和目录的一套机制
1.文件存取
2.文件的查找
3.文件的大小、文件的多少。
4.一个目录可以存放多少个文件
5.文件的命名
6.一个分区可以多大
等 文件系统管理磁盘上的文件。
文件类型:普通文件(-),目录文件(d),链接文件(l)
,块文件(b)
文件系统如何得到?
将一个分区格式化就可以得到一个文件系统了
分区=文件系统
安装系统的时候,默认到底分多少个分区?
/ 根据实际情况,尽可能的大些
swap 4G
/boot 500M
==
/
swap
/home
/boot
?
方法1:
[root@station6 ~]# ls /lib/modules/2.6.32-279.el6.i686/kernel/fs/
autofs4 configfs exportfs fat jbd mbcache.ko nls
btrfs cramfs ext2 fscache jbd2 nfs squashfs
cachefiles dlm ext3 fuse jffs2 nfs_common ubifs
cifs ecryptfs ext4 gfs2 lockd nfsd udf
[root@station6 ~]#
linux支持的文件系统很多,但是我们平常用到的,常用的也就那么几种,ext2,ext3,ext4,vfat,ntfs,iso9660等。
cifs:windows 和 linux共享数据时用到(common internet file system)
nfs:network file system
ext2:Linux基本文件系统
ext3:ext2的增强版本,是Linux的默认文件系统
ext4:ext文件系统的第四个版本
swap:交换文件系统
nfs:网络文件系统,适合Linux或Unix机器间共享
其它文件系统
vfat:windows早期文件系统
ntfs:windows默认文件系统,功能非常强大
iso9660:CD光盘的只读文件系统
GFS:google专用存储海量搜索数据而设计的专用文件系统
reiserfs:早期linux使用的日志功能的文件系统
Linux内核采用虚拟文件系统层(VFS)
,kernel管理文件通过vfs 接口
mount -t cifs //192.168.1.2/share /mnt -o username=administrator%pwd
[root@host ~]# df -Th
/dev/sda3 ext4 321G 32G 274G 11% /
tmpfs tmpfs 1.9G 212K 1.9G 1% /dev/shm
/dev/sda1 ext4 92G 212M 87G 1% /boot
方法三:
[root@host ~]# mkfs
mkfs mkfs.ext2 mkfs.ext4 mkfs.msdos
mkfs.cramfs mkfs.ext3 mkfs.ext4dev mkfs.vfat
这里没有ntfs,需要下载ntfs软件就可以对ntfs文件格式化
的版本?
[root@host ~]#
cat /etc/issue
Red Hat Enterprise Linux Server release 6.3 (Santiago)
Kernel \r on an \m
[root@host ~]#
lsb_release -a
Linux正统的文件系统(如ext2、ext3)一个文件由目录项、inode和数据块(block)组成。
目录项:包括文件名和inode节点号。
Inode:又称文件索引节点,是文件基本信息的存放地和数据块指针存放地。
一个块八个扇区,一个扇区512大小
,所以默认一个块大小就是4096
结构图如下:
图
文件系统的组成:
superblock(超级块):记录此 file system 的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式(第二块)
inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的 block 号码
inode用光之后,即使block有空间也不能存入数据
Boot Sector 與 Superblock 各需要 1 KB,這個問題就取決於 block 的大小定義,假設 block = 1 KB,那 Boot Sector 與 Superblock 自然位於不同的 block 中;但如果 block >= 2 KB 時,那麼 Boot Sector 與 Superblock 就會位於同一個 bloc
如下第一列的数字第一列就是inode的表示
[root@station6 ~]# ll -i
总用量 160
10748155 -rw-r--r-- 1 root root 96256 6月 16 20:56 Linux-tcpdump.doc
1966585 -rw-r--r-- 1 root root 33792 6月 18 20:27 ntp时间服务器搭建.doc
10748089 -rw-r--r-- 1 root root 12800 6月 16 20:56 tcpdump-test.doc
1966527 drwxr-xr-x 7 root root 4096 6月 21 20:40 vmware
1966107 drwxr-xr-x 2 root root 4096 6月 6 19:32 YozoWeboffice
[root@station6 ~]#
[root@host ~]# stat /etc/hosts
查
看文件状态
File: "/etc/hosts"
Size: 184 Blocks: 8 IO Block: 4096(每次读的块的大小) 普通文件(regular file)
Device: 803h/2051d Inode: 12058661 Links: 2
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
访问时间Access: 2013-07-18 16:12:50.339969307 +0800
修改时间Modify: 2013-07-16 16:08:04.639084950 +0800
改变时间Change: 2013-07-16 16:08:04.672583679 +0800 文件属性被改变
[root@host ~]#
查看ext2和ext3,etx4文件系统信息
[root@station6 ~]# dumpe2fs /dev/sda1|head -20 可以查看到块的大小
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: /boot
Filesystem UUID: cbd9c68b-61bf-4b69-a883-0d995a2b424d
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
表示你的文件系统没有出现问题,例如突然停电,
数据来不及保存。
日志里有记录,但是没有实际的数据,需要修复,fsck可以根据日志进行修复
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 51200
Block count: 204800
Reserved block count: 10240
Free blocks: 56113
Free inodes: 49679
First block: 1
Block size: 1024
Fragment size: 1024
Reserved GDT blocks: 256
[root@li ~]# blkid
/dev/sda3: UUID="ed56849d-1483-4573-ab3a-df45a9ee2f78" TYPE="ext4"
/dev/sda1: UUID="198d77c8-04ae-4ccb-91c4-fced324c2bad" TYPE="ext4"
/dev/sda2: UUID="1a3b7a23-a08d-4874-8cce-0d2db0e4b21f" TYPE="swap"
/dev/sdb5: UUID="9150a0ae-f691-424b-9d8e-a017d1ebe4e4" TYPE="ext4"
/dev/sdc1: UUID="942af69a-e741-4b29-bb30-a81ab4ef2c70" TYPE="ext4"
/dev/sdc2: UUID="df35355a-e0ac-4119-8993-5402fdb74360" TYPE="ext4"
/dev/sdc3: LABEL="tanghailong" UUID="1930ebcc-fe91-4b9e-9b0a-719f765ebc24" TYPE="ext4"
[root@li ~]#
其建立分区
格式化分区建立文件系统
检验文件系统
装载文件系统(mount)
[root@520 ~]# parted /dev/sdc print 也可以查看文件系统 (fdisk -l 常用)
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdc: 2190GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 3000MB 2999MB ext4 music
2 3001MB 10.0GB 6999MB ext4 m
3 10.0GB 20.0GB 10000MB u
4 20.0GB 60.0GB 40.0GB movie
[root@520 ~]#
fdisk不能查看lable的原因是不支持gpt格式表
1. fdisk命令 创建分区,MBR分区
http://dngood.blog.51cto.com/446195/647702/#559183-youdao-1-10240-9d08155edb1d770a7a5fd411dbfab9a6)
parted配置gpt分区过程:
ls /dev/sdc* 可以显示说明分区成功。
----------------------------------------------------------------------------------------------------------------------------------
[root@host ~]# parted
GNU Parted 2.1
使用 /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA ST500DM002-1BD14 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File system 标志
1 1049kB 100GB 100GB primary ext4 启动
2 100GB 150GB 50.0GB primary linux-swap(v1)
3 150GB 500GB 350GB primary ext4
(parted) quit
[root@host ~]# parted /dev/sdb
GNU Parted 2.1
使用 /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: TOSHIBA TransMemory (scsi)
Disk /dev/sdb: 7803MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system 标志
1 323MB 7803MB 7480MB primary fat32 启动, lba
(parted)
2.mkfs命令 格式化
用途:Make Filesystem,创建文件系统(格式化)
格式:mkfs -t 文件系统类型 分区设备
backup 备份
[root@localhost ~]# mkfs -t ext3 /dev/sdb1
等价于:
[root@localhost ~]# mkfs.ext3 /dev/sdb1
创建ext2文件系统:mke2fs
-b:指定块大小(块的大小可以自己定义,一个块大小4096字节,加入一个文件21k的话,就绪要6个块来存放,块的大小越小格式化后的块的数量越多查找内容时就会需要更长的时间;块越大,如果有很多小文件的话,
例如:1k的小文件很多,就会导致很多空间就浪费了)
-i:指定每个i节点有多少字节()
-j:建立文件系统日志
mke2fs、mkfs.ext2和mkfs -t ext2效果是一样的
?
blkid命令
语法:blkid [分区设备文件]
[root@li~]# mkfs.ext4 -L tanghailong /dev/sdc3
== [root@li ~]# blkid
/dev/sda3: UUID="ed56849d-1483-4573-ab3a-df45a9ee2f78" TYPE="ext4"
/dev/sda1: UUID="198d77c8-04ae-4ccb-91c4-fced324c2bad" TYPE="ext4"
/dev/sda2: UUID="1a3b7a23-a08d-4874-8cce-0d2db0e4b21f" TYPE="swap"
/dev/sdb5: UUID="9150a0ae-f691-424b-9d8e-a017d1ebe4e4" TYPE="ext4"
/dev/sdc1: UUID="942af69a-e741-4b29-bb30-a81ab4ef2c70" TYPE="ext4"
/dev/sdc2: UUID="df35355a-e0ac-4119-8993-5402fdb74360" TYPE="ext4"
/dev/sdc3: LABEL="tanghailong" UUID="1930ebcc-fe91-4b9e-9b0a-719f765ebc24" TYPE="ext4"
[root@li ~]#
[root@lichao520 ~]# dumpe2fs /dev/sdc3|more
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: tanghailong
Last mounted on: <not available>
Filesystem UUID: 1930ebcc-fe91-4b9e-9b0a-719f765ebc24
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index f
iletype extent flex_bg sparse_super large_file huge_file uninit_bg dir_
nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
设置lable:e2lable mkfs.ext4
3.fsck 诊断修复文件系统
fsck命令
用途:file system check,诊断修复文件系统
格式:fsck -t 文件系统类型 分区设备
修复文件系统前,建议先将文件系统卸载(umount)。再修复
看能修复的文件系统类系
fsck fsck.ext2 fsck.ext4 fsck.msdos
fsck.cramfs fsck.ext3 fsck.ext4dev fsck.vfat
超级块不能被破坏,一旦破坏系统就会被损坏
图2
grub>形式的问题:
营救模式下fsck.ext4 /dev/sda1 修复
另外一种修复:
先备份到文件file下
dd if=/dev/sda1 of=file bs=1024 count=1
然后损坏相同大小的空间
dd if=/dev/zero of=/dev/sda1 bs=1024 count=1
营救模式下cd /mnt/sysimage
然后dd if=file of=/dev/sda1 bs=1024 count=1
破坏MBR超级块(开头的512字节)
破坏/目录,也要进营救模式fsck
怎么拿到一个平台??
1.光盘进入营救模式
2.网络进入营救模式 :
URL
ftp://10.0.0.254/rhl6.3
错误如下所示:
破坏superblock
[root@lichao520 ~]# dd if=/dev/zero of=/dev/sdc1 bs=512 count=5
5+0 records in
5+0 records out
2560 bytes (2.6 kB) copied, 0.00112969 s, 2.3 MB/s
[root@lichao520 ~]#
[root@lichao520 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 18121032 3039168 14161340 18% /
tmpfs 189948 260 189688 1% /dev/shm
/dev/sda1 495844 35002 435242 8% /boot
/dev/sr0 3027366 3027366 0 100% /media/RHEL_6.3 i386 Disc 1
/dev/sdc1 73786976294838160280 73786976294835347520 2812760 100% /music
[root@lichao520 ~]# umount /music/ 卸载(自己破坏后根本无法卸载,提示说系统繁忙)
[root@lichao520 ~]#
修复文件系统前,建议先将文件系统卸载。再修复(没卸载也没出问题???)
===
[root@lichao520 ~]# mount /dev/sdc1 /music/
mount: you must specify the filesystem type
[root@lichao520 ~]#
===
[root@lichao520 ~]# dumpe2fs /dev/sdc1|more
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 942af69a-e741-4b29-bb30-a81ab4ef2c70
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index f
iletype extent flex_bg sparse_super large_file huge_file uninit_bg dir_
nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: not clean 不是非常纯洁的文件系统了
[root@lichao520 ~]# fsck /dev/sdc1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/sdc1 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Inode bitmap differences: -(12--14)
Fix<y>? yes 输入y,修复 /dev/sdc1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdc1: 11/183264 files (0.0% non-contiguous), 28970/732160 blocks
[root@lichao520 ~]# dumpe2fs /dev/sdc1|more
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: 942af69a-e741-4b29-bb30-a81ab4ef2c70
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index f
iletype extent flex_bg sparse_super large_file huge_file uninit_bg dir_
nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 183264
Block count: 732160
Reserved block count: 36608
Free blocks: 703190
Free inodes: 183253
First block: 0
Block size: 4096
Fragment size: 4096
[root@lichao520 ~]#
修复好,可以挂载使用
[root@lichao520 ~]# mount /dev/sdc1 /music/
[root@lichao520 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 18G 2.9G 14G 18% /
tmpfs tmpfs 186M 260K 186M 1% /dev/shm
/dev/sda1 ext4 485M 35M 426M 8% /boot
/dev/sr0 iso9660 2.9G 2.9G 0 100% /media/RHEL_6.3 i386 Disc 1
/dev/sdc1 ext4 2.8G 69M 2.6G 3% /music
[root@lichao520 ~]#
===
[root@lichao520 music]# cd
[root@lichao520 ~]# umount /music/
[root@lichao520 ~]# dumpe2fs /dev/sdc1|more
dumpe2fs 1.41.12 (17-May-2010)
dumpe2fs: Bad magic number in super-block while trying to open /dev/sdc1
Couldn't find valid filesystem superblock.
[root@lichao520 ~]# fsck -y /dev/sdc1
===
[root@lichao520 ~]# fsck -y /dev/sdc1
fsck from util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
fsck.ext2: Superblock invalid, trying backup blocks...
/dev/sdc1 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information /dev/sdc1: ***** FILE SYSTEM WAS MODIFIED *****
/dev/sdc1: 11/183264 files (0.0% non-contiguous), 28970/732160 blocks
[root@lichao520 ~]#
[root@lichao520 ~]# dumpe2fs /dev/sdc1|more 修复后,可以查看,说明它是用来查看superblock里的信息的
===
破坏/boot分区---》/dev/sda1
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 58G 1.8G 53G 4% /
tmpfs tmpfs 492M 0 492M 0% /dev/shm
/dev/sda1 ext4 485M 31M 429M 7% /boot
/dev/sda2 ext4 20G 172M 19G 1% /home
[root@localhost ~]# dd if=/dev/zero of=/dev/sda1 bs=512 count=8
8+0 records in
8+0 records out
4096 bytes (4.1 kB) copied, 0.00857931 s, 477 kB/s
[root@localhost ~]#
出现grub>
进入营救模式
切换根:
修复:
破坏/boot分区:(没有/boot启动不了)
破坏/分区:(所有数据都存在这里)
营救模式:相当于windows中的PE,光盘启动
LVM和标准分区破坏有些不同
dd if=/dev/zero of=/dev/sda1 bs=512 count=4
umount /boot
仍然能mkdir等操作,只是重启不能进入系统了
fsck -y /dev/sda1
修复,但是还是不能重启
重启后的情况:
情况如下:
分区--》格式化--》生成文件系统--》挂载使用
每个文件系统提供一个根目录作为文件系统的基础
挂载文件系统时,这个根目录绑定在系统目录树中一个已经存在的目录上
图3
新增加一块硬盘,然后把原/下面的目录数据挂载到新的磁盘去,不挂载到原/下面。
图4
不能进入系统才进营救模式修复,否则可以直接在系统内修复。破坏sdb系统文件对系统无影响,可以直接在系统内修复
[root@host ~]# mount 可以查看正在挂载的分区
/dev/sda3 on / type ext4 (rw)
proc on
/proc
type proc (rw)
从内存中拿出挂载到/proc,耗内存空间
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@host ~]#
===
[root@localhost ~]# mkfs.ext4 /dev/sdb1
[root@localhost ~]# mkfs.ext4 /dev/sdb2
[root@localhost ~]# mkdir /linux-1
[root@localhost ~]# mkdir /windows-1
[root@localhost ~]# mount -o ro /dev/sdb1 /linux-1
[root@localhost ~]# mount /dev/sdb2 /windows-1
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 58G 1.8G 53G 4% /
tmpfs tmpfs 492M 0 492M 0% /dev/shm
/dev/sda1 ext4 485M 31M 429M 7% /boot
/dev/sda2 ext4 20G 172M 19G 1% /home
/dev/sdb1 ext4 1020M 34M 935M 4% /linux-1
/dev/sdb2 ext4 2.0G 68M 1.9G 4% /windows-1
[root@localhost ~]#
[root@teacher proc]# cat /proc/mounts
rootfs / rootfs rw 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
devtmpfs /dev devtmpfs rw,nosuid,relatime,size=1957800k,nr_inodes=178887,mode=755 0 0
devpts /dev/pts devpts rw,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /dev/shm tmpfs rw,nosuid,nodev,relatime 0 0
/dev/sda3 / 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
/dev/loop0 /iso-hou iso9660 ro,relatime 0 0
gvfs-fuse-daemon /root/.gvfs fuse.gvfs-fuse-daemon rw,nosuid,nodev,relatime,user_id=0,group_id=0 0 0
[root@localhost ~]# umount /dev/sdb1 可以接磁盘名
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 58G 1.8G 53G 4% /
tmpfs tmpfs 492M 0 492M 0% /dev/shm
/dev/sda1 ext4 485M 31M 429M 7% /boot
/dev/sda2 ext4 20G 172M 19G 1% /home
/dev/sdb2 ext4 2.0G 68M 1.9G 4% /windows-1
[root@localhost ~]# umount /windows-1/ 也可以接挂载点,都能卸载
[root@localhost ~]# df -TH
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 62G 1.9G 57G 4% /
tmpfs tmpfs 516M 0 516M 0% /dev/shm
/dev/sda1 ext4 508M 32M 450M 7% /boot
/dev/sda2 ext4 21G 181M 20G 1% /home
[root@localhost ~]# 查看那个程序正在使用某个软件
lsof fuser
[root@localhost ~]# fuser -mv /linux-1/
USER PID ACCESS COMMAND
/linux-1/: root 1671 ..c.. bash
[root@localhost ~]# man fuser
[root@localhost ~]# fuser -k /linux-1/ 杀死/linux-1的进程
/linux-1/: 1671c
[root@localhost ~]# fuser -mv /linux-1/
当我fuser -k /root的时候,直接返回到登录界面去了。
===
[root@localhost ~]# lsof /linux-1/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 2153 root cwd DIR 8,17 4096 2 /linux-1
[root@localhost ~]# kill -9 2153
[root@localhost ~]# umount /linux-1/
查看那个程序正在打开某个文件
看内存使用率:free
[root@host ~]# free
total used free shared buffers cached
Mem: 3984528 3816072 168456 0 20280 2826316
-/+ buffers/cache: 969476 3015052
Swap: 48838648 84 48838564
[root@host ~]# free -m
total used free shared buffers cached
Mem: 3891 3724 167 0 19 2760
-/+ buffers/cache: 944 2947
Swap: 47693 0 47693
[root@host ~]#
buffer---》缓冲器---》内存往磁盘写数据的一个临时存放数据的空间
cached---》高速缓存--》当内存从磁盘读数据的时候,经常使用的数据存放再此
相同点:都是用来加速的。
当交换分区开始使用的时候,说明你的物理内存不够使用了,如何处理?
可以kill掉一些进程
[root@host ~]# cat /proc/swaps
Filename Type Size Used Priority
/dev/sda2 partition 48838648 84 -1
[root@host ~]#
[root@localhost ~]# mkswap /dev/sdb5
Setting up swapspace version 1, size = 2104476 KiB
no label, UUID=510684f2-b0c9-4951-8e09-6309ec1dc1b0
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 982 140 842 0 12 66
-/+ buffers/cache: 61 921
Swap: 1999 0 1999
[root@localhost ~]#
[root@localhost ~]# swapon /dev/sdb5 不swapon加载swap的话看不到更新
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 982 141 840 0 12 66
-/+ buffers/cache: 62 920
Swap: 4055 0 4055
[root@localhost ~]#
==
[root@localhost ~]# cat /proc/swaps 查看交换分区的组成
Filename Type Size Used Priority
/dev/sda3 partition 2047992 0 -1
/dev/sdb5 partition 2104472 0 -2
[root@localhost ~]# swapoff /dev/sdb5
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 982 140 841 0 12 66
-/+ buffers/cache: 61 921
Swap: 1999 0 1999
[root@localhost ~]# cat /proc/swaps 相当于swapon -s
Filename Type Size Used Priority
/dev/sda3 partition 2047992 0 -1
[root@localhost ~]#
先dd命令建一个固定大小的文件。
命令如下:
#dd if=/dev/zero of=/tmp/swap bs=1M count=256
#ll -h /tmp/swap
#mkswap /tmp/swap
#free -m
#mkswapon /tmp/swap 启动
#swapon -s
文件的路径不一定,后来我到根目录下也建了一个swap文件,依然可以扩充swap:
若创建后ls /dev/sdb*没有生成该分区,则可能是挂载使用了sdb,要先卸载umount,然后partprobe
使用文件系统标签标识设备
例如LABLE=/和/dev/sda1是一样的
在/etc/fstab文件中使用文件系统标签可以避免由于添加删除设备造成的设备文件标识混乱
e2label命令
查看和设置ext2或ext3,ext4文件系统的标签
e4label命令
查看和设置ext文件系统的标签
语法:e4label 分区设备文件 标签名
查看文件系统的标签
语法:blkid [分区设备文件]
root@localhost ~]# blkid
/dev/sda2: UUID="dceff403-85ea-4849-b95f-45364aafb696" TYPE="ext4"
/dev/sda3: UUID="16500f8a-4334-43fc-94d6-f867ffbc4e63" TYPE="swap"
/dev/sda5: UUID="e725f227-6051-4760-8fed-ccbf561aba44" TYPE="ext4"
/dev/sda1: UUID="2ae8aff8-5175-4bc4-a06d-c798c6b90aa1" TYPE="ext4"
/dev/sdb1: UUID="269709b8-8d60-4b59-adb1-f96700b24ad7" TYPE="ext4"
/dev/sdb2: UUID="1f14c12d-a948-45d4-bd54-e535d8f53bc2" TYPE="ext4"
/dev/sdb5: UUID="510684f2-b0c9-4951-8e09-6309ec1dc1b0" TYPE="swap"
/dev/sdb6: UUID="32fc1f30-5fab-4ffb-9741-e4f706fe92de" TYPE="swap"
/dev/sdc1: LABEL="music" UUID="ede0f887-6df5-4426-a719-cd4b71d00ba4" TYPE="ext4"
[root@localhost ~]# mkdir /music
[root@localhost ~]#
/etc/fstab内容
#
UUID=e725f227-6051-4760-8fed-ccbf561aba44 / ext4 defaults 1 1
UUID=2ae8aff8-5175-4bc4-a06d-c798c6b90aa1 /boot ext4 defaults 1 2
UUID=dceff403-85ea-4849-b95f-45364aafb696 /home ext4 defaults 1 2
UUID=16500f8a-4334-43fc-94d6-f867ffbc4e63 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /linux-1 ext4 defaults 0 0
LABEL=music /music ext4 defaults 0 0
第1列可以使用uuid、设备文件的路径、label
第1个0 代表不支持dump备份
/etc/fstab配置文件
包含了需要开机后自动挂载的文件系统记录
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 58G 1.8G 53G 4% /
tmpfs tmpfs 492M 0 492M 0% /dev/shm
/dev/sda1 ext4 485M 31M 429M 7% /boot
/dev/sda2 ext4 20G 172M 19G 1% /home
/dev/sdb1 ext4 1020M 34M 935M 4% /linux-1
/dev/sdb2 ext4 2.0G 68M 1.9G 4% /windows-1
/dev/sdc1 ext4 2.0G 68M 1.9G 4% /music
[root@localhost ~]#
[root@localhost ~]# mount
/dev/sda5 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/sda2 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /linux-1 type ext4 (rw)
/dev/sdb2 on /windows-1 type ext4 (rw)
/dev/sdc1 on /music type ext4 (rw)
[root@localhost ~]#
如
果u盘是fat32文件系统,linux系统自动挂载
===
安装ntfs-3g软件
[root@localhost ntfs-3g]# lftp 10.0.0.253
lftp 10.0.0.253:~> ls
-rw-r--r-- 1 0 0 5501525 Jun 02 12:27 FileZilla_3.7.0.2_i586-linux-gnu.tar.bz2
drwxr-xr-x 2 0 0 4096 Mar 31 00:01 centos
-rw-r--r-- 1 0 0 492892 Mar 16 19:19 chap09.pptx
drwxr-xr-x 2 0 0 4096 Jun 14 12:23 ftp-yum
drwxr-xr-x 2 0 0 4096 Jun 14 12:23 rhel6.3
drwxr-xr-x 21 0 0 4096 Jul 04 00:37 software
-rwxr-xr-x 1 0 0 716 May 27 01:44 test.sh
-rw-r--r-- 1 0 0 1014354 May 20 15:26 wqwq.bmp
drwxr-xr-x 2 0 0 4096 Apr 28 03:28 yum
lftp 10.0.0.253:/> cd software/
lftp 10.0.0.253:/software> get ntfs-3g_ntfsprogs-2011.4.12.tgz
1126704 bytes transferred
lftp 10.0.0.253:/software> quit
[root@localhost ntfs-3g]# ls
ntfs-3g_ntfsprogs-2011.4.12.tgz
[root@localhost ntfs-3g]#
=======
[root@localhost ntfs-3g]# tar xf ntfs-3g_ntfsprogs-2011.4.12.tgz
[root@localhost ntfs-3g]# ls
ntfs-3g_ntfsprogs-2011.4.12 ntfs-3g_ntfsprogs-2011.4.12.tgz
[root@localhost ntfs-3g]#
[root@localhost ntfs-3g_ntfsprogs-2011.4.12]# ./configure
[root@localhost ntfs-3g_ntfsprogs-2011.4.12]# make
[root@localhost ntfs-3g_ntfsprogs-2011.4.12]# make install
[root@localhost ntfs-3g_ntfsprogs-2011.4.12]#
==
使用
mount -t ntfs-3g /dev/sda1 /mnt/windows
or
ntfs-3g /dev/sda1 /mnt/windows
===
[root@teacher ~]# ntfs-3g /dev/sdc1 /feng
[root@teacher ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda3 ext4 321G 170G 136G 56% /
tmpfs tmpfs 1.9G 312K 1.9G 1% /dev/shm
/dev/sda1 ext4 92G 233M 87G 1% /boot
/var/ftp/software/iso/rhel6.3.x86.iso
iso9660 2.9G 2.9G 0 100% /iso-hou
/dev/sdb1 vfat 7.2G 6.5G 692M 91% /media/o
/dev/sdc1 fuseblk 932G 262G 670G 29% /feng
===
先fdisk新建一个分区,然后格式化
[root@localhost ~]# mkfs.ntfs /dev/sdc3
Cluster size has been automatically set to 4096 bytes.
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
[root@localhost ~]#
[root@localhost ~]# mkdir /aa
[root@localhost ~]# ntfs-3g /dev/sdc3 /aa
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda5 59887732 2118308 54727224 4% /
tmpfs 503108 0 503108 0% /dev/shm
/dev/sda1 495844 31214 439030 7% /boot
/dev/sda2 20158332 176064 18958268 1% /home
/dev/sdb1 1043548 34076 956460 4% /linux-1
/dev/sdb2 2071416 68636 1897556 4% /windows-1
/dev/sdc3 3156772 16328 3140444 1% /aa
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 58G 2.1G 53G 4% /
tmpfs tmpfs 492M 0 492M 0% /dev/shm
/dev/sda1 ext4 485M 31M 429M 7% /boot
/dev/sda2 ext4 20G 172M 19G 1% /home
/dev/sdb1 ext4 1020M 34M 935M 4% /linux-1
/dev/sdb2 ext4 2.0G 68M 1.9G 4% /windows-1
/dev/sdc3 fuseblk 3.1G 16M 3.0G 1% /aa
mount
blkid
fdisk -l (看不到文件系统类型)
ls /lib/modules/2.6.32*/kernel/fs
lsb_release
-a
只能查看BRM
ln -s
========================================================================================================================
磁盘配额的目的:
为了能够妥善的分配资源,引入配额这一概念,给用户设置空间使用上限,避免个别用户长期大量的占用空间。
Linux磁盘限额的特点
作用范围:针对指定的文件系统(分区)
限制对象:用户帐号、组帐号
限制类型:
磁盘容量(默认单位为KB)
文件数量
限制方法:软限制、硬限制
磁盘配额的步骤:
[root@localhost ~]# partprobe /dev/sdc
[root@localhost ~]# ls /dev/sdc*
/dev/sdc /dev/sdc1
[root@localhost ~]# partprobe /dev/sdb
[root@localhost ~]# ls /dev/sdb*
/dev/sdb /dev/sdb1 /dev/sdb2 /dev/sdb3 /dev/sdb5 /dev/sdb6
[root@localhost ~]# vim /etc/fstab
加:
/dev/sdc5 /movie ext4 defaults,usrquota,grpquota
0 0
突破配额的时候,配额则对它不起作用了。
[root@localhost ~]# mount -a
mount: mount point /movie does not exist
[root@localhost ~]# mkdir /movie
[root@localhost ~]# mount -a
[root@localhost ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda5 ext4 58G 2.1G 53G 4% /
tmpfs tmpfs 492M 0 492M 0% /dev/shm
/dev/sda1 ext4 485M 31M 429M 7% /boot
/dev/sda2 ext4 20G 172M 19G 1% /home
/dev/sdb1 ext4 1020M 34M 935M 4% /linux-1
/dev/sdb2 ext4 2.0G 68M 1.9G 4% /windows-1
/dev/sdc1 ext4 2.0G 68M 1.9G 4% /music
/dev/sdc5 ext4 1020M 34M 935M 4% /movie
[root@localhost ~]#
[root@localhost ~]# mount
/dev/sda5 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/sda2 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /linux-1 type ext4 (rw)
/dev/sdb2 on /windows-1 type ext4 (rw)
/dev/sdc1 on /music type ext4 (rw)
/dev/sdc5 on /movie type ext4 (rw,usrquota,grpquota)
5.生成配额文件
[root@localhost movie]# getenforce
Enforcing
[root@localhost movie]# setenforce 0
[root@localhost movie]# quotacheck -augv
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sdc5 [/movie] done
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Checked 2 directories and 0 files
quotacheck: Old file not found.
quotacheck: Old file not found.
[root@localhost movie]# ls -a
. .. aquota.group aquota.user lost+found
[root@localhost movie]#
6.开启配额功能
[root@localhost movie]# quotaon -a开启
[root@localhost movie]# quotaoff -a 关闭
7。新建用户验证
[root@localhost movie]# useradd xiaoliu
[root@localhost movie]# edquota -u xiaoliu
编辑用户的quota soft和hard限制
[root@localhost movie]#
Disk quotas for user xiaoliu (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdc5 0 8000 10000 0 0 0
[root@localhost movie]# su - xiaoliu
[xiaoliu@localhost ~]$ cd /movie/
[xiaoliu@localhost movie]$ ls
aquota.group aquota.user lost+found
[xiaoliu@localhost movie]$ mkdir xiaoliu
mkdir: 无法创建目录"xiaoliu": 权限不够
[xiaoliu@localhost movie]$ ll -d /movie/
drwxr-xr-x. 3 root root 4096 7月 19 18:56 /movie/
[xiaoliu@localhost movie]$ exit
logout
[root@localhost movie]#
[root@localhost movie]# chmod 777 /movie/
[xiaoliu@localhost movie]$ lftp 10.0.0.253
lftp 10.0.0.253:/software> get setup_kk_Ext_10_0001.exe
sdc5: warning, user block quota exceeded.[正接收数据]
sdc5: write failed, user block limit reached.
中断
lftp 10.0.0.253:/software>
[xiaoliu@localhost movie]$ dd if=/dev/zero of=liu.dd bs=1M count=10
dd: 正在写入"liu.dd": 超出磁盘限额
记录了1+0 的读入
记录了0+0 的写出
0字节(0 B)已复制,0.00373655 秒,0.0 kB/秒
[xiaoliu@localhost movie]$
===
[xiaoliu@localhost movie]$ quota -u xiaoliu 查看配额
Disk quotas for user xiaoliu (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdc5 10000* 8000 10000 6days 2 0 0
[xiaoliu@localhost movie]$ ls
aquota.group aquota.user liu.dd setup_kk_Ext_10_0001.exe
[xiaoliu@localhost movie]$ rm -rf setup_kk_Ext_10_0001.exe 删除些文件
[xiaoliu@localhost movie]$ quota -u xiaoliu
Disk quotas for user xiaoliu (uid 500):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdc5 0 8000 10000 1 0 0
[xiaoliu@localhost movie]$
遇到mount: wrong fs type, bad option, bad superblock on /dev/sdb5,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
问题怎么解决???
[root@localhost ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Jul 18 21:13:08 2013
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/VolGroup-lv_root / ext4 defaults 1 1
UUID=8ec600aa-0add-4859-b6b3-2e1e21a878be /boot ext4 defaults 1 2
/dev/mapper/VolGroup-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb5 /movie ext4 defaults,usrquota,grpquota 0 0
[root@localhost ~]# cat /movie
cat: /movie: 是一个目录
[root@localhost ~]# mount -a
mount: wrong fs type, bad option, bad superblock on /dev/sdb5,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
[root@localhost ~]#
[root@localhost movie]# blkid
看不到/dev/sdb5
,
未进行格式化
/dev/sda1: UUID="8ec600aa-0add-4859-b6b3-2e1e21a878be" TYPE="ext4"
/dev/sda2: UUID="Pap7Ba-SA2w-3Ymo-tLFS-QG8H-bPsl-Tf04iJ" TYPE="LVM2_member"
/dev/sdb1: UUID="f2dd70b1-4e32-43d4-9005-a45c0c142fab" TYPE="ext4"
/dev/sdb2: UUID="f87ca6fd-24b4-4146-8143-e5fc578a0453" TYPE="ext4"
/dev/mapper/VolGroup-lv_root: UUID="35de1c45-4dae-4b5a-8aa3-a5437c5126ac" TYPE="ext4"
[root@localhost movie]# dumpe2fs /dev/sdb5
查看文件系统信息
dumpe2fs 1.41.12 (17-May-2010)
dumpe2fs: Bad magic number in super-block 当尝试打开 /dev/sdb5 时
找不到有效的文件系统超级块.
[root@localhost movie]# mkfs.ext4 /dev/sdb5
格式化
[root@localhost movie]# mount -a
挂载所有的
[root@localhost movie]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/VolGroup-lv_root
18037532 1832136 15289124 11% /
tmpfs 527648 0 527648 0% /dev/shm
/dev/sda1 495844 31221 439023 7% /boot
/dev/sdb5 5170664 141336 4766668 3% /movie
system2之:4-文件系统管理(上)的更多相关文章
- uni-app调用原生的文件系统管理器(可选取附件上传)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Linux磁盘及文件系统管理
在LINUX中我们知道一个很重要的概念,那就是"一切皆文件",这里的一切表示所有在LINUX系统的对象,自然也包括了LINUX中的硬盘设备.在LINUX中所有设备都被抽象成一个文件 ...
- linux下fdisk分区管理、文件系统管理、挂载文件系统等
分区管理工具有:fdisk, parted, sfdisk fdisk:对于一块硬盘来讲,最多只能管理15分区: # fdisk -l [-u] [device...] 查看硬盘设备分区信息 # f ...
- 【linux相识相知】磁盘分区及文件系统管理详解
磁盘,提供持久的数据存储,它不像我们的内存,如果突然断电了,在内存中的数据一般都会被丢掉了,内存中的数据在保存的时候,会被写到硬盘里面,磁盘也是一种I/O设备. 我们都知道磁盘分区完成之后,还要进行格 ...
- Linux系列教程(十八)——Linux文件系统管理之文件系统常用命令
通过前面两篇博客,我们介绍了Linux系统的权限管理.Linux权限管理之ACL权限 介绍了通过设定 ACL 权限,我们为某个用户指定某个文件的特定权限,这在Linux只能对于一个文件只能有所有者权限 ...
- Linux之磁盘与文件系统管理
磁盘及文件系统管理详解 [参考文献:马哥视频] 原文:http://blog.csdn.net/u013008795/article/details/51150075 目前市场上主流的磁盘是机械式硬盘 ...
- Linux文件系统管理命令(第二版)
Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的 ...
- linux btrfs文件系统管理与应用
btrfs文件系统管理与应用 1.btrfs文件系统 基本介绍 btrfs文件系统在CentOS7.x上属于技术预览版 btrfs文件系统英文名:B-tree FileSystem或者Butter ...
- Linux:Day7(下) 磁盘管理、文件系统管理
Linux入门 Linux系统管理: 磁盘管理.文件系统管理 RAID基本原理.LVM2 网络管理:TCP/IP协议.Linux网络属性配置 程序包管理:rpm,yum 进程管理:htop,glanc ...
- Linux 文件系统管理
Linux 文件系统管理 课程大纲 文件系统构成及命令 硬盘分区及管理 磁盘配额 备份与恢复 文件系统构成 /usr/bin ./bin:存放所有用户可以执行的命令 /usr/s ...
随机推荐
- servlet从xml提取数据登陆
在xml文档下可以设置参数的初始值,在这里把他当成了数据库在用 <servlet> <description>This is the description of my J2E ...
- Android界面布局学习总结
参考文章: http://blog.csdn.net/shakespeare001/article/details/7843460 http://www.cnblogs.com/w-y-f/p/412 ...
- 《Python 二三事》——python学习必看(转载)
面向初学者介绍Python相关的一些工具,以及可能遇到的常见问题. 原文出处 原文作者:八八年出生的男性,互联网上常用id是 jagttt .目前正从事 IT 行业的工作.业余爱好是动漫游加电 ...
- extern "C" {} 来沟通C和C++
比如说你用C++开发了一个DLL库,为了能够让C语言也能够调用你的DLL输出(Export)的函数,你需要用extern "C"来强制编译器不要修改你的函数名. 通常,在C语言的头 ...
- Java 可变参数
java1.5增加了新特性:可变参数:适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理.注意:可变参数必须位于最后一项.当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持 ...
- JQuery jsonp使用小记
在一个不支持PHP的主机上,需要对某些页面做访问统计.我的方案是在静态的HTML页面上,用JSONP向能够执行PHP的主机进行跨域请求,从而使用PHP解决这个访问量统计问题. 在服务器端,PHP页面返 ...
- TCP协议握手与分手
TCP(Transmission Control Protocol) 传输控制协议 TCP的7次握手可以理解为3次握手和4次分手. TCP状态转换图,如下: 这个图N多人都知道,它对排除和定位网络或系 ...
- centos升级python到2.7
最近在阿里云租了一个云主机,打算部署自己的个人网站,但是centos系统的默认Python是2.6版本,打算升级到2.7.3! 查看python的版本 #python -V Python 2.6.6 ...
- Linux学习2
第三讲Linux常用命令04 压缩:gzip: 1.只能压缩文件,不能压缩目录 2.不保留源文件 解压缩:gunzip gzip -d ------------------------------ ...
- centos下Elasticsearch数据迁移与备份
########### ### 共享创建es官方网站就一句话 ######## 1.下载 文件共享 .. rpm -i http://mirror.symnds.com/distributions ...