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

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。
在这里插入图片描述
六、两个综合小测验
打印字符串进一个文件里面
在这里插入图片描述
在一个文件里面获取内容,然后一个个打印出来
在这里插入图片描述

1章:系统简介 1.1 系统新特性 1) 采用了最新的Linux 2.4.2版稳定内核,支持更多硬件设备,具有很高的性能指标; 2) 采用了最新的图形系统Xfree86 4.0.3,提供了强大的硬件支持; 3) 引入了全图形安装界面,使得安装更为简单; 4) 增加了国际化语言支持,但最可恨的是支持了Big5,却没有简体中文,真可气; 5) 显著改进了对多CPU计算机的支持,而对于单CPU的计算机器,则提供了高达4G的用户进程空间,同时取消了PCI总线的限制,虚拟内存可高达64G物理内存,支持多用户和集体使用,可谓是企业级的操作系统; 6) 对移动存储设备提供了出色的支持,包括:可“热插拔”USB设备、ZIP驱动器和各种光盘刻录机。Red Hat Linux 7.1主要采用了一个叫做updfstab的程序模块,使得它能对各种移动存储设备的支持,安装和卸载这些设备也是变得很容易了; 7) 加入了一些新的系统配置工具来方便用户管理以及Linux系统使用,例如apacheconf, bindconf, 和printconf等,这些工具能方便的分别让用户通过GUI图形用户界面来配置APACHE,BIND,和打印机。要知道,以往版本中要配置上述的几个服务可是很复杂的。要手动修改不少参数; 8) 另外,还增强了对PCMCIA 设备的支持,这对使用PCMCIA 设备的笔记本电脑的用户来说是非常重要的; 9) 在安全方面做了许多修补工作,安全缺省设置可保证端口关闭,新的防火墙屏蔽可使用用户任意打开或关闭; 10)捆绑了大量最新的应用软件、服务器软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值