1.lseek仅将当前的文件偏移量记录在内核中,并不进行任何IO操作,然后,该偏移量用于下次IO。偏移量可以大于当前文件长度,但未写的字节读取都为零,同时,这个未写过的文件空洞并不要在磁盘上占用存储区,并且,在文件尾部之后再写并不会给这个文件空洞分配磁盘块。
2. getcwd函数返回的就是执行者所在的文件目录,而不是执行程序所在的目录。
3.文件和文件夹操作权限:
权限 | 简写 | 对普通文件的作用 | 对文件夹的作用 |
---|---|---|---|
读取 | r | 查看文件内容 | 列出文件夹中的文件(ls) |
写入 | w | 修改文件内容 | 在文件夹中删除、添加或重命名文件(夹) |
执行 | x | 文件可以作为程序执行 | cd 到文件夹 |
最直接的理解是:首先要理解目录本身是作为目录文件存储在文件系统当中的,其内容是存储的目录下文件的有关信息。理解了这一点之后,就可以理解目录的权限了。读权限即可以读出目录文件的内容,即可以得到目录下的文件信息。写权限即意味着可以修改目录文件的内容,也即可以创建或删除目录下文件。执行权限有些特殊,不太直观。有执行权限意味着可以对目录下的文件进行如读写等操作,但仍然不能删除,因为涉及到对目录文件本身的写权限。所以,当我们对某一文件进行如读写等操作时,需要保证对路径中的每一个目录文件有执行权限。