您的位置:首页 > 运维架构 > Linux

linux系统管理学习笔记之七---linux文件系统的操作

2010-02-08 15:46 716 查看
linux系统管理学习笔记之七---linux文件系统的操作

2010-01-04 16:29:26
 标签:linux 分区    [推送到技术圈]

文件系统的操作

主要有:常用文件系统的操作、磁盘的分区、文件系统的挂载与卸载、修改磁盘参数

一、常用文件系统的操作

1、df 命令 //列出磁盘可用空间

df [-ahikhTm] [分区或卷标]

-a:列出所有文件系统
-k:以KB为单位显示各文件系统
-m:以MB为单位显示文件系统
-h:以GB\MB\KB格式显示。
-i:显示inode的数量。而不显示硬盘容量。
-T:连同该分区的文件系统名一起列出来。(如ext3)
后面接分区或卷标:就是示的分区的信息

例:df -h //显示所有分区的使用情况

2、du [-ahskm] 文件或目录 //查看目录磁盘占用空间

-a 列出所有的文件和目录容量。默认仅统计目录下的文件量。
-h:以以GB\MB\KB这种易读的格式显示。
-k:以KB为单位显示各文件系统
-m:以MB为单位显示文件系统
-s:列出总和。不显示每个目录占用的容量。

3、ln 链接命令

ln分为硬链接和软链接两种

(1)硬链接:linux文件系统把每个文件都分配一个inode号,即索引号,用以记录文件属性,和指引文件存放的块位置。硬链接即多个目录指向同一个文件inode位置的多条数据关联文件而以。即一个文件不同目录下的相同文件名,但指引的还是同一个文件。
不能给目录创建硬链接。只有在同一文件系统下才创建硬链接,不能跨分区,跨文件系统。
例: /home/khp/a.txt 这个文件a.txt建立时,inode号就已经建立,用以指引这个文件。当要找a.txt文件时,先找到/home/khp这个目录的inode,再找到/home/khp这个目录的块,块里面记录着下级文件a.txt的inode存放位置(假设a.txt的inode号为10086)10086,以指向a.txt的inode。找到a.txt的inode,再根据 inode中的内容读出inode所指的块,读出文件内容。
当我把/home/khp/a.txt这个文件做硬链接到 /home/pla/a.txt ,此时只是在目录/home/pla的块中增加一条指向inode位置为10086的数据关联文件,要找/home/pla/a.txt还是先找到/home/pla这个目录的inode,再找到这个目录的块,从块里读取a.txt的inode的所在位置,因为此时inode位置仍为10086,所以仍读出相同的块所指位置,读出相同的文件内容。
即/home/khp/a.txt和/home/pla/a.txt其实是同一个文件。只是在目录/home/khp和/home/pla中都增加了一条指向了文件a.txt的inode位置的关联文件。inode位置相同都为10086,指引的块也相同,内容当然也相同。所以即是一个文件的不同目录的相同文件名。

硬链接的删除:如上例中,不管我删除哪一个目录下的a.txt,只是删除了相关目录中的块中的关联数据罢了。并不会删除文件的数据。要彻底删除一个做了硬链接的文件,就要删除做了硬链接的文件名的所有链接。
硬链接和复制不一样,复制是两个块区分别存放这个文件,而硬链接只有一个块区存放文件。只是在不同的目录的块区中增加关联数据。

(2)软链接:可以链接目录。如同windows的快捷方式。源文件的内容改了目标文件也会改。源文件或目录删除了,则目标文件或目录也就失效了。

ln [-sf] 源文件 目标文件

-s:代表软链接,不加就是硬链接
-f:如目标文件存在就先删掉存在的文件再建立链接文件。

二、磁盘的分区

(一) fdisk命令

1、fdisk -l //是示分区情况
2、fdisk {设备名或分区}
fdisk /dev/hda //即用fdisk设置第一块ide接口硬盘的第一个分区
运行fdisk {设备名} 后可用的参数:

a:设置或清除可引导标志
d:删除分区
l:列出已知分区类型,约有100种
m:显示可用的fdisk命令
n:配置新分区
p:列出当前分区表
q:退出fdisk程序不保存
v:验证当前分区表
w:退出fdisk程序,但会保存设置
t:改变一个分区的id
o:建一个空dos分区
s:建一个空的sun分区

(二)对磁盘进行分区

1、对一个新增硬盘进行分区
(1)fdisk /dev/hda //用fdisk命令设置新硬盘。注意后面是硬盘符,不是分区符,此处表示的是第一块ide硬盘
(2) n命令建立新分区
(3)因为是新建盘,所以要确定是主分区还是逻辑分区, 所以会有提示,p是建立主分区,e是建立扩展分区
最好是 p 命令先建一个100M的主分区作为boot分区,然后用p或e命令建立主分区或扩展分区
(4)分完区后,键入w保存退出

注意: hda1到hda4保留给主分区,如果只有一个主分区,其他的都逻辑分区,则分区号是hda1,hda5,hda6。2--4保留起来,只能用在主分区。逻辑分区从5开始排起。

2、硬盘剩余空间分区:

(1) fdisk -l 查看分区情况。可以查看是否有剩余空间。比较硬盘最后一个分区的磁柱与整个硬盘的磁柱是否相同就可以看出来是否有剩余空间隔
(2) fdisk /dev/硬盘符 (例: fdisk /dev/hda ) ,此处是进入剩余空间的硬盘。
(3) 用 n命令给剩余空间划分区。 输入开始磁柱号和结束磁柱号。
(4)分完区后,键入w保存退出

3、改变分区:

(1) fdisk -l 查看分区情况。
(2) fdisk /dev/硬盘符 (例: fdisk /dev/hda )
(3) 用命令 t 改变分区的格式
(4) 选择要改变格式的分区
(5) 输入新的格式,改变分区。 进入fdisk程序后,可以用 l命令查看格式类型。
(6)分完区后,键入w保存退出

分区完后,需重启或用命令 partprobe 重载分区

4、格式化分区 //分区完成后要对分区进行格式化

(1) mke2fs [-bicLjm] 分区或设备名

-b:设置分区每个块的大小
-i:设置每个inode点用的空间。即inode的大小
-j:加上-j就格式化为ext3格式,带有日志。不加就是ext2格式
-c:检查磁盘错误。仅执行一次。 -c时,会进行快速检测。
-m:一个分区按百分比保留空间作为管理空间
-L:后面可以接卷标。

mke2fs -j /dev/hda5 //把这个分区格式化为ext3格式

(2) mkfs -t 格式 /分区或设备
mkfs -t ext3 /dev/hda5 //把hda5这个分区,格式化为ext3格式。 不加参数 -t ,默认为ext2

分区完后还要对分区进行挂载才能使用,挂载稍后再讲。

三、检验磁盘和修改磁盘参数

(一)查看和检验磁盘

1、fsck命令

fsck [-aArtCf] 分区或设备名

-a:自动修复文件系统,不询问任何问题
-f:强制检查。要求强制检查文件系统
-C:(大写)可以显示当前进度
-r:采用互动模式。在执行时,需用户确认
-A:按照/etc/fstab配置文件的内容检查文件内所列的文件系统
-y:与-a功能一样,有些系统只识别-y。

2、badblocks [-svw] 分区或设备名 //检查坏道。s和v都是显示进度的。 w参数最好不用。
因为fsck比较强大,很少用到这个命令

3、sync

把缓存在内存中的内容写到磁盘中去。

(二)更改磁盘参数

1、e2label /分区或设备名 [卷标] // 查看或更改卷标

后面不接卷标名就是查看,接卷标名就是更改。

2、dumpe2fs 分区或设备名 //查看分区详细的参数,包括最后装载时间和写入时间等。

3、tune2fs [-jlLi][-c count][-i count] 分区或设备名

-j :将ext2的文件系统转换成ext3文件系统
-l:查看详细参数,将超级块内的数据读出来。 类似于 dumpe2fs -h的功能
-L:修改卷标。类似于 e2label的功能。
-c count :count表示次数。即自动挂载多少次后检测磁盘
-i count :count表示天数。挂载多少天后检测磁盘
-m count: count表示空间。预留硬盘系统空间。

四、磁盘的挂载与卸载

linux的文件系统与其他的不一样,所有的设备都要挂载到文件上,才能使用。

1、mount命令

mount [-atonL] 设备名称或分区 挂载点

mount -a:按照 /etc/fstab的内容将所有的相关磁盘都挂载上
-n:当载入文件系统到linux时,linux会主动的把这些都记录到/etc/mtab中
-L: 可以用卷标来挂载文件系统。
-o: 后面接参数。参数有很多,如:ro rw ;auto,noauto; async,sync; dev,nodev;suid,nosuid等等。
-t:后面接类型 。即挂载的格式。格式有: ext2 ext3 iso9660(cd-rom光盘格式) msdos vfat(wind9x格式)

设备名或分区: /dev/device //device可为: fd0(软盘) cdrom(光盘) hda (硬盘) sda(scsi硬盘)

/dev/hdb2 //表示为 第二块IDE硬盘的第二个分区。 硬盘号用abcde.....字母排序,分区号用12345....数字排序

挂载点: 即先建 好的目录。

例: mount -t ext3 /dev/hda3 /tmp/dev //即把 分区 /dev/hda3以ext3格式挂载到/tmp/dev目录。以后访问tmp/dev/目录就是访问这个分区了。

mount -t smbfs -o username=user;password=xxxxx //192.168.9.1/driver /home/khp/driver //即把192.168.9.1这台电脑上的dirver文件夹,挂载到 /home/khp/driver这个文件夹下面。

可挂载xp电脑的ntfs格式的共享目录。 user是指用户名, xxxx指密码。这是指192.168.9.1这台主机授权的用户和密码。

2、umount 卸载命令

umount 分区设备号 或载入点

umount /dev/hda3

umount /tmp/dev //这两条都可以卸载上例中的挂载。
本文出自 51CTO.COM技术博客
[align=center]上一篇 linux系统管理学习笔记之六---linux文件系统  下一篇 linux系统管理学习笔记之八---linux文件与目录..
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐