Linux基础知识(一)


一、软件包管理工具

yum:管理当前系统中能够安装的工具以及可以卸载的工具、并且实现安装以及卸载操作。(可以类比手机上的应用商店应用)
1、查看所能安装的软件工具:yum list 显示所有工具、yum search keyword 根据关键字查找指定工具。
2、安装一个指定工具:yum install package name。例如:sudo yum install gcc gcc-c++ gdb git。
3、卸载一个指定工具:yum remove package name

二、编辑器

Linux中的默认编辑器是vim。vim中不能使用鼠标,只能通过键盘来完成操作,因此vim中分出多种操作模式,不同操作模式下的相同按键有不同的功能。
vim的操作模式分类:共12种,必用的有三种:普通、插入、底行。

1、普通模式:完成文本操作、光标移动、其它指令操作
2、插入模式:插入数据
3、底行模式:更多用于保存退出文件
vim filename 打开文件之后默认处于普通模式(无法输入数据)。

模式切换:
普通模式->插入模式:在光标位置进行插入(小写字母i)、在光标下一行新建一行插入(小写字母o)。
普通模式->底行模式:英文冒号:
底行模式->普通模式:ESC(任意模式下按ESC都可以回到普通模式)。

不同模式下的常见操作:
底行:w 保存、q 退出、wq 保存退出、q!不保存强制退出。通常,打开了一个不具备写权限的文件,修改后会发现无法保存,也无法退出,这种情况下只能强制退出。

普通:
光标移动: h j k l 左下上右;上下翻页 ctrl + f/b ;文档首行、尾行 gg/G
内容操作:复制:yy/nyy; 粘贴:p/np;剪切(删除):dd/ndd 删除行 x 删除光标所在字符 dw 删除单词
其它操作:撤销 u,反向撤销 ctrl + r,全文对齐 gg=G

注意事项:
vim打开一个文件后,通常会创建一个临时文件,以.sw*结尾。vim打开文件后,创建临时文件,编辑文件时会修改这个临时文件,只有在保存的时候才会将修改的信息写到源文件中。例如:a.txt、a.txt.swp。正常退出vim的时候会删除临时文件,并且在文件没有正常关闭退出vim时,这个临时文件不会被删除,每次打开源文件的时候都会有提示信息。使用ls -a查看隐藏文件,删除掉这个交换文件后就不会有提示了。

三、编译器:gcc/g++

C、C++等语言都属于高级语言,不是CPU指令,这种语言无法直接被CPU识别。
各种语言出现的目的,是为了简化编程,并且实现跨平台移植性(一段程序能够在不同的平台上编译后运行)。上层使用统一语言的语法规则,构建不同语言,然后不同语言拥有不同的编译器,将上层高级语言代码解释成为对应平台的cpu指令。

能够被cpu识别执行编译过程:将高级语言代码解释成为机器指令经过了哪些阶段:
预处理阶段:展开所有代码(引入头文件,宏替换,删除注释…)。
编译阶段:检查语义语法错误;如果没有错误则将C语言解释成为汇编语言汇编阶段:将汇编代码解释成为二进制的CPU指令。
链接阶段:将所有的指令代码打包到一起(不仅是打包我们自己的代码,还有链接库文件中的库函数指令代码),组织成为可执行程序。

gcc:C语言编译器、g++:C++语言编译器
-E只进行预处理;-S只进行编译处理;-c只进行汇编处理-o指定输出文件名称。

:通常被认为是函数库,说白了就是一个文件,文件中包含大量的函数实现的二进制代码指令(比如我们所使用printf函数)代码中用到了标准库中的printf函数,则生成可执行程序时就必须能够知道printf的具体指令。
库的链接方式:库被分为两种-动态库和静态库
动态链接:链接动态库生成可执行程序,并没有把库中函数的实现指令直接拿过来写入可执行程序中,而是在可执行程序中记录了库中函数的符号信息表,在运行可执行的时候需要去加载动态库到内存中,如果动态库不存在,则程序无法运行。
静态链接∶链接静态库生成可执行程序,直接将库中我们用到的函数的实现代码指令,写入到了可执行程序文件中,程序运行的时候没有什么依赖。

动态链接的优缺点:生成可执行程序比较小,运行时动态库被加载到内存中,可以多个程序使用同一份内存中库函数代码;缺点是运行时需要依赖动态库的存在,不存在则无法运行。
静态链接的优缺点:程序运行没有其他依赖,可以直接运行;但是可执行程序比较大,并如果多个程序使用同一个库中的函数,则这些程序同时运行时,则相同的库函数代码在内存中会存在多份,各是各的。

gcc/g++常用选项: -E、-S、-c
例如:
gcc -E test.c -o test.i
gcc -S test.i -o test.s
gcc -c test.s -o test.o
gcc test.o -o test

gcc test.c -o test

linux中运行一个程序:可执行程序的所在路径/可执行程序文件名称
例如:
./test.exe 或者 /home/username/workspace/tool/test.exe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值