对于所有打开的文件都有一个当前文件偏移量(current file offset),文件偏移量通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于当前文件偏移量的位置,并且使其增大,增量为读写的字节数。文件被打开时,文件的偏移量会被初始化为 0,除非使用了O_APPEND 。
2024年10月21日
对于所有打开的文件都有一个当前文件偏移量(current file offset),文件偏移量通常是一个非负整数,用于表明文件开始处到文件当前位置的字节数。读写操作通常开始于当前文件偏移量的位置,并且使其增大,增量为读写的字节数。文件被打开时,文件的偏移量会被初始化为 0,除非使用了O_APPEND 。
2024年10月21日
Linux学习中,每天学习一点点,你就是下一个Linux专家
一、Linux系统编程之文件系统
文件系统需要了解相关概念:inode,dentry,数据存储,文件系统
Inode:
其本质为结构体,存储文件的属性信息,如权限,属性,时间,块位置....,也叫作文件属性管理结构
如下是文件和Inode和磁盘的存储关系:
2024年10月21日
文件是存储在辅助存储设备上的数据集合,分为文本文件和二进制文件。
文件操作包括打开、读取、写入、定位和关闭。
文件指针是一个指向FILE结构的指针,用于跟踪文件的读写状态。
通过文件指针,可以对文件进行各种操作。
2024年10月21日
import pandas as pd from hdfs import InsecureClient,Client,HdfsError host = 'http://node0:50070;\ http://node1:50070' fileDir = '/data/nlp/uploads/' fileName = '20190418170826_test01.xlsx' client = Client(host) print(client.list(fileDir))
2024年10月21日
了解了FileChannel是用来读写和映射一个系统文件的 Channel,其实他还有很牛逼的功能就是:跨进程文件锁。
说一个场景有多个进程同时操作某一个文件,并行往文件中写数据,请问如何保证写入文件的内容是正确的?可能有小伙伴说加分布式锁,可以解决问题,但是有点儿重了。
2024年10月21日
在我们日常写程序的过程中,免不了与文件系统打交道,各种开发语言都提供了与文件系统交互的指令函数,比如Python中的os模块,就提供了许多这样的指令函数,今天就以创建文件夹为例,来说一下,如果用的不当,会带来的线程安全问题。
在Python的os模块中,创建文件夹有两种方式,一个是os.mkdir(),另外一个是os.makedirs(),这两个的区别如下:
os.mkdir() 函数:os.mkdir(path, mode=0o777)
2024年10月21日
C 语言不提供对错误处理的直接支持,但是作为一种系统编程语言,它以返回值的形式允许您访问底层数据。在发生错误时,大多数的 C 或 UNIX 函数调用返回 1 或 NULL,同时会设置一个错误代码 errno,该错误代码是全局变量,表示在函数调用期间发生了错误。您可以在 <error.h> 头文件中找到各种各样的错误代码。
所以,C 程序员可以通过检查返回值,然后根据返回值决定采取哪种适当的动作。开发人员应该在程序初始化时,把 errno 设置为 0,这是一种良好的编程习惯。0 值表示程序中没有错误。
2024年10月21日
1简介
linux系统拥有非常强大的日志功能,保存着几乎有所有操作记录,包括内核和程序产生的各种错误信息,警告信息或其他提示信息,对这些信息管理员了解系统的运行状态和分析问题非常有用。可以从日志文件中获得自已想要的信息。
1.1 日志进程
默认日志守护进程为syslog. 位于/usr/sbin/syslog 或/usr/sbin/syslogd或/usr/sbin/rsyslog.d.默认配置文件为:/etc/syslog.conf ,/etc/rsyslog.conf,可以配置生成的日志