linux文件系统怎么管理
Linux文件管理从用户的层面介绍了Linux管理文件的方式。Linux有一个树状结构来组织文件。树的顶端为根目录(/),节点为目录,而末端的叶子为包含数据的文件。当我们给出一个文件的完整路径时,我们从根目录出发,经过沿途各个目录,最终到达文件。那么linux文件系统怎么管理?下面跟着学习啦小编一起来了解一下吧。
linux文件系统管理方法
学习啦在线学习网 在linux中所有的东西都是文件
Linux文件系统的组织方式称做Filesystem Hierarchy Standard(文件系统分层标准,简称FHS),即采用层次式的树状目录结构。在此结构的最上层是根目录"/"(斜杠),然后在此根目录下是其他的目录和子目录
Linux与DOS及Windows一样,采用"路径"来表示文件或目录在文件系统中所处的层次。路径由以"/"为分隔符的多个目录名字符串组成,分为绝对路径和相对路径。所谓绝对路径是指由根目录"/"为起点来表示系统中某个文件或目录的位置的方法。例如如果用绝对路径表示图中第4层目录中的bin目录,应为"/usr/local/bin"。相对路径则是以当前目录为起点,表示系统中某个文件或目录在文件系统中的位置的方法。若当前工作目录是"/home",则用相对路径表示图中第4层目录中的bin目录,应为"hls/bin"或"./hls/bin",其中"./"表示当前目录,通常可以省略。
Linux文件系统的组织与Windows操作系统学习啦在线学习网不同。对于在Linux下使用的设备,不需要像Windows那样创建驱动器盘符,Linux会将包括本地磁盘、网络文件系统、CD-ROM和U盘等所有设备识别为设备文件,并嵌入到Linux文件系统中来进行管理。一个设备文件不占用文件系统的任何空间,仅仅是访问某个设备驱动程序的入口。Linux 系统中有两类特殊文件:面向字符的特殊文件和面向块(block)的特殊文件。前者允许I/O操作以字符的形式进行,而后者通过内存缓冲区来使数据的读写操作以数据块的方式实现。当对设备文件进行I/O操作时,该操作会被转给相应的设备驱动程序。一个设备文件是用主设备号(指出设备类型)和从设备号(指出是该类型中的第几个设备)来表示的,可以通过mknod命令进行创建。软盘、光盘和硬盘等典型设备文件在Linux系统中的表示方法。
典型设备文件在Linux系统中的表示方法
学习啦在线学习网 Linux文件名最长可允许256个字符,可以包括数字、字符,以及"."、"-"、"_"等符号。Linux文件名不像DOS或Windows由主文件名和扩展文件名两部分组成,Linux中没有扩展名的概念。Linux环境下,文件名对大小写敏感(Case Sensitive),例如test.txt与Test.txt会被识别成两个不同的文件,而DOS或Windows平台是不进行大小写区分的。
文件系统的构成
/usr/bin、/bin : -------------存放所有用户可以执行的命令
学习啦在线学习网 /usr/sbin、/sbin : -----------存放只有root可以执行的命令
/home :--------------------用户缺省宿主目录
/proc :---------------------虚拟文件系统,存放当前内存镜像
学习啦在线学习网 /dev :----------------------存放设备文件
学习啦在线学习网 /lib :-----------------------存放系统程序运行所需的共享库
/lost+foud :---------------存放一些系统出错的检查结果
/tmp :---------------------存放临时文件
/etc :-----------------------系统配置文件
/var :----------------------包含经常发生变动的文件,如:邮件、日志文件、计划任务等
/usr :----------------------存放所有命令、库、手册页等 类似于windows C盘下的WINDOWS目录
/mnt :----------------------临时文件系统的安装点
/boot :---------------------内核文件及自举程序文件保存位置
学习啦在线学习网 用windows下我们习惯把安装的程序放在Program files目录下,在linux下面习惯放在/user/local下。
查看文件命令
查看分区使用情况:df
查看文件、目录大小:du
检测修复文件系统: fsck、e2fsck
学习啦在线学习网 (单用户模式执行)
判断文件类型:file
df 查看linux磁盘分区情况
学习啦在线学习网 在windows下查看我们硬盘的分区很简单,打开“我的电脑”就知道有几个盘,鼠标放到盘符上就显示磁盘的大小,那么在linux下如何查看呢,其实也非常简单,一个命令的事儿
[root@bogon ~]# df -h
Filesystem 容量 已用 可用 已用% 挂载点
/dev/sda1 9.7G 3.3G 5.9G 37% /
none 506M 0 506M 0% /dev/shm
/dev/sda2 2.9G 37M 2.7G 2% /hzh
学习啦在线学习网 /dev/sda5 6.2G 47M 5.9G 1% /web
du 查看文件、目录的大小
学习啦在线学习网 windows下查看文件、目录的大小右键--属性,linux我们使用du命令进行查看。
学习啦在线学习网 root@fnngj-H24X:/hzh# du -h test.test ------查看文件的大小
4.0K test.test
root@fnngj-H24X:/# du -sh /etc ------查看目录的大小
7.1M /etc
file判断文件类型
学习啦在线学习网 我们知道linux下的文件不是同过后缀名来确定类型的,如果刚好某个文件没有定义后缀名,我们可以通过file命令来查看后缀名。
root@fnngj-H24X:/hzh# file test.test
test.test: ASCII text
添加磁盘、分区、格式化、挂载
这是我们在玩linux服务器时会遇到的一个问题,根据初期的规划,你linux上了一块500GB的硬盘,过了一段时间,不够用了。怎么办?换一个1TB的硬盘,把系统重装一下,把原来的数据拷贝到新硬盘上。这种方式可以,但太笨。直接在原系统上加一块硬盘不就行了。我们现在需要知道的就是如何让新加的这块硬盘给我们工作。
设置---根据图片的提示添加一块新的虚拟硬盘,嗯!这就是虚拟机的好处,可以帮我们模拟添加多块硬盘。呵呵
划分分区(fdisk)
创建文件系统(mkfs)
尝试挂载(mount)
写入配置文件(/etc/fstab)
查看新添加分区的硬盘信息:
学习啦在线学习网 [root@bogon ~]# dmesg | grep sdb sdb是我们添加的第二块硬盘
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
学习啦在线学习网 sdb: cache data unavailable
sdb: assuming drive cache: write through
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
sdb: cache data unavailable
学习啦在线学习网 sdb: assuming drive cache: write through
sdb: unknown partition table
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
如果敲入dmesg | grep sdb命令没有任何信息,那问题就大了,你的系统没有识别新添加胡硬盘。
对硬盘进行分区
下面先看一下我们添加的第二块硬盘的一些信息。
[root@bogon ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
学习啦在线学习网 Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
sdb中b表示第二块硬盘,如果想看我们第一块硬盘的信息,可以输入sda
[root@bogon ~]# fdisk -l /dev/sda
学习啦在线学习网 Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
学习啦在线学习网 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1275 10241406 83 Linux
/dev/sda2 1276 1657 3068415 83 Linux
/dev/sda3 1658 1788 1052257+ 82 Linux swap
学习啦在线学习网 /dev/sda4 1789 2610 6602715 5 Extended
/dev/sda5 1789 2610 6602683+ 83 Linux
下面开始真正的对硬盘进行分区
[root@bogon ~]# fdisk /dev/sdb
学习啦在线学习网 The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
学习啦在线学习网 and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
学习啦在线学习网 2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m ----- 按m可以获得帮助信息
学习啦在线学习网 Command action
学习啦在线学习网 a toggle a bootable flag
b edit bsd disklabel
学习啦在线学习网 c toggle the dos compatibility flag
学习啦在线学习网 d delete a partition -----删除分区
学习啦在线学习网 l list known partition types
学习啦在线学习网 m print this menu
n add a new partition -----添加一个新的分区
学习啦在线学习网 o create a new empty DOS partition table
学习啦在线学习网 p print the partition table -----显示分区表
q quit without saving changes -----不保存退出
s create a new empty Sun disklabel
t change a partition's system id -----改变文件系统类型
u change display/entry units
v verify the partition table
学习啦在线学习网 w write table to disk and exit ----- 保存退出
x extra functionality (experts only)
学习啦在线学习网 ------------------------------------------------------添加第一个主分区--------------------------
Command (m for help): p ----- 显示分区表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
学习啦在线学习网 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
学习啦在线学习网 Command (m for help): n ----- 添加新分区
学习啦在线学习网 Command action
学习啦在线学习网 e extended e是扩展分区
学习啦在线学习网 p primary partition (1-4) ----p是主分区,我们最多可以添加4个主分区
学习啦在线学习网 p ----- 按p表示我们要划分主分区
Partition number (1-4): 1 -----给主分区的一个编号1
First cylinder (1-1305, default 1): -----这1到1305是指扇面,这个比较麻烦,不选择直接回车
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +5120M ---- 这个地方我们要指定分区的大小,我们可以通过字节的方式来指定,国为我的硬盘是10G,我划分5G出来。
学习啦在线学习网 Command (m for help): p ----- 现在再来查看分区表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
学习啦在线学习网 Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
学习啦在线学习网 /dev/sdb1 1 623 5004216 83 Linux ----- 划分的第一个主分区信息出来了
-----------------------------------------------------添加第二个主分区---------------------------------
学习啦在线学习网 Command (m for help): n ----- 按n继续划分分区
Command action
e extended
学习啦在线学习网 p primary partition (1-4)
学习啦在线学习网 p -----p再划一个主分区
Partition number (1-4): 2 ----- 这里输入2表示第二个主分区
学习啦在线学习网 First cylinder (624-1305, default 624):
Using default value 624
学习啦在线学习网 Last cylinder or +size or +sizeM or +sizeK (624-1305, default 1305): ----- 我们要把剩余空间都给2,这里直接回车
Using default value 1305
Command (m for help): p ----- 再来查看分区表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 623 5004216 83 Linux
学习啦在线学习网 /dev/sdb2 624 1305 5478165 83 Linux ----- 划分的两个分区都出来了
指定磁盘的格式
接下来要指这文件系统的类型,现在的window分FAT32和NTFS是两种比较常见的分区,那linux下面磁盘支持的格式就非常多了
注:下面的操作不要退出fdisk模式
Command (m for help): t ----给分区指定表格
Partition number (1-4): 1 ----我们选编号为1的主分区
Hex code (type L to list codes): L ---- 这里我们不知道编号,可用L来查看所有的分区格式
83 Linux -----这个也就是我们刚划分的两个主分区的格式。
Hex code (type L to list codes): 83 ---- 如果不想改变原有格式直接输入83回车
删除分区
如果这时你发现自己的分区划分的不合理,想删除某一个分区,重新划分。
学习啦在线学习网 注:下面的操作不要退出fdisk模式
Command (m for help): d ----删除分区
Partition number (1-4): 2 ----这里选择删除第2个分区
Command (m for help): P
学习啦在线学习网 Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
学习啦在线学习网 Units = cylinders of 16065 * 512 = 8225280 bytes
学习啦在线学习网 Device Boot Start End Blocks Id System
/dev/sdb1 1 63 506016 83 Linux ---- 我们划分的两个分区只剩一个了
保存退出
当我们把分区分好以后,需要保存退出才能保存我们划分的分区。其它学习啦在线学习网非正常退出都不能保存我们划好的分区。
注:此处才是我们要退出fdisk模式的时候^_^
学习啦在线学习网 Command (m for help): w --w是保存退出,q是不保存退出
The partition table has been altered!
学习啦在线学习网 Calling ioctl() to re-read partition table.
学习啦在线学习网 Syncing disks.
磁盘格式话
学习啦在线学习网 ok!分区已经完毕,下面是不是应该对硬盘进行一下格式化了
学习啦在线学习网 [root@bogon ~]# mk -- 输入mk,按两下tab键,你会看到linux下面有许多分区命令
学习啦在线学习网 mkafmmap mkdosfs mkfs.ext2 mkisofs mktemp
mkbootdisk mke2fs mkfs.ext3 mklost+found mkxauth
mkcfm mkfifo mkfs.msdos mkmanifest mkzftree
学习啦在线学习网 mkcramfs mkfontdir mkfs.vfat mknod mkzonedb
mkdict mkfontscale mkhtmlindex mkSimNodeDir
mkdir mkfs mkhybrid mksock
mkdirhier mkfs.cramfs mkinitrd mkswap
windwos下我们在格式化的时候,可以指定FAT32和NTFS,那么linux下流行的格式为ext2和ext3 ,这里我们对划分好的第1个分区进行格式化,选用ext3的格式
[root@bogon ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
学习啦在线学习网 OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
626496 inodes, 1251054 blocks
学习啦在线学习网 62552 blocks (5.00%) reserved for the super user
学习啦在线学习网 First data block=0
Maximum filesystem blocks=1283457024
39 block groups
学习啦在线学习网 32768 blocks per group, 32768 fragments per group
16064 inodes per group
学习啦在线学习网 Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
学习啦在线学习网 180 days, whichever comes first. Use tune2fs -c or -i to override.
挂载分区
OK!现在硬盘分区也分好了,也进行了格式化,下面要使用这个分区了。在使用的时候我们需要对其进行挂载。就像前面我讲的挂在光盘一样。使用mount命令。
学习啦在线学习网 [root@bogon /]# mkdir /newsdb -----我们在根目录下创建一个做挂载点的目录/newsdb
[root@bogon /]# mount /dev/sdb1 /newsdb/ ---- 然后把格式化好的第1个分区/dev/sdb1 挂载到/newsdb目录下
学习啦在线学习网 [root@bogon /]# df -h
Filesystem 容量 已用 可用 已用% 挂载点
/dev/sda1 9.7G 3.3G 5.9G 37% /
学习啦在线学习网 none 506M 0 506M 0% /dev/shm
/dev/sda2 2.9G 37M 2.7G 2% /hzh
/dev/sda5 6.2G 47M 5.9G 1% /web
/dev/sdb1 4.7G 42M 4.5G 1% /newsdb
看过“ linux文件系统怎么管理 ”的人还看了:
3.linux文件系统怎样初始化步骤