首页 > 其他分享 >信安系统学习笔记四

信安系统学习笔记四

时间:2022-09-25 17:02:57浏览次数:56  
标签:--- 调用 文件 信安 写入 笔记 学习 write open

 知识点归纳

1.文件操作级别

    (1)硬件级别

        硬件级别的文件操作包括:

        fdisk:将硬盘、U盘或SDC盘分区。

        mkfs:格式化磁盘分区,为系统做好准备

        fsck:检查和维修系统

        碎片整理:压缩文件系统中的文件

    (2)操作系统内核中的文件系统函数:每个操作系统内核均可为基本文件操作提供支持

    (3)系统调用:用户模式程序使用系统调用来访问内核函数

    (4)I/O库函数

    (5)用户命令:用户可以使用Unix/Linux命令来执行文件操作而不是编写程序

           用户命令的示例如下:

      mkdir,rmdir,cd,pwd,ls,link,unlink,rm,cat,cp,mv,chmod,etc.

      每个用户命令实际上是一个可执行程序(cd除外),通常会调用库I/O函数,而库I/O函数再发出系统调用来调用相应的内核函数。

2.文件I/O操作

低级别文件操作

分区


Command (m for help): m ---输出帮助信息

Command action

a toggle a bootable flag ---设置启动分区

b edit bsd disklabel ---编辑分区标签

c toggle the dos compatibility flag

d delete a partition --删除一个分区

l list known partition types --列出分区类型

m print this menu --帮助

n add a new partition --建立一个新的分区

o create a new empty DOS partition table --创建一个新的空白DOS分区表

p print the partition table ---打印分区表

q quit without saving changes ---退出不保存设置

s create a new empty Sun disklabel ---

t change a partition's system id ---改变分区的ID

u change display/entry units ---改变显示的单位

v verify the partition table ---检查验证分区表

w write table to disk and exit ---保存分区表

x extra functionality (experts only)

3.系统调用函数

write系统调用
write,就是把缓冲区的数据写入文件中。注意,这里的文件时广泛意义的文件,比如写入磁盘、写入打印机等等。
Linux 中write()的函数原型:
size_t write(int fildes, const void *buf, size_t nbytes);

参数说明:
fildes:文件描述符,标识了要写入的目标文件。例如:fildes的值为1,就像标准输出写数据,也就是在显示屏上显示数据;如果为 2 ,则想标注错误写数据。
*buf:待写入的文件,是一个字符串指针。
nbytes:要写入的字符数。

函数返回值:size_t 返回成功写入文件的字符数。需要指出的是,write可能会报告说他写入的字节比你所要求的少。这并不一定是个错误。在程序中,你需要检查
error已发现错误,然后再次调用write写入剩余的数据。

read系统调用
系统调用read是从文件中读出数据。要读取的文件用文件描述符标识,数据读入一个事先定义好的缓冲区。他返回实际读入的字节数。
Linux中read的函数原型:
size_t read(int fildes, void *buf, size_t nbytes);

参数说明:
fildes:文件描述符,标识要读取的文件。如果为0,则从标准输入读数据。类似于scanf()的功能。
*buf:缓冲区,用来存储读入的数据。
nbytes:要读取的字符数。

返回值:size_t返回成功读取的字符数,它可能会小于请求的字节数。

系统调用open的作用是打开一个文件,并返回这个文件的描述符。
简单地说,open建立了一条到文件或设备的访问路径。如果操作成功,它将返回一个文件描述符,read和write等系统调用使用该文件描述符对文件或
设备进行操作。这个文件描述符是唯一的,他不会和任何其他运行中的进程共享。如果两个程序同时打开一个文件,会得到两个不同的问价描述符。

Linux中open的函数原型有两个:
int open(const char *path, int oflags);
int open(const char *path, int oflags, mode_t mode );

参数说明:
path:准备打开的文件或设备名字。
oflags:指出要打开文件的访问模式。open调用必须指定如下所示的文件访问模式之一:

open调用可以在oflags参数中包括下列可选模式的组合(用”按位或“操作):
O_APPEDN: 把写入数据追加在文件的末尾。
O_TRUNC: 把文件长度设为零,丢弃以后的内容。
O_CREAT: 如果需要,就按参数mode中给出的访问模式创建文件。
O_EXCL: 与O_CREAT一起调用,确保调用者创建出文件。使用这个模式可防止两个程序同时创建一个文件,如果文件已经存在,open调用将失败。

实践内容与截图

复制文件

 

标签:---,调用,文件,信安,写入,笔记,学习,write,open
From: https://www.cnblogs.com/zhilan/p/16728182.html

相关文章

  • An Image Worth 16x16 Words:Transformeers for Image Recognition At Scale | ViT 论
    参考https://www.bilibili.com/video/BV15P4y137jb/?spm_id_from=333.788&vd_source=920f8a63e92d345556c1e229d6ce363f李沐组会的ViT精读 ViT借用NLP领域的Transform......
  • 差分约束笔记
    一个差分约束系统,是由多个形如\(x_i-x_j\leqc\)的不等式组成的。现在,我们要试图找出一组解,使得这些不等式都能被满足。我们在求最短路的过程中,用到一个和上面很像的式......
  • 01周学习小结
    本周学习总结day01自我介绍#此处可以忽略,本人男,爱好女。计算机基础知识了解1,什么是计算机: 计算机:俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算......
  • 2022-2023-1 20221328 《计算机基础与程序设计》第四周学习总结
    作业信息班级:首页-2022-2023-1-计算机基础与程序设计-北京电子科技学院-班级博客-博客园(cnblogs.com)作业要求:2022-2023-1《计算机基础与程序设计》教学进程......
  • 如何快速学习技术或者技术点
    (1)需求:1、工作需要;2、跳槽,对方要求;3、技术控(2)看看能否使用传统技术解决:1、能解决,但是不完美;2、解决不了(3)引出要学习的新技术和知识点(4)学习新技术或者知识点的基本原理和......
  • 【图像处理笔记】图像分割之阈值处理
    本章的大多数分割算法都基于图像灰度值的两个基本性质之一:不连续性和相似性。第一类方法根据灰度的突变(如边缘)将图像分割为多个区域;第二类方法根据一组预定义的准则把一幅......
  • 2022-2023-1 20221308《计算机基础与程序设计》第四周学习总结
    9d作业信息班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04作业正文:https://www.cnblog......
  • 2000-2023-1 20221302《计算机基础与程序设计》第四周学习总结
    2022-2023-120221401《计算机基础与程序设计》第四周学习总结作业信息班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.c......
  • 学习笔记4
    一、梗概第七章讨论了多种文件系统;解释了操作系统中的各种操作级别,包括为文件存储准备存储设备、内核中的文件系统支持函数、系统调用、文件流上的1/O库函数、用户命令......
  • 20221314 《计算机基础与程序设计》第四周学习总结
    班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK04作业目标:门电路组合电路,逻辑电路冯......