Linux---文件、软链接于硬链接文件

在Linux中,一切皆文件,因此我们需要对Linux下的文件系统有个清楚的认识。

文件属性

在Linux中,我们可以通过ls -l或者ll查看具体文件信息。
在这里插入图片描述
在这里插入图片描述
注意:ls命令是用于查看当前路目录下的文件名,但是不能查看文件属性。

文件属性具体都有哪些:

  • 以‘-’开头的都为普通文件。

在这里插入图片描述

  • 以d开头的文件为目录文件
  • 以b开头的文件为设备文件(硬盘、光驱)
  • 以l开头的文件为链接文件
  • 以p开头的文件为管道文件
    在这里插入图片描述
    在这里插入图片描述

文件权限

其中对应的权限分别为:

  • r可读
  • w可写
  • x可操作

如果我们需要查看一个文件的权限,我们可以使用ls l搭配使用。

在这里插入图片描述
上面这个文件,其中所有者的权限为可读可写,所属组的权限为可读可写,其余权限为可读。

软链接与硬链接

  • 软链接文件
    类似于一个快捷方式,在Linux中软链接文件类似于文本文件。类似于一个文本文件包含着另一个文件的位置信息内容,因此我们可以通过这个“快捷文件”访问到软链接的源文件,对该”快捷方式“进行读写的时候,实质就是对软链接源文件进行操作,但是删除该”快捷方式“的时候,不会删除源文件。

  • 硬链接文件
    类似于一个文件的别名,我们对文件硬链接文件进行操作的时候,首先通过这个别名找到对应的源文件,再对源文件进行操作。在删除硬链接文件的时候,系统是不会删除硬链接的源文件。如果删除硬链接的源文件,则硬链接的文件不会删除,并且保存其原本的数据。因此硬链接文件可以预防”误删“的操作。

区别

  • 硬链接文件不占用磁盘空间,仅仅是给其增加了一个别名(目录)
  • 软链接占磁盘空间,由于其本质是一个快捷方式,因此其占用的内存也不是很多。
  • 不能对目录创建硬链接。
  • 不能跨文件系统创建硬链接文件。

文件描述符

当我们打开或者创建一个文件的时候,Linux内核会向一个进程发送一个文件的描述符。一个进程启动的时候,默认会打开3个文件(0标准输入、1标准输入、2标准错误)
int creat(const char* pathname,mode_t mode);

  • pathname:创建文件的路径
  • mde:文件权限
#include<stdio.h>
#include<fcntl.h>

int main()
{
    
    
	int fd = -1;
	char filename[] = "/root/text.txt";//创建文件的路径
	fd = creat(pathname,066);
	if(fd == -1)
	{
    
    
		printf("文件创建失败\n");
	}
	else
	{
    
    
		printf("文件创建成功\n");
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_42708024/article/details/109477703