linux文件
Linux:万物皆文件。
open函数:
高频使用的Linux系统调用: open write read close(打开, 读,写,关闭)
自带的工具:man手册。
man 1是普通的shell命令,比如ls
man 2是系统调用函数,比如open,write说明
Linux的手册页分为多个部分,每个部分涵盖不同类型的文档:
man 1
:用户命令,通常是可以由用户直接运行的程序或shell命令。man 2
:系统调用,提供了对操作系统内核功能的访问,例如open
、read
、write
等。man 3
:库函数,是程序库中的函数,例如标准C库函数。man 4
:特殊文件和驱动程序。man 5
:文件格式和配置文件。man 6
:游戏。man 7
:杂项(包括概念、协议、文件约定等)。man 8
:系统管理命令和守护进程。
在Linux系统库open函数的定义:
int open(const char *pathname, intflags); /* 比较常用*/
int open(const char *pathname, intflags, mode_tmode);
//包含的头文件:
#include <sys/types.h>//这里提供类型pid_t和size_t的定义
#include <sys/stat.h>
#include <fcntl.h>
返回值:
成功,返回句柄,后面对于文件的读写,关闭等都通过句柄来操作。
失败则返回-1.
参数说明:
grep -nr "xxxx"./ 用于搜索文件中的文本模式。
pathname:文件的路径名,如果只写文件名,就默认当前目录,如果在文件名加上路径,就按照绝对路径来 打开文件。
flags:表示打开文件后用的操作:
底层是一个宏,它可能以十六进制的形式存放。
O_RDONLY:只读模式 0x 0000 0000
O_WRONLY:只写模式 0x 00000001
O_RDWR:可读可写 0x 00000002
补充:
在man 2 open 说明中复制包含的头文件,编写简单的程序来体会。
wq保存退出后,gcc编辑并运行,打开失败,touch mm
创建好目录则打开成功。
使用补充的创建命令 |在参数中,不会影响。
补充用到的命令:grep -n-r
grep:用于搜索文本的工具。它代表“global regular expression print”,意思是“全局正则表达式打印”。grep
命令可以在一个或多个文件中搜索指定的文本模式,并打印出包含该模式的所有行
-
-n
或--line-number
:这个选项让grep
在输出中包括每个匹配行的行号。这样,你可以看到每个匹配项在文件中的确切位置。
-
-r
或--recursive
:这个选项告诉grep
递归地搜索指定目录下的所有文件。如果使用-r
搜索一个目录,grep
将检查该目录下的所有文件,包括子目录中的文件。
cd - :切换到前一个工作目录,即上一次使用 cd
命令时所在的目录。
close函数:
在Linux系统库中的定义:
int close(int fd);
包含的头文件:
#include <unistd.h>
他的功能就是简单的关闭文件。