Linux的磁盘与文件系统管理:
1. 查询磁盘信息:
dumpe2fs [-bh] 设备文件名
- b:列出保留为坏道的部分
- h:仅列出superblock的数据,不会列出其他的区段内容
2. 查询磁盘与目录的容量:
df [-ahikHTm] 文件或者目录名
- a :列出所有的文件系统,包括系统持有的/proc等文件系统
- k:以KB的容量显示各文件系统
- m:以MB的容量显示各文件系统
h:以人们较易阅读的GB,MB,KB等格式自行显示各文件系统
H:以M = 1000K的进制代替M = 1024K的进位方式
T:连同该分区的文件系统名也列出
i:不用硬盘容量,而用inode的数量来显示文件系统
或者
du [-ahskm] 文件或者目录名称
- a:列出所有的文件与目录容量
- h:以人们较容易读动的格式显示
- s:只列出总量,不列出各个目录占用的容量
- k:以KB的容量显示
m:以MB的容量显示
3. 链接文件:
ln [-sf] 源文件 目标文件
- s:如果不填加任何参数就连接,称为hard link (硬链接),有-s则称为symbolic link (符号链接)
- f:如果目标文件存在,就将其删除之后在创建
4. 磁盘分区/删除分区:
fdisk [-l] 设备名称
- l:输出后边接的设备的所有分区内容,若仅有fdisk -l时,则系统会把整个系统内能找到的设备的分区均列出来。使用fdisk命令进入菜单之后根据所获得的提示来操作即可。
5. 磁盘格式化:
mkfs [-t 文件系统格式] 设备文件名
- t:可以接文件系统格式,例如ext2,ext3,vfat等
或者
mke2fs [-b block大小] [-i block大小] [-L 卷标] [-cj] 设备
- b:设置block的大小,支持有1024,2048,4096bytes三种
- i:一个inode包含多少容量
- L:后边直接跟卷表名称
- c:检查磁盘错误,仅下达一次时只进行快速的读取测试,下达两次时会测试读写
- j:本来mke2fs是ext2,加上-j后会自动加上journal
而成为ext3
6. 磁盘检验:
fsck [-t 文件系统] [-ACay] 设备名称
- t:用于指定设备名称
- A:依据/etc/fstab的内容,将需要的设备扫描一次
- C:可以在检验的的过称中使用一个直方图来显示进度
- a:自动修复检测到的有问题的扇区
- y:与-a参数类似,但是有的文件系统只支持-y参数
或者是
badblock [-svw] 设备名称
- s:在屏幕上显示进度
- v:可以在屏幕上看到进度
- w:以写入的方式进行磁盘检验,会覆盖掉之前的数据
7. 磁盘挂载:
注意事项:
1. 单一文件系统不应该被重复挂载在不同的挂载点上
2. 单一目录不应该挂载多个文件系统
3. 作为挂载点的目录理论上都应该是空目录
mount -a
mount [-l]
mount [-t 文件系统] [-L label名] [-o 额外选项] [-n] 设备文件名 挂载点
- a:依照配置文件/etc/fstab的数据,将所有未挂载的磁盘都挂载上来
- l:单纯的输入mount只会列出当前挂载的信息,加上-l会增列label名称
- t:可加上文件系统种类来指定欲挂载的类型
- L:可以通过文件系统的卷标名来进行挂载
- n:在默认情况下,系统会将实际的挂载情况实时的写入/etc/mtab中,便于其他程序运行,但在某些情况下(单用户维护模式)不会主动写入,需要使用-n参数来指定
- o:可以接一些挂载时的额外参数,如帐号,密码,读写权限等:
- ro,rw:挂载文件系统为只读(ro)或者是可读写(rw)
- async,sync:文件系统的写入方式为同步(sync)或者是异步(async),默认为异步
- auto,noauto:允许此分区被mount -a自动挂载
- dev,nodev:是否允许在该分区上创建设备文件,dev为允许
- suid,nosuid:是否允许该分区上有suid/nosuid格式的文件
- exec,noexec:是否允许该分区上有可执行的二进制文件
- user,nouser:是否允许该分区让任何用户执行mount命令
- default:默认值为rw,suid,dev,exec,auto,nouser,async
- remount:重新挂载
8. 磁盘的卸载:
umount [-fn] 设备文件名或者挂载点
- f:强制卸载
- n:在不更新/etc/mtab的情况下卸载
Linux的压缩与打包:
常见的压缩文件拓展名:
1. *.z———compress程序压缩文件
2. *.gz———gzip程序压缩文件
3. *.bz2———bzip2程序压缩文件
4. *.tar———tar程序打包文件,并没有压缩
5. *.tar.gz———tar程序的打包文件,其中经过gzip程序压缩过
6. *.tar.bz2——tar程序的打包文件,其中经过bzip2程序压缩过
1. 压缩/解压:
(压缩)compress [-rcv] 文件或者目录
(解压缩)uncompress 文件.z
- r:连同目录下的文件也同时进行压缩
- c:将压缩数据通过标注输出,显示到屏幕上
- v:显示压缩后的文件信息和压缩过程中的文件名称的变化
或者:
(压缩)gzip [-cdtv#] 文件名
(解压缩)zcat 文件名.gz
- c:将压缩的数据显示到屏幕上,可以通过数据流的重定向来处理
- d:解压缩的参数
- t:可以用来检验一个压缩文件的一致性
- v:显示原文件/压缩文件的压缩比等信息
- #:压缩等级,-1最块,压缩比最差;-9最慢,压缩比最好。默认为-6
或者:
(压缩)bzip2 [-cdkzv#] 文件名
(解压缩)bzcat 文件名.bz2
- c:将压缩过程中的数据显示到屏幕上
- d: 解压缩的参数
- k:保留原文件
- z:压缩的参数
- v:显示原文件/压缩文件的压缩比等信息
- #:设置压缩比的参数,-9最好,-1最差,默认-6
2. 打包:
(压缩与打包)tar [-j | -z] [-cv] [-f 新建的文件名] filename
(查看文件名) tar [-j | -z] [-tv] [-f 新建的文件名]
(解压缩) tar [-j | -z] [xz] [-f 新建的文件名] [-C 目录]
- c:新建打包文件,可以搭配-v来查看打包过程中的文件名
- t:查看打包文件含有那些文件名
- x:解开打包或者是解开压缩,可以搭配-C在特定目录打开,注意-C,-t,-x不能在统一行命令中出现
- j:通过bzip2的支持进行压缩/解压缩,文件名最好是*.tar.bz2
- z:通过gzip的支持进行压缩/解压缩,文件名最好是*.tar.gz
- v: 在压缩/解压缩的过程中将正在处理的文件名显示出来
- f filename:-f后边接要处理的文件名
- C 目录:可以指定在特定目录进行解压缩