1:磁盘分区
磁盘物理结构:磁盘是计算机硬件的重要组成之一。磁盘主要是由磁盘盘片、传动手臂、磁头与主轴马达以及传动轴所组成。
磁道、柱面、扇区、磁头
磁盘分区:
主分区、扩展分区和逻辑分区,每一个硬盘设备最多能有 4个主分区,任何一个扩展分区都要占用一个主分区号码,硬盘中主分区和扩展分区一共最多是 4 个,逻辑分区的数量不限。
硬盘分区:
是针对一个硬盘进行操作的,其中主分区可以是1-3个,扩展分区可以有0-1个,逻辑分区则没有什么限制。
Linux系统中磁盘设备名称:
- 系统第一块IDE接口的硬盘称为/dev/hda,而它的第一个分区则称为/dev/hda1。
- 系统第二块IDE接口的硬盘称为/dev/hdb,而它的第三个分区则称为/dev/hdb3。
- 系统第一块SCSI接口的硬盘称为/dev/sda,而它的第一个分区则称为/dev/sda1。
- 系统第二块SCSI接口的硬盘称为/dev/sdb,而它的第五个分区则称为/dev/sdb5。
其中编号1-4为主分区或者扩展分区,逻辑分区从5开始编号。
2:文件目录
文件目录系统:Linux系统目录呈树形结构,文件系统只有一个根目录(通常用“/”表示),在根目录下面包含有下级子目录或文件的信息;子目录中又可含有更下级的子目录或者文件的信息。由于这种结构有点像树枝状,因此我们也把这种目录配置方式称为“目录树(directory
tree)”。
重要的目录:
目录 | 说明 |
---|---|
/ | 目录结构的顶层,一般根目录下只存放目录 |
/bin | Linux命令和可执行二进制文件 |
/boot | 系统内核文件和引导装载程序文件 |
/home | 用户宿主文件 |
/mnt | 临时挂载文件系统 |
/etc | 系统配置文件 |
/dev | Linux系统设备文件,终端,磁盘驱动器等 |
/lib | 库文件 |
/opt | 主机额外安装软件位置 |
/root | root宿主目录 |
/sbin | 系统管理员使用的可执行命令 |
/usr | 应用程序存放目录 |
/var | 经常变换的问题,如日志 |
/tmp | 临时文件 |
/srv | 服务启动后需要访问的数据目录 |
block包含:
用来存放数据,连续八个扇区组成,通常4kb
Inode包含:
- 文件的元信息
- 文件的字节数
- 文件拥有者的User ID
- 文件的Group ID
- 文件的读/写/执行权限
- 文件的时间戳
- 链接数
- 文件数据block的位置
文件组成:文件名、文件属性和数据
命令 | 说明 |
---|---|
stat | 查看文件的inode信息 |
df | 查看每个硬盘分区的inode总数和已经使用的数量 |
3:文件系统
文件系统:指文件存在的物理空间,在Linux系统中,每一个分区都是一个文件系统,都有自己的目录层次结构。
常用文件系统:
- ext2文件系统
- ext3文件系统
- Swap文件系统:交换分区
- VFAT文件系统
- NFS网络文件系统
- XFS日志文件系统
- ISO9660光盘所使用的标准文件系统
- proc文件系统
- VFS虚拟文件系统
对文件系统的操作:
命令 | 说明 |
---|---|
fdisk | fdisk为磁盘分区命令,用来创建分区、删除分区、查看分区信息 |
fdisk -l | 查看硬盘及分区信息 |
fdisk -l 硬盘名 | 单个硬盘情况 |
fdisk 硬盘名 | 进入分割硬盘模式 |
mkfs | 格式化命令 |
mount | 挂载命令 |
remount | 重新挂载已挂载的文件系统 |
umount | 文件系统使用完毕,需要对其进行卸载操作 |
du | 磁盘统计(统计目录磁盘使用情况) |
df | 磁盘空间统计(统计文件系统中未使用的磁盘空间) |
挂载VS卸载:
建立文件系统后,还需要将文件系统安装到Linux目录树的某个位置上才能使用。这个过
程称为挂载,文件系统所挂载到的目录称为挂载点。除磁盘分区外,其他存储设备(如软盘、光盘、USB盘等)的使用也需要进行挂载。
释放所挂载的目录称为卸载。
4:文件类型
文件:
是数据的集合,是操作系统用来存储信息的基本结构。
常见的Linux文件类型:
- 普通文件 标识: -
- 目录文件 标识:d
- 字符设备文件 标识:c
- 块设备文件 标识:b
- 链接文件 标识:l
硬链接:
多个文件对应一个inode节点为硬链接,当删除了原文件后,访问硬链接仍然可以访问到数据,直到所有的链接都删除才会物理删除原文件。
- 硬链接不能链接目录
- 硬链接不能链接不同文件系统
软连接:
符号链接,实际上是一个包含原文件位置信息的特殊文件。
创建硬链接和创建软连接:
#硬链接
ln 原文件名 链接名
#软链接
ln -s 原文件名 链接名
[root@centos7 home]# ln test.txt yinglianjie
[root@centos7 home]# ln -s test.txt ruanlianjie
[root@centos7 home]# ls -l
总用量 12
drwx------. 16 hdlazy hdlazy 4096 5月 16 14:47 hdlazy
lrwxrwxrwx. 1 root root 8 5月 17 17:04 ruanlianjie -> test.txt #软链接
-rw-r--r--. 2 root root 25 5月 17 17:04 test.txt
-rw-r--r--. 2 root root 25 5月 17 17:04 yinglianjie #硬链接
[root@centos7 home]# cat yinglianjie
我是被链接的文件
[root@centos7 home]# cat ruanlianjie
我是被链接的文件
5:文件权限
属主与属组:
命令 | 说明 |
---|---|
![]() | chown命令可以改变文件的属主 |
chown 所有者 文件名 | 改名文件所有者 |
chown 所有者:所在组 文件名 | 同时修改文件的所有者和所在组 |
文件权限的表示:
命令 | 说明 |
---|---|
chmod(必须是文件属主或root用户才能修改) | 修改文件权限 |
chmod u+x,g+w,o-r f1 | 字母形式修改权限 |
chmod 644 f1 | 数字形式修改权限 |
文件默认权限umask掩码 :系统的默认掩码是022
- 文件创建时的默认权限=666-umask
- 目录创建时的默认权限=777-umask
#修改默认权限
umask 000 #设置默认掩码为000
6:文件操作
文件操作相关函数:
函数 | 说明 |
---|---|
open | 用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数 |
creat | create函数用于创建一个文件 |
close | 用于关闭一个被打开的文件 |
rename | 用于修改文件名称 |
remove | 删除文件 |
chmod | 修改文件的访问权限 |
chown | 修改文件的所有者 |
lseek | 用于在指定的文件描述符中将文件指针定位到相应位置 |
write | 向文件写入数据 |
read | 从文件中读取数据 |
dup | 复制文件描述符 |
dup2 | 复制文件描述符 |