Linux入门以及Linux文件编程学习

时间:2024-07-20 10:12:16

Linux学习必备

首先我们学习Linux必须安装一个虚拟机,我是跟着韦东山老师安装的,具体可以跟着视频操作,简单易懂:安装虚拟机

Linux入门最基本简单的指令

一、Vi的使用
Vi+文件名 创建或者打开一个文件,进入默认命令行模式,此时你不可以输入代码,只有在输入模式下你才可以输入你的代码,按下字母【i】即可进入输入模式你就可以随便输入你想输入的内容了,按下【ESC】退出输入模式进入命令行模式,在命令行模式下,按下“:”冒号,在输入wq,即可保存内容退出文件!
二、gcc编译工具&运行程序
gcc a.c -o a a.c–你要编译的文件 a–编译生成的程序名
./a ___ ___… a–程序名 运行程序 ____ 处可以填你写的函数的参数
在这里插入图片描述
运行结果以及打印出来的:
在这里插入图片描述

三、常用指令
ls 列出当前文件夹有哪些文件
ls -a 显示所有文件,包含隐藏的文件和文件夹
pwd 显示当前在哪个文件夹
mkdir+文件夹名 创建一个文件夹
cd+文件夹名字 进入文件夹
cd… 退回上层文件夹
rm 文件名 删除文件
touch 文件名 创建文件
cp 文件名1 文件名2 将文件1的内容复制粘贴到文件2(存在直接粘贴,不存在就创建)

Linux文件编程

常用函数

一、生成文件函数
在这里插入图片描述
二、打开文件亦可创建文件
在这里插入图片描述
返回一个“标记量”,类似于FreeRTOS中创建任务时返回的句柄。
关闭文件函数:close(a); a–“标记量”
三、写入函数

四、读取函数
参数表明和使用方式和写入函数相似
在这里插入图片描述
五、光标移动函数
在这里插入图片描述
光标位置的重要性:假如你刚刚在代码里面创建了一个文件,并且在里面写入了内容,那么现在光标的位置就位于文件内容尾部,然后现在你想读出来,那么将会什么都读不到,因为读取函数是默认从光标位置往后读的,所以现在你就要调整光标的位置。
利用光标移动函数也可以利用它的返回值巧妙的读取出文件夹内容的字节大小可以在下面小试验中看一下!
六、利用常用函数实现cp功能
在这里插入图片描述

另外一套函数

其他一套函数是来自stdio.h里面的,主要函数有:
在这里插入图片描述
一、fopen函数
在这里插入图片描述
二、fwrite函数
在这里插入图片描述
参数胡说明 :
const void *ptr : 指针指向要写出数据的内存首地址 ;
size_t size : 要写出数据的 基本单元 的字节大小 , 写出单位的大小 ;
size_t nmemb : 要写出数据的 基本单元 的个数 ;
FILE *stream : 打开的文件指针 ;
返回值说明 : size_t 返回值返回的是参数 nmemb;
三、fread函数
在这里插入图片描述
void *buffer 参数 : 将文件中的二进制数据读取到该缓冲区中 ;
size_t size 参数 : 读取的 基本单元 字节大小 , 单位是字节 , 一般是 buffer 缓冲的单位大小 ;如果 buffer 缓冲区是 char 数组 , 则该参数的值是 sizeof(char) ;如果 buffer 缓冲区是 int 数组 , 则该参数的值是 sizeof(int) ;
size_t count 参数 : 读取的 基本单元 个数 ;
FILE *stream 参数 : 文件指针 ;size_t 返回值 : 实际从文件中读取的 基本单元 个数 ; 读取的字节数是 基本单元数 * 基本单元字节大小 ;
四、fseek函数和fclose函数
使用方式和seek函数以及close函数没有很大区别!
五、fgetc、fputc、feof函数
在这里插入图片描述
参数为要读取的文件的文件指针变量

返回值
读取成功返回读取到的字符
读取到文件末尾或读取失败则返回EOF
在这里插入图片描述
fputc()函数有两个参数character和stream:
参数character是写入指定流stream的字符,类型为int;
参数stream是一个指向FILE类型结构的指针;stream指定了fputc()函数要写入的流,可以是文件流,也可以是标准输出流;当是文件流时,stream就是fopen()函数的返回值;当是标准输出流时,stream就是stdout。
在这里插入图片描述
六、两个综合小测验
打印字符串进一个文件里面
在这里插入图片描述
在一个文件里面获取内容,然后一个个打印出来
在这里插入图片描述