下载:先从远端服务器上通过互联网下载软件包,下载了软件后,安装,安装的本质是拷贝,拷贝到目录中。
yum:是Linux下常用的一种包管理器。主要应用在fedora,redhat,centos等发行版上。
yum remove 是删除,yum install 是下载。
这个工具用于Windows机器和远端的Linux机器通过XShell传输文件。
rz 上传Windows文件到电脑上。
sz下载从Linux下载到window上。
ping www.baidu.com :可以通过ping指令验证主机网络通畅,才能使用yum。
通过yum list 命令可以罗列出一共有哪些软件包。由于包的数目可能非常之多,这里我们需要使用grep命令值筛选我们需要的包
语法: yum list | grep 名字
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
"x86_64" 后缀表示64位系统的安装包, "i686" 后缀表示32位系统安装包. 选择包时要和系统匹配. "el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.
最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.
底行模式:shift+; 在底行模式下w是保存当前文件,wq保存并退出,q!不存盘强制退出。
进入插入模式:a,i,o
i:从光标当前位置开始输入文字
a:从光标下一个位置输入文字
o:从光标下一行输入文字
yy:复制
nyy:多行复制
p:粘贴
np:多行粘贴
dd:删除
ndd:多行删除
shift+~:大小写互转换
h:光标左移
j:下移
l:右移
k:上移
按「G」:移动到文章的最后
按「$」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头 按
「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页
「x」:每按一次,删除光标所在位置的一个字符 「
#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行 复制
「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完 成复制与粘贴功能。
「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。 撤销上一次操作
「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回 复。
「ctrl + r」: 撤销的恢复 更改
「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字 跳至指定的行
「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首。
在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。
行号:
set nu:在每一行前面列出行号。
数字:输入某个数字,再按回车,光标跳到改行。
查找字符:/关键字与?关键字,有的关键字会有高亮,按回车后,按n可以找到要的关键字。
保存文件:输入字母w就可以保存了。
离开vim:q:退出,q!强制退出。
保存退出:wq
1.正常模式 2.插入模式 3.底行模式
常用操作
打开:vim 关闭:q 插入:i 删除:dd 替换:r 撤销:u 复制:yy
1.vim的配置是一人一份的,一个用户的配置是自己的,不影响他人
2.每一个人虽然用的vim程序,但是,每个用户都用的不同的vim配置
3.每一个用户,在自己的家目录下,都有一个属于自己的配置文件。在vimrc中进行写指令,之后的文件都有此指令。
4.
4.1在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
4.2而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下, 通常已经存在一个.vimrc文件,如果不存在,则创建之。
4.3切换用户成为自己执行su,进入自己的主工作目录,执行cd
4.4打开自己目录下的.vimrc文件,执行vim .vimrc
1.预处理(宏替换)
2.编译(生成汇编)
3.汇编(生成机器语言)
4.连接(生成可执行文件)
gcc 选项 要编译的文件 选项 目标文件
预处理功能包括宏替换,文件包含,条件编译,去注释
预处理指令是#号开头的代码行。
实例:gcc-E hello.c -o hello.i
选项“-E" 作用:让gcc在预处理结束后停止编译的过程。
选项”-o“是指目标文件,”i“文件为已经预处理过的c原始程序。
在这个阶段中.gcc首先要检查代码的规范性,是否有语法错误等,以确定代码的实际要做的工作,在检查无误后.gcc把代码翻译成汇编语言。
用户可以使用”-S"选项来进行查看,该选项只进行编译而不进行汇编,生成汇编代码。
实例:gcc -S hello.i -o hello.s
汇编阶段是把编译阶段生成的”.s"文件转成目标文件
读者在此看使用选项“-c”就可以看到汇编代码已转化为“.o”的二进制的目标代码。
实例:gcc -c hello.s -o hello.o
在成功编译之后,就进入了链接阶段。
实例:gcc hello.o -o hello
我们的c程序中,并没有定义printf的函数实现,且在预编译中包含的stdio.h 中也只有该函数的声明,而没有定义函数的实现。
实现的方法:系统把这些函数实现都被做到名为libc.so.6的库文件中,在没有特别指定时,gcc会到系统默认的搜索路径/usr/lib下进行查找,也就是链接到libc.so。6库函数中去,这样就能实现函数了,这就是链接作用。
a.我们自己写的代码和库是两码事。
b.标准库是准备好的,我们直接使用。只有链接时,才能使库函数与我们代码关联起来。
c.链接的本质:我们调用库函数时,和标准库关联。
动态链接:形成可执行程序小,节省资源(内存,磁盘),网络
静态链接:不受库升级或被删除的影响,形成的可执行程序体积太大--网络,磁盘,内存。
再拷贝时必须存在.a结尾的静态库。
静态库:是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不在需要库文件,其后缀名一般为“a”
动态库:在编译链接时并没有把库函数的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“so”,如libc.so.6.就是动态库。gcc在编译时默认使用动态库。
动态库:libxxxx.so
静态库:libyyyy.a
这个动态库是一个共享库,所有只有一个。
下载一个c写的程序,不用下载新的c标准库
系统本身是为了支持编程,给我们提供.h(标准库),告诉我们怎么用,标准库动静态库。so/a:告诉我们有办法去找库。