Linux基本 工具

yum软件工具

下载:先从远端服务器上通过互联网下载软件包,下载了软件后,安装,安装的本质是拷贝,拷贝到目录中。

yum:是Linux下常用的一种包管理器。主要应用在fedora,redhat,centos等发行版上。

yum remove 是删除,yum install  是下载。

rzsz

这个工具用于Windows机器和远端的Linux机器通过XShell传输文件。

rz 上传Windows文件到电脑上。

sz下载从Linux下载到window上。

ping

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 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念.

Linux 编辑器-vim使用

esc:回到命令模式 

命令模式下:

底行模式: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行行首。

vim末行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式。

行号:

set nu:在每一行前面列出行号。

数字:输入某个数字,再按回车,光标跳到改行。

查找字符:/关键字与?关键字,有的关键字会有高亮,按回车后,按n可以找到要的关键字。

保存文件:输入字母w就可以保存了。

离开vim:q:退出,q!强制退出。

保存退出:wq

三种模式

1.正常模式 2.插入模式 3.底行模式

常用操作

打开:vim 关闭:q 插入:i 删除:dd  替换:r 撤销:u 复制:yy

vim 配置原理

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

Linux编译器-gcc/g++使用

1.背景知识

1.预处理(宏替换)

2.编译(生成汇编)

3.汇编(生成机器语言)

4.连接(生成可执行文件)

2.gcc 用法

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:告诉我们有办法去找库。

你可能感兴趣的:(linux,运维,服务器)