Linux操作系统

1.Linux下的文件类型

1、7种文件类型:

b    块设备文件  -------> 存储类设备(硬盘)
c    字符设备文件 ------->如输入输出设备(鼠标键盘显示器...)
d    目录文件    ------->文件夹
-     普通文件   ------->xxx.c  xxx.h   xxx.txt   xxx.jpg  xxx.mp4  a.out
l     软链接文件 ------->快捷方式
s     套接字文件 ------->网络通信
p     管道文件  ------->进程间通信

ls -l ---->ll

d                  rwxrwxr-x                 2            linux    linux       4096            1月  29  2024            

文件类型   文件操作权限        链接个数    用户名  组名    文件大小   文件最后被修改的时间 20240129/        文件名称
                   r:read
                   w:write
                   x:可执行权限
                   -:无权限

                  rwx:自己对文件的读写执行权限
                  rwx:同组用户对文件的读写执行权限
                  r-x:其他人对文件的读写执行权限

2、文件操作思想
   

(1). 打开文件
(2). 读写文件
(3). 关闭文件

3.文件操作的方法
 

Linux下的2种文件操作方法:
       I : input   O: output  ----->文件
      1. 标准IO:
               C标准库提供的一套对文件操作的操作方法------->库函数
      2. 文件IO:
               Linux内核提供的一套对文件操作的操作方法------->系统调用

4. 标准IO
 

(1)打开文件    
     fopen

 FILE *fopen(const char *pathname, const char *mode);
       功能:打开一个文件并获得一个文件流指针
       参数:
                  pathname:打开得文件的文件名地址
                  mode:打开的方式
                           "r"         以只读的方式打开
                           "r+"       以读写的方式打开
                            "w"       以只写的方式打开,文件存在则清空,文件不存在则创建
                            "w+"     以读写的方式打开,文件存在则清空,文件不存在则创建
                           "a"         以追加写的方式打开,文件不存在创建
                           "a+"       以读写的方式打开,文件不存在创建,,文件存在追加写
        
       返回值:
              成功:文件流指针:FILE *
              失败:NULL


        流:字节流
       文件流:数据从文件流入流出体现出来的字节流
        标准IO: FILE ---》文件流
                        FILE * ---》文件流指针----》已打开文件

 (2)读/写文件  
fgetc/fputc 、fgets/fputs、fread/fwrite

int fputc(int c, FILE *stream);
功能:向文件中写入一个字符
参数:
       c:要写入的字符
       stream:要写入的文件的文件流指针
返回值:
       成功:写入的字符的ASCII值
       失败:EOF (-1)

int fgetc(FILE *stream);
功能:从文件中读取一个字符
参数:
       stream:要读取的文件的文件流指针
返回值:
       成功:读到的字符的ASCII值
       失败:EOF
       读到文件末尾:EOF

int fputs(const char *s, FILE *stream);            不能读写二进制文件
功能:向文件中写入字符串(不会写入'\0'字符)
参数:
        s:字符串首地址
        stream:要写入的文件流指针

返回值:
      成功:非负的整形数据
      失败:EOF(-1)

char *fgets(char *s, int size, FILE *stream);
功能:   从文件中读取一行数据
参数:
      s : 用来存放读取到数据的内存空间首地址
      size:希望从文件中读到的字节数
      stream:要读取的文件流指针
返回值:
      成功:返回s空间的首地址
      失败:NULL
      读到文件末尾:NULL

 (3)关闭文件    
     fclose

 (4)man手册
        第一章节:Linux命令
        第二章节:系统调用
        第三章节:库函数


 (5)主函数传参

 ./a.out aaa bbb   ----->实参
形参:主函数中的参数

argc : 程序运行时,给主函数传递的参数个数  3
argv : 指针数组:argc个指针,分别指向了给主函数传递的实参
        argv[0] ---->"./a.out"
        argv[1] ---->"aaa"
       argc[2] ---->"bbb"

(6)- 普通文件
文本文件:   1.txt xxx.c  xxx.h                                          

20250809  --->'2''0''2''5''0''8''0''9'
二进制文件:xx.jpg    a.out   xxx.png   xxx.mp4                  

2025         ---->0000 0000 0000 0000 0000 0111 1110 1001
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值