windows上的文本编译器:
NotePad++、记事本——>源代码——>通过vs(IDE集成开发环境)——>.exe
linux系统的开发:
vi,vim——>源代码——>通过gcc,g++——>a.out
vi与vim的区别
1、多级撤消
在vi编辑器中,按u只能撤消上次命令,而在vim里可以无限制的撤消。
2、易用性
vi编辑器只能运行于unix中,而vim不仅可以运行于unix,还可用于windows、mac等多操作平台。
3、语法加亮
vim可以用不同的颜色来加亮你的代码。
如下两图对比:
vi main.c
vim main.c
4、可视化操作
vim不仅可以在终端运行,也可以运行于windows、 mac os、 windows。
5、对vi完全兼容
可以把vim当成vi来使用。
小结:
vi和vim都是Linux中的编辑器,不同的是vim比较高级,可以视为vi的升级版本。
vi使用于文本编辑,但是vim更适用于coding。
使用:
vim filename——>打开vim文本编译器——>编辑filename里面的内容
三种基本操作模式
1.命令行模式:执行一些命令,对文件内容进行批处理或对光标位置进行移动
2.插入模式:编辑
3.末行模式:对vim做配置,对文本进行保存,退出编辑,全文搜索,替换等操作
详解
1、命令行模式 (command mode/一般模式)
任何时候,不管用户处于何种模式,只要按一下“ESC”键,即可使Vi进入命令行模式;我们在shell环境(提示符为$)下输入启动vi命令,进入编辑器时,也是处于该模式下。
在该模式下,用户可以输入各种合法的vi命令,用于管理自己的文档。此时从键盘上输入的任何字符都被当做编辑命令来解释,若输入的字符是合法的Vi命令,则vi在接受用户命令之后完成相应的动作。但需注意的是,所输入的命令并不在屏幕上显示出来。若输入的字符不是Vi的合法命令,vi会响铃报警。
2、文本输入模式 (input mode/编辑模式)
在命令模式下输入插入命令i(insert)、附加命令a (append)、打开命令o(open)、修改命令c(change)、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令行模式下,按”ESC”键即可。
3、末行模式 (last line mode/指令列命令模式)
末行模式也称ex转义模式。
Vi和Ex编辑器的功能是相同的,二者主要区别是用户界面。
在Vi中,命令通常是单个键,例如i、a、o等;而在Ex中,命令是以按回车键结束的正文行。Vi有一个专门的“转义”命令,可访问很多面向行的Ex命令。
在命令模式下,用户按“:”键即可进入末行模式下,此时Vi会在显示窗口的最后一行(通常也是屏幕的最后一行)显示一个“:”作为末行模式的提示符,等待用户输入命令。
多数文件管理命令都是在此模式下执行的(如把编辑缓冲区的内容写到文件中等)。末行命令执行完后,Vi自动回到命令模式。
末行模式下的操作
在vim内部执行外部命令的方法:进入末行模式 :!+ 外部命令
例如:
按enter返回
在vim内部拷贝外部文件的方法:进入末行模式 :!r anothername
命令模式下的常用命令
更多命令学习请参考下面的博客:
vim分屏查看文件
查看文件内容
more:和cat相似,不会一次直接显示全部内容
less:类似于文本查看器,打开一个文本查看器,显示文件内容,退出后,终端上不会有文件内容
cat filename:直接将文件全部内容显示到终端界面上,扩展功能,文件的合并
head -n filename:显示文件前n行的内容
tail -f filename:循环读取文件尾部的内容,是不断刷新的,一般用于查看日志文件
tail -n filename:显示文件尾n行的内容
文件的压缩与解压
Linux下常见的压缩包:
-
***.tar.gz
-
***.tgz
可以不做区分,认为这两种压缩包是同一种。
例如:对于两文件main.c和text.c
压缩过程
第一步:
打包 ——> tar(打包命令) cf(选项) coding.tar(要生成的包名,由用户名名) main.c text.c
tar的选项部分
c : 创建 在创建包时使用
f : 目标为文件而不是设备
x : 释放文件内容,在解包时使用
t : 只查看包中内容,而不会释放
v : 显示详细过程
z : 在GNU版本新加的选项,使得tar命令有压缩和解压功能
第二步:
压缩 ——>gzip coding.tar ----->默认生成coding.tar.gz(压缩包)
解压过程
第一步:
解压 ——> gzip -d coding.tar.gz ------>释放成coding.tar
第二步:
解包 ——> tar xf coding.tar
例如
不用gzip命令
tar zcf coding.tgz main.c text.c
(其中tar生成的文件coding.tgz本身就是一个压缩包)
tar zxf coding.tgz
(直接解压)
问???????
coding.tgz文件能否通过gzip命令解压,然后通过tar命令不使用z选项进行解包?可以
coding.tar.gz文件能否通过tar命令加上z选项进行解压并解包?可以