Linux开发_ Linux命令复习与文件目录复习
任务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 <stdio.h>
#include <string.h>
/*
写入文件测试
返回值为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;
}
- 点赞
- 收藏
- 关注作者
评论(0)