【摘要】 介绍Linux下基本指令、系统环境搭建、复习C语言的文件编程。
任务1: 搭建环境
需要使用的操作系统如下:
1.红帽6.3系统
2.Ubuntu乌班图12.04系统
1.1 虚拟机下linuxs操作系统的共享路径需要设置
1.进入共享路径下:
1.2 设置共享路径
1.3 配置VIM编辑器
[root@wbyq /]# vim /etc/vimrc |
1.4 安装常用的编辑器软件
在linux操作系统根目录下创建一个/work目录,在work目录下再根据自己的情况创建子目录。
安装UltraEdit-16.1-0.22.i386.rpm
在work目录下创建一个UltraEdit目录,将UltraEdit-16.1-0.22.i386.rpm安装包拷贝到该目录下。
执行安装命令: rpm -ivh UltraEdit-16.1-0.22.i386.rpm
安装成功之后可以在任意目录下直接执行uex命令打开软件。
UltraEdit for linux 30天无限试用的方法:(快速精简,不改变之前的软件配置) rm -rfd ~/.idm/uex rm -rf ~/.idm/*.spl rm -rf /tmp/*.spl |
安装sublime_text_3_build_3176_x32.tar.bz2
在work目录下创建一个SublimeText目录,将sublime_text_3_build_3176_x32.tar.bz2压缩包拷贝到该目录下。
(1)解压: tar xvf sublime_text_3_build_3176_x32.tar.bz2
(2)进入目录下,可以看到sublime_text可执行文件。
(3)加环境变量: 在/etc/profile 文件的最后一行,将sublime_text可执行文件的绝对路径添加到PATH环境变量中。
示例:
export PATH=/work/sublime_text_3:$PATH |
(4)立即生效环境变量,执行命令: source /etc/profile
(5)环境变量生效之后,在任意目录下执行sublime_text命令即可打开软件。
1.5 远程登录虚拟机
参考步骤: 远程登录虚拟机linux系统.7z
需要安装的软件: SecureCRT6.5.0.zip (不用安装,解压之后双击即可直接使用)
在局域网以内是有独立的IP地址。
任务2: 基础命令复习
ls、cd、pwd、cp、mv、rm、touch…..
1.针对目录操作的一些命令: 创建目录、修改目录名称、删除目录、移动目录、拷贝目录
2.针对文件的一些命令: 查看文件大小、状态、权限、创建修改编辑文件。
3.针对磁盘操作命令: 磁盘分区、磁盘数据读写、磁盘容量查看、文件系统格式化
4.针对压缩包: 解压、压缩打包。
5.针对编译器相关的命令: 编译文件、链接动态库和静态库、查看可执行文件的编译属性、静态和动态编译。
6.针对网络相关的命令:
常规颜色: 绿色表示可执行文件、蓝色表示目录、黑色表示普通文件、红色表示压缩包。
Linux系统概念: 一切设备皆文件,通过文件操作方式操作其他硬件设备。
常用目录介绍:
bin :存放一些基础命令。
sbin:存放一些高级命令。
dev: 存放设备节点。
etc: 存放配置文件。
lib: 存放系统的共享库文件。
mnt: 一般用于作为磁盘和SD卡的挂载目录。
proc: 存放一些系统的底层调试接口。
查看磁盘和文件大小命令: du和df命令。
终端字体放大缩小:
(1)字体放大: Ctrl+Shift + “+”
(2)字体缩小: Ctrl+ “-”
任务3: 文件操作
学习两套函数:
(1)C语言下标准文件操作函数。fopen、fclose、fread、fwrite (适合操作普通文件)
针对文件指针操作。
(2)Linux下专用的文件操作函数。open、close、read、write (适合操作设备文件、也可以操作普通文件)
针对文件描述符操作。
如何检测文件是否读取到结尾? 判断读函数的返回值。
文件操作相关的练习作业
1.(编码)创建一张BMP图片,颜色可以指定。
2.模拟du命令,可以查看指定文件的大小,可以将文件大小打印出来。
3.文件加密和解密。 密码: 数字方式、字符串方式
(1)加密方式: 异或加密
扩展: 加密方式: MD5加密
扩展作业: 实现文件的压缩和解压,模拟tar命令。
BMP图片练习文件操作(专题练习):
1.BMP图片数据取模,模拟图片取模软件。
2.BMP图片放大缩小,根据输入的尺寸放大缩小图片。
文件读写:
#include
#include
/*
写入文件测试
返回值为0表示成功
*/
int WriteFile(char *path,char *str)
{
int len;
/*1. 打开并且创建文件*/
FILE *file=fopen(path,"a+b");
if(file==NULL)return 1;
/*2. 写入文件*/
len=fwrite(str,1,strlen(str),file);
if(len!=strlen(str))return 2;
/*3. 关闭文件*/
fclose(file);
return 0;
}
/*
读文件测试
返回值读取成功的长度
*/
int ReadFile(char *path,char *str,int len)
{
/*1. 打开文件*/
FILE *file=fopen(path,"rb");
if(file==NULL)return 1;
/*2. 读取文件*/
len=fread(str,1,len,file);
/*3. 关闭文件*/
fclose(file);
return len;
}
int main(void)
{
char buff[100];
int len;
if(WriteFile("123.txt","文件IO测试!\n")==0)
{
printf("文件写入成功!\n");
}
len=ReadFile("123.txt",buff,100);
printf("读取成功:%d字节\n",len);
return 0;
}
-
Linux
+关注
关注
87文章
11228浏览量
208925 -
C语言
+关注
关注
180文章
7598浏览量
136188 -
编程
+关注
关注
88文章
3592浏览量
93594
发布评论请先 登录
相关推荐
评论