Linux下对system.img文件操作

Linux下对system.img文件操作
Linux下对system.img文件操作

接下来要注意:要分清通常的Linux和ylmfos的区别

先输入指令

sudo su(通常的Linux和ylmfos都要输)

然后出现Password:,输入你的用户密码,直接输入,但是看不见,但其实你已经输入了,输入完后回车下面的指令里要注意一个问题

在通常的Linux中和ylmfos的区别

通常的Linux解包是

sudo mount -o rw,loop system.img test(结构是:sudo mount -o rw,loop XXX.img 解包到的文件夹名)

打包是

sudo umount test(结构是:sudo umount 需要打包的文件夹名)

ylmfos解包是

mount -o rw,loop system.img test(结构和上面类似)

打包是

umount test(结构和上面类似)

要注意空格和区别

解包后不要删除原system.img,原因请继续往下看!

解包后是无法修改的,要用管理员身份运行,右击文件夹就会有了。

然后根据你的需要修改(只能精简,不能添加,只是个缺点,可以在windows用工厂工具解包修改打包后再到Linux作ROOT)

接下来就是Root了(修改权限方法相同)

打开app(bin),再打开终端,现在终端已经定位到app(bin)了,然后直接输入chmod 6755 superuser.apk(su)

最后按照上面打包完成,但是你找不到你新打包的system.img,其实当你打包后,系统直接把打包后的文件替换到原system.img内,所以直接复制到储存设备就行

最后转移到windows,替换原来的system.img

最后再修改扩容等就行了。

二、.安装VMware-tools

1.点击VMware工具栏''VM”——“install VMware tools...",这时桌面会出现光盘形状的VMware Tools,而且会自动跳出目录,里面包含两个文件,"manifest.txt"与"VMwareTools-8.4.5-324285.tar.gz"。

2.打开终端,点击"应用程序"——"附件"——"终端",进入超级用户操作,linux 初始安装时时没有为root用户创建密码,假设我的系统还没为root用户创建密码,在终端中输入:

sudo passwd root

系统会提示你输入当前用户密码,输入root密码,然后切换到root用户:

su root

输入刚才创建的root密码,这样就切换到了超级用户了。继续在终端输入

cd /media/VMware Tools 进入安装文件目录

cp VMwareTools-8.4.5-324285.tar.gz /tmp 将VMware Tools压缩包拷贝到临时文件夹/tmp下

cd /tmp

进入临时文件夹

ls

显示该该文件夹的文件,其中就有VMwareTools-8.4.5-324285.tar.gz

tar zxvf VMwareTools-8.4.5-324285.tar.gz 解压该压缩文件

ls

会发现文件vmware-tools-distrib

cd vmware-tools-distrib 进入该文件夹

ls

里面有vmware-install.pl

./vmware-install.pl 安装vmware-tools

一路Enter,VMware-tools就安装成功了。

三、.点击VM——setting——options——shared Folders,选择Always enabled,点击下面Add添加windows中的共享文件夹,我选择的是F盘,然后保存修改。

四、重新启动ubuntu,你就可以在目录/mnt/hgfsz下发现名为"F"的文件夹了,双击就会发现时windows下的F盘的内容,你可以在ununtu下在里面进行读写操作了。

网上搜索了一下,很多文章都是介绍在Linux环境下用unyaffs和mkyaffs2image来实现解包和打包的,但是YLMF OS直接就可以操作。

首先需要为你的雨林木风(YLMFOS)和起点OS安装VMware Tools,这样能很方便的在物理机和虚拟机之间复制拷贝文件。

首先在虚拟机YLMF OS桌面上新建一个文件夹,名字可以随便取。

然后将Windows物理机里面的system.img复制

进入刚刚虚拟机桌面建立的文件夹里面,点击粘贴。

因为system.img文件有点大,复制会花掉一点点时间。

再到system.img的文件夹相同目录新建一个文件夹,也叫system

这样是为了方便一会将system.img解包到system文件夹中,记住一定要新建文件夹,不然一会解包的时候会出现错误。

打开终端

输入命令mount -o rw,loop system.img system最后这个system就是刚刚新建的文件夹名称,如果你新建的是别的名称,这里需要更改一下。

解包完成,我们进入system文件夹看看,里面多了很多文件夹和文件,包括ROM固件包常见的app、bin、tec、fonts、framework、lib和media文件夹。

这时我们先不做任何修改和定制,直接将system.img打包回去,还是在刚才的终端命令窗口,输入解包命令:umount system

意思就是说将system文件夹打包成system.img

再进入system文件夹看看,里面的文件全都不见了,这就表示system.img打包成功了,这时就可以拷贝出来,然后利用厨房打包签名ROM固件包后刷入手机了。

实验 Linux文件和目录操作

实验Linux文件和目录操作(1) 一、实验内容 练习Linux文件和目录操作命令。 二、实验目的 掌握文件与目录管理命令 掌握文件内容查阅命令 三、实验题目 1. 文件与目录管理 (1) 查看CentOS根目录下有哪些内容? (2) 进入/tmp目录,以自己的学号建一个目录,并进入该目录。 (3) 显示目前所在的目录。 (4) 在当前目录下,建立权限为741的目录test1,查看是否创建成功。 (5) 在目录test1下建立目录test2/teat3/test4。 (6) 进入test2,删除目录test3/test4。 (7) 将root用户家目录下的.bashrc复制到/tmp下,并更名为bashrc (8) 重复步骤6,要求在覆盖前询问是否覆盖。 (9) 复制目录/etc/下的内容到/tmp下。 (10) 在当前目录下建立文件aaa。 (11)查看该文件的权限、大小及时间 (12) 强制删除该文件。 (13) 将/tmp下的bashrc移到/tmp/test1/test2中。 (14) 将/test1目录及其下面包含的所有文件删除。 2. 文件内容查阅、权限与文件查找 (1) 使用cat命令加行号显示文件/etc/issue的内容。 (2) 反向显示/etc/issue中的内容。 (3) 用nl列出/etc/issue中的内容。 (4) 使用more命令查看文件/etc/man.config (5) 使用less命令前后翻看文件/etc/man.config中的内容 (6) 使用head命令查看文件/etc/man.config前20行 (7) 使用less命令查看文件/etc/man.config后5行 (8) 查看文件/etc/man.config前20行中后5行的内容 (9) 将/usr/bin/passwd中的内容使用ASCII方式输出 (10) 进入/tmp目录,将/root/.bashrc复制成bashrc,复制完全的属性,检查其日期 (11) 修改文件bashrc的时间为当前时间

linux vim使用快捷键超好

Linux上vi(vim)编辑器使用教程 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。下面vps侦探整理一下vi的使用教程:包含vi的基本介绍、使用模式、文件的打开关闭保存、插入文本或新建行、移动光标、删除、恢复字符或行、搜索等等,算是一篇比较适合新手学习vi的教程。 vi有3个模式:插入模式、命令模式、低行模式。 插入模式:在此模式下可以输入字符,按ESC将回到命令模式。 命令模式:可以移动光标、删除字符等。 低行模式:可以保存文件、退出vi、设置vi、查找等功能(低行模式也可以看作是命令模式里的)。 一、打开文件、保存、关闭文件(vi命令模式下使用) 1 2 3 4 5 6 vi filename //打开filename文件 :w //保存文件 :w https://www.360docs.net/doc/0817470935.html, //保存至https://www.360docs.net/doc/0817470935.html,文件 :q //退出编辑器,如果文件已修改请使用下面的命令:q! //退出编辑器,且不保存 :wq //退出编辑器,且保存文件 二、插入文本或行(vi命令模式下使用,执行下面命令后将进入插入模式,按ESC 键可退出插入模式) 1 2 3 4 5 6 7 8 a //在当前光标位置的右边添加文本 i //在当前光标位置的左边添加文本 A //在当前行的末尾位置添加文本 I //在当前行的开始处添加文本(非空字符的行首) O //在当前行的上面新建一行 o //在当前行的下面新建一行 R //替换(覆盖)当前光标位置及后面的若干文本 J //合并光标所在行及下一行为一行(依然在命令模式) 三、移动光标(vi命令模式下使用) 1、使用上下左右方向键 2、命令模式下:h 向左、j 向下、k 向上、l 向右。 空格键向右、Backspace 向左、Enter 移动到下一行首、- 移动到上一行首。

1_Linux C 文件与IO操作

Linux 文件与I/O操作 Andrew Huang 课程内容 l系统调用 l底层库函数 l标准库函数 l目录与文件维护 系统调用 l Linux 大部分的系统功能是通过系统调用(System Call)来实现的.如open,send之类. l这些函数在C程序调用起来跟标准C库函数(printf…)非常类似.但是实现机制完全不同. l库函数仍然是运行在Linux 用户空间程序.很多时候内部会调用系统调用. l但系统调用是内核实现的.在C库封装成函数.但通过系统软中断进行调用. –用time命令测试时间,系统时间实际就是系统调用时间累积 l time ./demo1 –用strace 可以跟踪一种程序系统调用使用情况 l strace ./demo1 #不需要调试信息 两者关系 l可以参考C库函数malloc与系统调用sbrk的关系

常见C标准库函数 l printf,getch,scanf l strcpy,strcmp,strlen l memcpy,memcmp,memset l fopen,fwrite,fread 常见系统调用函数 l进程控制:fork(),waitpid() l文件控制open(),write() l网络收发函数socket(),bind(),send(),write() l权限控制 access() l标准C的函数,应该在MSDN和Linux下的man都能同时查找联机帮助 –并且声明定义在stdlib.h当中 l而Linux系统调用只能用man查找相应帮助 –大部分声明定义在unistd.h当中 文件控制 1. Linux文件结构 l Linux环境中的文件具有特别重要的意义,因为它们为操作系统服务和设备提供了一个简单而统一的接口.在Linux中,一切(或几乎一切)都是文件。 l通常程序完全可以像使用文件那样使用磁盘文件、串行口、打印机和其他设备。 l大多数情况下,你只需要使用五个基本的函数——open、close、read、write和ioctl l Linux中的任何事物都可以用一个文件代表,或者可以通过特殊的文件进行操作。 l一些特殊文件 –目录 –设备文件 –/dev/console –/dev/tty –/dev/null 2. 底层库函数 l Linux 在底层实现一整套处理文件函数. –这一些函数能处理普通文件,网络socket文件,设备文件等 –全部是系统调用实现的函数 l文件处理函数 –open –打开或创建一个文件 –creat –建立一个空文件 –close –关闭一个文件 –read –从文件读入数据 –write –向文件写入一个数据 –lseek –在文件中移动读写位置

C语言文件流操作函数大全

clearerr(清除文件流的错误旗标) 相关函数feof 表头文件#include 定义函数void clearerr(FILE * stream); 函数说明clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数close,fflush,fopen,setbuf 表头文件#include 定义函数int fclose(FILE * stream); 函数说明fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。 返回值若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。错误代码EBADF表示参数stream非已打开的文件。 范例请参考fopen()。 fdopen(将文件描述词转为文件指针) 相关函数fopen,open,fclose 表头文件#include 定义函数FILE * fdopen(int fildes,const char * mode); 函数说明fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。关于mode 字符串格式请参考fopen()。 返回值转换成功时返回指向该流的文件指针。失败则返回NULL,并把错误代码存在errno 中。 范例 #include main() { FILE * fp =fdopen(0,”w+”); fprintf(fp,”%s\n”,”hello!”); fclose(fp); } 执行hello! feof(检查文件流是否读到了文件尾) 相关函数fopen,fgetc,fgets,fread 表头文件#include 定义函数int feof(FILE * stream);

操作系统实验报告 LINUX基本命令使用和VI编辑器

实验报告模板 实验名称Linux基本命令使用和vi编辑器学院 姓名学号班级 实验地点实验日期评分 指导老师同组其他成员 一、实验目的 掌握Linux一般命令格式。 2.掌握有关文件和目录操作的常用命令。 3.掌握进程操作的常用命令。 4.熟练使用man命令。 5.学习使用vi编辑器建立、编辑、显示及加工处理文本文件。 二、实验环境 VMware,RedHat Linux 三、实验内容 正确地登录和退出系统(logout或exit)。 2.熟悉date,cal,who,clear命令。 3.在用户主目录下对文件进行操作:复制一个文件、显示文件内容、查找指定内容、排序、文件比较、文件删除等。 4.对目录进行管理:创建和删除子目录、改变和显示工作目录、列出和更改文件权限、链接文件等。 5.利用man显示date等命令的手册页。 6.显示系统中的进程信息。 7.进入和退出vi。 8.利用文本插入方式建立一个文件。 9.在新建的文本文件上移动光标位置。 10.对该文件执行删除、复原、修改、替换等操作。 四、实验结果(含程序、数据记录及分析和实验总结等) 1.使用简单命令:date,cal,who,echo,clear等,了解Linux命令格式。

Clear之后 2.浏览文件系统: (1)运行pwd命令,确定当前工作目录。 (2)运行ls–l命令,理解各字段含义。 第一部分“-rw-r--r--”表示该文件的权限,即所有者权限为读和写,组用户和其他用户的权限为只读。第二部分“l”表示该文件是符号链接,第三第四部分所 有者和所有者所在的用户组,第五部分的数字表示文件的大小(以字节为单位),剩下的依次是文件创建月日时间和文件名。

Linux操作系统Vi文本编辑器试验报告

Vi 文本编辑器 1.实验目的 文本编辑器的原理和操作。1.了解vi文本编辑器的相关命令。了解vi 2.2.实验原理和实验设备 1.操作系统inuxL. 3.实验步骤 1.什么是vi文本编辑器? Vi是一个全屏幕文本编辑器 优点: 具有文本编辑所需的所有功能.1 适用于各种版本的Unix/Linux2.适用于各种类型的终端.3使用灵活快捷.4缺点: 界面不太好看1.按键命令太多2.2. 如何调用vi 在系统提示符后输入vi和想要编辑(或建立)的文件名(如:vi [path]filename),便可进入vi。如果只输入vi,而不带有文件名,也可以进入vi。然后先创建文件的内容,时,只需在退出命令后输入文件名即可。vi在退出进入vi之后,首先进入的就是编辑模式,进入编辑模式后vi等待编辑命令输入而不是文本输入,也就是说,这时输入的字母都将作为编辑命令来解释。.进入编辑模式后光标停在屏幕的第一行首位上(用_表示),其余各行的行首均有一个“~”符号,表示该行为空行。最后一行是状态行,显示出当前正在编辑的文件名及其状态。如果是[New File],则表示该文件是一个新建的文件。如果输入vi带有文件名后,文件已在系统中存在的话,则在屏幕上显示出该文件的内容,并且光标停在第一行的首位,在状态行显示出该文件的文件名,行数和字符数。在编辑模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入插入模式。在插入模式下,用户输入的任何字符都被vi当作文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式,按ESC键即可。在编辑模式下,用户按“:”键即可进入命令模式,此时vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为命令模式的提示符,等待用户输入命令。多数文件管理命令都是在此模式下执行的。末行命令执行完成后,vi自动回到编辑模式。如图3.1所示。若在命令模式下输入命令过程中改变了主意,可用退格键(backspace)将输入的命令全回到编辑模式。部删除之后,再按一下退格键,即可使vi3. vi 的三种基本工作模式: 。)编辑模式、插入模式和命令模式(末行模式 三种模式之间的转换示意图图3.1 vi文件的保存和退出;4. 键切换ESC要通过如果我们处于其它命令模式时,的默认模式,vim或vi模式是Command 过来。会在屏幕的最下方等待我们输入命令:号时,vi当我们按ESC键后,接着再输入:保存;:w ;filename另存为:w filename

linux高级编程(文件操作)

文件及设备操作 1.基本概念 linux下文件操作的两种方法:原始文件I/O、标准I/O库 标准I/O库: 是C语言的标准输入输出库,是针对流对象FILE 进行的操作,是带缓存的。 原始I/O库:是linux系统提供的文件API,是针对描述描进行的操作,是无缓存机制。 文件描述符:创建一个新文件或打开现有文件时,内核向进程返回的一个非负整数。 其范围在0~OPENMAX之间,OPENMAX是一个宏,不同linux版本取值不同. 系统调用:是操作系统提供的某些功能的接口(函数) 常用设备 /dev/null 空设备,丢弃数据用 /dev/port 存取I/O端口 /dev/ttyN N(0 1 ...) 字符终端 /dev/sdaN N(0 1...) SCSI磁盘 /dev/scdN N(0 1...) SCSI光驱 /dev/mouseN N(0 1...) 鼠标 /dev/socksys 套接字访问端口接口,用于网络传输 /dev/route 路由器控制设备 /dev/fbN N(0 1...) 帧缓冲设备(frame buffer) 重点 /dev/mixer 混音器音量控制、混音控制重点 /dev/dsp 声卡数字采样和数字录音设备用于播放声音和录音经常使用重点(oss) /dev/audio 声卡音频设备用于播放声音和录音,支持sun音频较少使用 /dev/video 视频摄像头用于视频采样(录像) 常用头文件 #include 对外提供的各种数据类型如size_t #include 对外提供的各种结构类型如time_t #include 对外提供的各种错误号的定义用数字代码的错误类型 #include 文件控制的函数定义 #include 串口的结构及定义 #include 声卡的结构及定义 #include 设备控制函数 #include 在C++内加入的头 2.设备的操作函数 #include #include #include #include #include 1)Access

nodejs文件操作模块FS(File System)常用函数简明总结

nodejs文件操作模块FS(File System)常用函数简明总结 件系统操作相关的函数挺多的。首先可以分为两大类。 一类是异步+回调的。一类是同步的。 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1.首先是一类最常规的读写函数,函数名称和形式,应该是起源于C语言的。 复制代码代码如下: fs.open(文件路径,读写标识,[文件mode值,666],回调函数(err,文件句柄fd)); fs.read(文件句柄fd,被写入的buffer,offset,length,position,回调函数(err,bytesRead,buffer)); fs.write(文件句柄fd,被读取的buffer,offset,length,position,回调函数(err,bytesWritten,buffer)); fs.close(文件句柄,回调函数) fs.truncate(文件句柄,截断长度,回调函数); fs.fsync(文件句柄,回调函数); 2.直接对文件进行读写的,用起来比较方便。 复制代码代码如下: fs.readFile(文件名,编码,回调函数(err,data)); fs.writeFile(文件名,数据,编码,回调函数(err)); fs.appendFile(文件名,数据,编码,回调函数(err)); 3.其它常用文件操作 复制代码代码如下: 判断文件是否存在 fs.exists(文件路径,callback(是否存在)); 重命名 fs.rename(旧文件名,新文件名,回调函数); 文件所有者变更 fs.chown(文件名,uid,gid,回调函数);/fs.fchown(文件句柄fd,uid,gid,回调函数);/fs.lchown(链接路径,uid,gid,回调函数); 文件权限变更 fs.chmod(文件名,mode,回调函数);/fs.fchmod(文件句柄,mode,回调函数);/fs.lchmod(链接路径,mode,回调函数); 文件信息 fs.stat(文件路径,回调函数(err.fs.Stats对象));/fs.fstat(文件句柄fd,回调函数(err.fs.Stats对象));/fs.lstat(链接路径,回调函数(err.fs.Stats对象)); 文件时间 fs.utimes(文件路径,访问时间,新建时间,回调函数);/fs.futimes(文件句柄,访问时间,新建时间,回调函数); 监视文件 fs.watchFile(文件名,[options],listener_callback(当前文件的stats,改变前的stats)); fs.unwatchFile(文件名); 4.目录操作 复制代码代码如下: fs.mkdir(路径,权限mode/777,回调函数); fs.rmdir(路径,回调函数);

实验11-Linux文件操作(II)

实验11 Linux基本文件操作(II) 实验目的 熟悉与目录和文件操作相关的命令 实验内容与要求 要求 显示当前目录的目录名 改变当前目录 使用ls命令的不同命令选项,来查看文件与目录的属性 创建和删除目录 创建0长度的文件 拷贝、移动、重命名、链接及删除文件 查看文件的内容 内容 一、检查你现在所处的环境 1.登录进入系统:使用pwd命令,确认你现在正处在自己的主目录中。这个目 录就是在你登录时,用户缺省进入的目录。 思考:设置默认主目录的环境变量是PATH 二、查看目录 1.把你的当前目录改变为根目录。 2.确认你的当前目录是根目录,并且使用简单列表命令和长列表命令来列出本 目录中的文件。调用使用-a或-R命令选项的ls命令。每一个命令选项各有什么作用?回到你的用户主目录,并列出所有的文件(包括隐藏文件)3.在你的用户主目录中创建一个名为mydir的新目录。然后调用长列表命令来 查看/home/xxx/mydir目录和/home/xxx目录(只查看目录文件的信息)。注意这里xxx代表的是当前用户名。

4.把目录/home/xxx/mydir变为自己的当前目录。使用touch命令在mydir目录 创建名为myfile1,myfile2的两个文件。 5.使用长列表命令来查看mydir目录中的文件的信息。myfile1与myfile2的文 件大小是多少?再次使用长列表命令,同时列出索引结点(inode)的信息。这两个文件的索引结点号是什么? 6.返回到你的用户主目录,调用ls –R命令来查看你的用户主目录中的目录树 结构。 7.使用rmdir命令删除mydir目录,这个命令工作了吗?请注意rmdir命令不能 删除一个非空的目录。为了删除这个目录,你需要调用命令rm –r。 三、对文件进行操作 1.查看/etc/inittab和/etc/passwd文件的内容。使用命令cat、view、less、more 来分别查看每一个命令的输出方式(提示:/etc/inittab文件包括了系统登录的相关信息,/etc/passwd文件包括了被授权使用该系统的用户的列表)。比较cat、view、less、more这几个命令的异同。 2.拷贝文件/usr/bin/cat到你的用户主目录中。该目录没有cat文件,用find命 令查找 3.拷贝文件/usr/bin/cal到你的用户主目录中。 4.列出你的用户主目录中的文件,你会发现上面两个文件已经被拷贝过来了。 在你的用户主目录中创建一个名为xxxscript的目录 四、对目录进行操作 1.将上面两个文件(cat, cal)移动到xxxscript目录中,并且重新命名为mycat 和mycal; 2.将xxxscript目录变为你的当前目录。列出当前目录中的各个文件名,确认上 述两个文件已经被拷贝过来并已更名。 3.使用mycat命令来显示你的用户主目录中的文件.bash_profile中的内容。返 回到你的用户主目录中。 4.在你的用户主目录中创建另一个子目录goodstuff,拷贝文件/etc/profile到这

C语言基础自学总结之十:文件操作

C语言基础自学总结之十:文件操作 要点: 1.文件操作,就是通过程序,操作文件 2.两个方面:读,写 一.fopen 打开文件 函数原型:FILE *fopen(char *filename, char *type);int fclose(FILE *fp); 头文件:#include 是否是标准函数:是 函数功能:函数fopen:打开一个流,即:打开一个文件。该函数有两个参数,filename是需要打开文件的文件名,type是打 开文件的方式。函数fclose:关闭一个流,即:关闭一个 文件,并释放文件缓冲区。fclose函数与fopen函数是相 对的两个函数。fclose函数的参数是指向文件的指针,应 用该函数用以在程序结束之前关闭文件,并释放文件缓冲 区。这样可以保证文件的数据不流失。 返回值:fopen:FILE类型,如果打开的文件存在,返回指向该文件的指针;如果打开的文件不存在,则在指定的目录下建立该 文件打开,并返回指向该文件的指针。fclose:整型,有错

返回非0,否则返回0。 例子1: #include int main(void) { FILE *FP=fopen("文件","打开方式");//返回值是file是一个 结构体,是一个结构体 的宏。 fclose(FP);//打开之后,用完了,就要关闭文件,fclose是跟 fopen一起使用的一个函数。 return 0; } 二. frend 读取 fread:从流中读取字符串函数 函数原型:int fread(void *buf, int size, int count, FILE *fp);头文件:#include 是否是标准函数:是 函数功能:从fp指向的文件中读取长度为size 的count个数据项,并将它输入到以buf为首地址的缓冲区中。此时,文件指针 fp会自动增加实际读入数据的字节数,即fp指向最后读入 字符的下一个字符位置。

Linux系统如何使用vi命令

Linux系统如何使用vi命令 linux系统使用vi命令方法 一、一般模式:删除、复制与粘贴类命令 x,x x为向后删除一个字符,x为先前删除一个字符 nx(n代表数字) 向后删除n个字符 dd 删除当前行 d 删除当前行所有字符,试成为空行 ndd(n代表数字) 删除光标所在行的向下n列 d1g 删除光标所在行到第一行的所有数据 dg 删除光标所在行到最后一行的所有数据 yy 复制光标所在行 y1g 复制光标所在行到第一行的所有数据 yg 复制光标所在行到最后一行的所有数据 ynj(n代表数字) 复制光标所在行向下n+1行 dnj(n代表数字) 删除光标所在行向下n+1行 p,p p为复制的数据粘贴在光标的下一行,p为复制的数据粘贴在光标的上一行 j 将光标所在行与下一行的数据结合成一行 u 恢复前一个动作(undo) 二、编辑模式命令 i,i i为在当前光标所在处插入输入的文字,i为在光标所

在行第一个非空字符插入输入的文字 a,a a为在当前光标所在处下一个字符插入输入的文字,a 为在光标所在行最后一个字符的下一个字符处插入输入的文字o,o o为在光标所在行的下一行行首开始插入字符,o为在光标所在行的上一行行首开始插入字符 r,r r为替换光标所在那一个字符,r为一直替换光标所指的文字,直到退出 esc 退出,回到一般模式 三、命令模式 h 光标向左移一个字符 j 光标向下移一个字符 k 光标向上移一个字符 l 光标向右移一个字符 ctrl+f 屏幕向下翻一页 ctrl+b 屏幕向上翻一页 ctrl+d 屏幕向下翻半页 ctrl+u 屏幕向上翻半页 + 光标移动到下一行的第一个非空字符 - 光标移动到当前行的第一个非空字符 n空格(n代表数字) 光标向当前行向右移动n个字符 0(数字0) 光标移动到当前行的第一个字符(可以为空字符,注意与-区分) $ 光标移动到当前行的最后一个字符(可以为空字符,注意与-区分)

linux_vi基础教程

The binary system

Linux_vi 1 简介 (4) 2 使用帮助 (4) 3 模式和命令 (4) 3.1 输入模式和命令模式 (4) 3.2 vi和ex命令 (5) 4 启动与编辑vi-vim (5) 4.1编辑一个文件 (5) 4.2编辑多个文件 (5) 5 系统意外时数据的恢复 (5) 6 搜索 (6) 6.1搜索常用命令 (6) 6.2查找字符串便捷方式 (6) 6.3 查找整个字符串 (6) 7 移动和跳转 (6) 7.1获取光标当前位置 (6) 7.2 缓冲区移动 (7) 7.3 光标移动 (7) 7.4 行号跳转 (8) 7.5 跳转到前一位置 (9) 7.6 使用名称标示任意行,进行跳转 (9) 8 插入 (9) 9 写入与退出 (10) 9.1 写入文件 (10) 9.2 退出文件、停止vi (10) 10 文本改动 (10) 10.1替换之vi命令 (10) 10.2替换之ex命令_常用方法 (10) 11 删除 (11) 11.1 删除命令 (11)

11.2 常用的删除组合命令 (12) 11.3 撤销或重复改变 (12) 11.4 恢复删除 (12) 11.5 复制上一次删除 (12) 12 复制 (13) 12.1 接出(复制单词、句子、段落) (13) 12.2 复制与移动行 (13) 13 使用缩写 (14) 14 shell命令 (14) 14.1 执行shell命令 (14) 14.2 使用shell命令处理数据 (14) 15 显示与设置选项 (14) 15.1 显示选项 (14) 15.2 设置选项 (15) 15.3常用设置命令 (15) 16 初始化文件与配置文件 (15) 16.1初始化文件 (15) 16.2配置文件 (15) 17 vi术语 (15) 18 在线资料 (16)

Linux操作题整理

五、实验题(共5题,每题2分,共10分) 写出下列操作命令: 1、查看/etc/boot路径下的所有内容。 Ls –al /etc/boot/* 2、查看文件/etc/hosts的内容。 Cat /etc/hosts 3、增加一个组账号group1,并指定组账号ID分别为10100。Groupadd –g 10100 group1 4、增加一个用户账号user1(UID为2045,并属于组group1)。Useradd –u 2045 –g group1 user1 5、搜索路径/etc下所有以h开头的文件及目录,拷贝到/software 中。 Cp –r /etc/h* /software 1.按顺序写出下面操作步骤中所用到的命令。

1) 创建新目录my目录 2) 进入my目录 3) 把一个文本文件复制到my目录下同时命名为,该文本文件绝对路径为/user/book/ 4) 把/user/book/移动到my目录下,文件名不变 5) 删除目录my,没有任何提示 答: 1) $mkdir my 2) $cd my 3) $cp /user/book/ 4) $mv /user/book/ 5) $rm -rf my 下安装软件方式有两种:一是安装rpm格式的智能软件包,二是下载源码编译安装,要求安装以下两个软件:和安装,写出所用到的命令 2) 安装,写出解压解包以及标准安装方式所需步骤和命令。

答:(教材82、84、87页) 1) rpm -ivh 参数含义:i表示安装,v表示在安装过程中显示详细的安装信息,h表示显示水平进度条。 2) 源码编译安装方式: ①释放TAR包 使用命令如下:tar zxvf 查看并阅读包内附带的软件安装说明 ③进行编译准备 使用命令如下:./configure ④进行编译 执行make命令 ⑤进行软件安装 执行make install命令 ⑥清楚临时文件 执行make clean命令

VB_Open_文件操作类函数功能详解

VB Open 文件操作类函数功能详解: 1、Open 文件名[For方式] [Access存取类型] [锁定] AS [#]文件号[Len=记录长度] 功能: 为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式 说明: (1)打开方式: 指定文件的输入输出方式,可选,默认是Random。可以是以下值: a、Output:指定顺序输出方式,将覆盖原有内容。 b、Input:指定顺序输入方式。 c、Append:指定顺序输出方式,在文件未尾追加内容。 d、Random:指定随机存取方式,也是默认方式,在Random方式时,如果没有Access子句,则在执行Open语句时,VB将按下列顺序打开文件:读/写、只读、只写。 e、Binary:指定二进制文件。在这种方式下,可以用Get和Put语句对文件中任何字节位置的信息进行读写。在Binary方式中,如果没有Access子句,则打开文件的类型与Random方式相同。 (2)存取类型: 放在关键字Access之后,用来指定访问文件的类型。可以是下列类型之一: a、Read:打开只读文件。 b、Write:打开只写文件。 c、Read Write:打开读写文件。这种类型只对随机文件、二进制文件及用Appe nd方式打开的文件有效。 (3)锁定类型: 该子句只在多用户或多进和环境中使用,用来限制其他用户或其他进程对打开进行读写操作。锁定类型包括: a、默认:如不指定锁定类型,则本进程可以多次打开文件进行读写;在文件打开期间,其他进程不能对该文件执行读写操作。 b、Lock Shared:任何机器上的任何进程都可以对该文件进行读写操作。 c、Lock Read:不允许其他进程读该文件。只在没有其他Read存取类型的进程访问该文件时,才允许这种锁定。 d、Lock Write:不允许其他进程写这个文件。只在没有其他Write存取类型的进程访问该文件时,才允许这种锁定。 e、Lock Read Write:不允许其他进程读写这个文件。 如果不使用lock子句,则默认为Lock Read write。 (4)文件号: 由用户自行指定一个由1~511之间的整数,只要该文件号未被使用就合法;打开文件后,可以用该文件号进行读写等操作。

linux下vi命令大全

linux下vi命令大全 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾 ( :光标移至句首 }:光标移至段落开头 {:光标移至段落结尾 nG:光标移至第n行首 n+:光标下移n行 n-:光标上移n行 n$:光标移至第n行尾 H :光标移至屏幕顶行 M :光标移至屏幕中间行 L :光标移至屏幕最后行 0:(注意是数字零)光标移至当前行首 $:光标移至当前行尾 屏幕翻滚类命令 Ctrl+u:向文件首翻半屏 Ctrl+d:向文件尾翻半屏 Ctrl+f:向文件尾翻一屏 Ctrl+b;向文件首翻一屏 nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 插入文本类命令 i :在光标前

I :在当前行首 a:光标后 A:在当前行尾 o:在当前行之下新开一行 O:在当前行之上新开一行 r:替换当前字符 R:替换当前字符及其后的字符,直至按ESC键 s:从当前光标位置处开始,以输入的文本替代指定数目的字符S:删除指定数目的行,并以所输入文本代替之 ncw或nCW:修改指定数目的字 nCC:修改指定数目的行 删除命令 ndw或ndW:删除光标处开始及其后的n-1个字 do:删至行首 d$:删至行尾 ndd:删除当前行及其后n-1行 x或X:删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u:删除输入方式下所输入的文本 搜索及替换命令 /pattern:从光标开始处向文件尾搜索pattern ?pattern:从光标开始处向文件首搜索pattern n:在同一方向重复上一次搜索命令 N:在反方向上重复上一次搜索命令 :s/p1/p2/g:将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g:将文件中所有p1均用p2替换 选项设置 all:列出所有选项设置情况 term:设置终端类型 ignorance:在搜索中忽略大小写 list:显示制表位(Ctrl+I)和行尾标志($) number:显示行号 report:显示由面向行的命令修改过的数目 terse:显示简短的警告信息 warn:在转到别的文件时若没保存当前文件则显示NO write信息nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始mesg:允许vi显示其他用户用write写到自己终端上的信息 最后行方式命令 :n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

linux下vi命令修改文件及保存等使用方法整理

vi是所有UNIX系统都会提供的屏幕编辑器,它提供了一个视窗设备,通过它可以编辑文件。当然,对UNIX系统略有所知的人, 或多或少都觉得vi超级难用,但vi是最基本的编辑器,所以希望读者能好好把它学起来,以后在UNIX世界里必将畅行无阻、 游刃有余,因为其他几种文本处理器并非UNIX标准配备。说不定别人的Linux机器没安装joe或pico,如果您不会vi,那您可能就没辄了。 vi的基本概念 基本上vi可分为三种操作状态,分别是命令模式(Command mode)、插入模式(Insert mode)和底线命令模式(Last line mode), 各模式的功能区分如下: 1. Comand mode:控制屏幕光标的移动,字符或光标的删除,移动复制某区段及进入Insert mode下,或者到Last line mode。 2. Insert mode:唯有在Insert mode下,才可做文字数据输入,按Esc等可回到Comand mode。 3. Last line mode:将储存文件或离开编辑器,也可设置编辑环境,如寻找字符串、列出行号等。 不过可以把vi简化成两个模式,即是将Last line mode也算入Command mode,把vi分成Command 和Insert mode。 进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后一行首 vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename :打开多个文件,依次进行编辑 移动光标类命令 h :光标左移一个字符 l :光标右移一个字符 space:光标右移一个字符 Backspace:光标左移一个字符 k或Ctrl+p:光标上移一行 j或Ctrl+n :光标下移一行 Enter :光标下移一行 w或W :光标右移一个字至字首 b或B :光标左移一个字至字首 e或E :光标右移一个字至字尾 ) :光标移至句尾

Linux系统编程-文件操作

最基本的访问文件方法是:使用read()和write()系统调用。在一个文件能被访问之前,必须通过open() 或者creat()系统调用打开它,一旦使用完毕,则用close()系统调用来关闭文件。 1.open #include #include #include int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode); 返回值:成功返回新分配的文件描述符,出错返回-1并设置errno eg: int fd; fd = open("/home/kidd/aaa",O_RDONLY); if(fd == -1) /*error*/ pathname 参数是要打开或创建的文件名,和fopen一样,pathname 既可以是相对路径也可以是绝对路径。 flags参数有一系列常数值可供选择,可以同时选择多个常数用按位或运算符连接起来, 所以这些常数的宏定义都以O_开头,表示or 。 以下三个三先一: O_RDONLY 只读打开 O_WRONLY 只写打开 O_RDWR 可读可写打开 以下可多选(以或的形式)(进行按位或运算,用以修改打开文件请求的行为) O_APPEND 表示追加。如果文件已有内容,这次打开文件所写的数据附加到文件的末尾而不覆盖原来的内容。 (文件将以追加模式下打开。就是说,在每次写操作之前,文件位置指针将被置于文件末尾,即使 在进程刚刚完成写操作并改变文件位置指针之后,如有另一进程开始写操作,情形也是如此。)O_CREAT 若此文件不存在则由(内核来)创建它。使用此选项时需要提供第三个参数mode,表示该文件的访问权限。 有0666。如果文件已存在,本标志无效,除非给出了O_EXCL标志。 当文件创建时,mode参数提供新建文件的权限。系统并不在该次打开文件时检查权限,所以你可以进行相反的操作,例如设置文件为只读权限,但却在打开文件后进行写操作。最终写入磁盘的权限位还需让mode参数与用户文件创建的掩码(即umask)做按位与操作后来确定。 umask 022,mode 0666,文件权限为0644(0666&~022) O_EXCL 如果同时指定了O_CREAT,并且文件已存在,则出错返回。(用来防止文件创建时出现单键竞争。)O_TRUNC 如果文件已存在且为普通文件,并且以只写或可读可写方式打开,则将其长度截断(Truncate)为0字节。 对于FIFO或者终端设备,该参数被忽略。在其他文件类型上则没有定义。因为截断文件需要写权限,所以O_TRUNC和O_RDONLY同时使用也是没有定义的。 eg: int fd; fd = open("/home/teach/pearl", O_WRONLY|O_TRUNC); if(fd == -1) /*error*/ O_NONBLOCK 对于设备文件,以O_NONBLOCK方式打开可以做非阻塞I/O (Nonblock I/O )。

文件操作函数

var file_name:string; file_name:='c:\luther.gliethttp.txt'; FileWrite(com.log_fd, PChar(file_name)^, length(file_name)); 文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道。文件的本质是一个数据流,所有的文件实际上是一串二进制序列。 文件管理包括:1、文件操作。2、目录操作。3、驱动器操作。三部分。 1、常见文件操作函数和过程。 1.1、AssignFile过程 作用:将一个外部文件的文件名与一个File类型的变量关联,并对变量进行初始化。 原型:procedure AssignFile(var F; FileName: String); F:一个File类型的变量,可以是任何数据类型。 FileName:外部文件的文件名。 1.2、FileExists函数 作用:用于测试指定文件名的文件是否存在。 原型:function FileExists(const FileName: String): Boolean; FileName:文件名。字符串类型。 注意:如果文件存在,返回True;否则,返回False。 1.3、Append过程 作用:为在一个已经存在的文件末尾添加文本做好准备工作。文件是只写方式打开的。 原型:procedure Append(var F: Text); F: 一个TextFile类型变量。 注意:这是一个对文本类型文件操作的过程。其中变量F必须和外部文件关联。如果F没有与外部文件关联,将抛出异常。如果F已经处于打开状态,则过程会关闭F并重新打开。文件指针位置将被设置在文件末尾。 1.4、Reset过程 作用:对于文本文件,Reset过程将以只读方式打开文件。对于类型文件和无类型文件,Reset 过程将以可读写方式打开文件。打开已存在文件,打开不存在文件用Rewrite 原型:procedure Reset(var F [: File; RecSize: Word ] ); F:File类型变量,可以是任何文件类型。 RecSize:文件的大小。它是一个可选的选项,只有当F为无类型文件时才可以被指定。如果F为无类型文件,则RecSize指定了在数据传输过程中使用的记录的大小。如果参数RecSize被省略了,则默认的记录大小为128字节。 注意:当该过程打开文件时,如果文件不存在则产生异常。如果文件已经打开了,则先关闭文件,然后重新打开,并将文件指针放到文件开头处。默认的文件模式(FileMode)为2,即可读写模式。如果文件模式在调用Reset过程前都还未改变,则尝试打开一个只读文件会失败。当调用Reset过程后,如果文件为空,则Eof函数返回True,否则返回False。 1.5、Rewrite过程 作用:对于一个已存在的文件,此操作将使文件被覆盖。对于一个不存在的文件,将创建并打开文件。对于一个已打开的文件,则关闭文件,并重新创建一个新的文件(覆盖原有的)。文件指针也被设置到空文件的开头处。 原型:procedure Rewrite(var F: File [; Recsize: Word ] ); F:File类型变量,可以是任何文件类型。 RecSize:文件的大小。它是一个可选的选项,只有当F为无类型文件时才可以被指定。如果F为无类型文件,则RecSize指定了在数据传输过程中使用的记录的大小。如果

相关文档
最新文档