主分区 :总共最多只能分四个
扩展分区:只能有一个,也算作主分区的一种,也就是说主分区加扩展分区最多有四个。但是扩展分区不能存储数据和格式化,必须再划分成逻辑分区才能使用。
逻辑分区:逻辑分区是在扩展分区中划分的,如果是IDE硬盘,Linux最多支持59个逻辑分区,如果是SCSI硬盘Linux最多支持11个逻辑分区
主分区1 sda1
主分区2 sda2
主分区3 sda3
第四个分区分为扩展分区 sda4
逻辑分区 sda5 sda6 sda7
逻辑分区确从5 6 7开始
因为 分区号1 2 3 4只能给主分区或者扩展分区使用
索引结点(indexnode,简称ingde)的实质是一个结构体,主要功能是保存文件的属性信息(如所有者、所属区、权限、文件大小、时间戳等),Linux系统中的每个文件都会被分配一个innode,当有文件创建时,系统会在inode表中获取一个空闲的inode,分配给这个文件,inode存储在inode表中,inode表存储inode和inode的编号(inumber),inode表在文件系统创建之时便被创建,因此文件系统中可存储的文件数量也在文件系统创建时已确定
Linux文件系统中的索引结点保存着文件的诸多属性信息,但并未保存文件的文件名。实际上,Linux系统中文件的文件名并不保存在文件中,而是保存在存放该文件的目录中。
Linux系统中定义了一个被称为目录项(dentry) 的结构体,该结构体主要存储文件的文件名与inode编号,系统通过读取目录项中的文件名和文件的inumber,来判断文件是否存在于这个目录中。dentry中允许同一个inode对应不同的文件名,但不允许相同的文件名对应不同的inode.
ll -h 只会统计文件名大小,不会统计目录下+子目录的大小
-o 特殊选项
test
要是想要执行 要改回来
1。 创建一个空文件 挂载点
把光盘放入虚拟机
这里看见ios的文件已经显示出来
2.卸载命令
为空 卸载完成
自动识别 查询设备文件名
fdisk- l
看到分配的是 dev/sdb
找到挂载点后 用mnt 再创建一个挂载点, 挂载
软链接和硬链接到底有啥作用和区别
案例5-2:使用open()函数打开或创建一个文件,将文件清空,使用write()函数在文件中写人数据,并使用read()函数将数据读取并打印。
//案例2:
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <unistd.h>
4 #include <fcntl.h>
5 #include <string.h>
6 int main()
7 {
8 int fd=0;
9 //路径中的目录若不存在将导致文件创建失败
10 char filename[20]="/home/itheima/a.txt";
11 //打开文件
12 fd=open(filename,O_RDWR|O_EXCL|O_TRUNC,S_IRWXG);
13 if(fd==-1){ //判断文件是否成功打开
14 perror("file open error.\n");
15 exit(-1);
16 }
17 //写数据
18 int len=0;
19 char buf[100]={0};
20 scanf("%s",buf);
21 len=strlen(buf);
22 write(fd,buf,len);
23 close(fd); //关闭文件
24 printf("---------------------\n");
25 //读取文件
26 fd=open(filename,O_RDONLY); //再次打开文件
27 if(fd==-1){
28 perror("file open error.\n");
29 exit(-1);
30 }
31 off_t f_size=0;
32 f_size=lseek(fd,0,SEEK_END); //获取文件长度
33 lseek(fd,0,SEEK_SET); //设置文件读写位置
34 while(lseek(fd,0,SEEK_CUR)!=f_size) //读取文件
35 {
36 read(fd,buf,1024);
37 printf("%s\n",buf);
38 }
39 close(fd);
40 return 0;
41 }
案例5-3:使用stat()函数获取文件属性,并且输出文件的大小
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
int main()
{
struct stat sbuf;
int ret = 2;
ret = stat("a.out", &sbuf);
if (ret == -1){
perror("stat error:");
exit(1);
}
printf("len=%ld\n", sbuf.st_size);
return 0;
}
得到文件a.out的大小
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_35629971/article/details/120832101
内容来源于网络,如有侵权,请联系作者删除!