1.文件编译:(普通文件):vi/vim(自己装)
查看文件内容:
cat filename
more filename
三种模式:
命令模式:(插入)文本里面的批处理
插入模式:在里面插入文本
末行模式:对文本的操作,全文的搜索
三种模式的转换:
(1)末行模式下基本操作:
:q
:w
:w newfile //另存为
:wq
:q! //强制退出
:set nu //显示行号
:set nonu //不要行号
全文替换:
:1,$s/oldstring/newstring:替换从第一行开始每行遇到的第一个字符串
:1, $s/oldstring/newstring/g:全文替换
(2)命令模式下基本操作:
1.对光标的使用:
shift+6 :将光标移动到当前行的行头
shift+4 :将光标移动到当前行的行尾
shift+g :移动到文件尾行
gg :移动到第一行
shift +h/l/m :头 低 中间 在当前屏幕
ctrl +f/b :向下 向上
2.批处理
dd 删除一行
num +dd 删除num行
d shift+g 删除当前光标到文件尾的内容
d gg 删除当前光标到文件头的内容
u 撤销上次操作
shift+c 删除当前光标到当前行尾的内容,并进入插入模式
cc 删除当前行,并进入插入模式
r 替换一个字符
shift+r 进入替换模式
c+w :替换一个单词
yy :拷贝一行
num+yy 拷贝num行
p : 粘贴
2.c程序的编译连接
1.编译过程:
预编译(.i)---->编译(.s)----->汇编(.o)
处理预编译指令—>词法,语法分析---->将汇编指令翻译成二进制生成符号表生成各section
删除注释---->代码优化,生成符号---->
注:经过上面三步:生成目标文件(可重定位的二进制目标文件)
2.链接:
1步完成:gcc -o main main.c
2步完成:gcc -c main.c -> main.o (ELF可执行文件) gcc -o main main.o
./文件名:执行
3.core文件调试:设置生成的core文件的大小( ulimit -c size)
strace:跟踪打印系统调用
ltrace:跟着库函数
4.c程序的4G虚拟地址空间布局
ELF可执行文件