分成型网站建设,在线定制t恤,wordpress数字商城模板下载,企业影视广告制作公司xshellssh
xshell--充当客户端#xff0c;提供远程登录服务
yum
背景知识
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放…
xshellssh
xshell--充当客户端提供远程登录服务
yum
背景知识
在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装. 软件包和软件包管理器, 就好比 App 和 应用商店 这样的关系. yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat, Centos等发行版上. 这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件 . 安装完毕之后可以通过拖拽的方式将文件上传过去. 安装方法
sudo yum install tree 注意事项: 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成. yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外一个软件, yum会报错. 如果 yum 报错, 请自行百度. 卸载方法 sudo yum remove lrzsz#卸载gcc 卸载软件的时候要小心使用。 注意事项 关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!! 可以通过 ping 指令验证 ping www.baidu.com vim--强大的编辑工具 vi/vim 的区别简单点来说它们都是多模式编辑器不同的是 vim 是 vi 的升级版本它不仅兼容 vi 的所有指令而且还有一些新的特性在里面。例如语法加亮可视化操作不仅可以在终端运行也可以运行于x window 、 mac os 、 windows。 如图是vim的界面 按 i 就可以进入输入模式 按下esc键会进入底行模式 此时输入wq就可以保存退出。 上面所说的就是 vim的三种模式 1. 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动字符、字或行的删除移动复制某区段及进入 Insert mode 下或者到 last line mode 2. 插入模式(Insert mode) 只有在 Insert mode 下才可以做文字输入按「 ESC 」键可回到命令行模式。 3. 底行模式(last line mode) 文件保存或退出也可以进行文件替换找字符串列出行号等操作。 在命令模式下 shift: 即可进入该模式。要查看你的所有模式打开vim 底行模式直接输入 :help vim-mode vim的基本操作 进入vim,在系统提示符号输入vim及文件名称后就进入vim全屏幕编辑画面: vim test.c 不过有一点要特别注意就是你进入vim之后是处于[正常模式]你要切换到[插入模式]才能够输入文字。 [正常模式]切换至[插入模式] 输入a 输入i 输入o [插入模式]切换至[正常模式] 目前处于[插入模式]就只能一直输入文字如果发现输错了字,想用光标键往回移动将该字删除可 以先按一下「ESC」键转到[正常模式]再删除文字。当然也可以直接删除。 [正常模式]切换至[末行模式] 「shift ;」, 其实就是输入「:」 退出vim及保存文件,在[正常模式]下按一下「:」冒号键进入「Last line mode」,例如: : w 保存当前文件 : wq (输入「wq」,存盘并退出vim) : q! (输入q!,不存盘强制退出vim) vim正常模式命令集 插入模式按「i」切换进入插入模式「insert mode」按“i”进入插入模式后是从光标当前位置开始输入文件按「a」进入插入模式后是从目前光标所在位置的下一个位置开始输入文字按「o」进入插入模式后是插入新的一行从行首开始输入文字。从插入模式切换为命令模式按「ESC」键。移动光标vim可以直接用键盘上的光标来上下左右移动但正规的vim是用小写英文字母「h」、「j」、「k」、「l」分别控制光标左、下、上、右移一格按「G」移动到文章的最后按「 $ 」移动到光标所在行的“行尾”按「^」移动到光标所在行的“行首”按「w」光标跳到下个字的开头按「e」光标跳到下个字的字尾按「b」光标回到上个字的开头按「#l」光标移到该行的第#个位置如5l,56l按gg进入到文本开始按shiftg进入文本末端按「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」: 输入「set nu」后会在文件中的每一行前面列出行号。跳到文件中的某一行「#」:「#」号表示一个数字在冒号后输入一个数字再按回车键就会跳到该行了如输入数字15再回车就会跳到文章的第15行。查找字符「/关键字」: 先按「/」键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以一直按「n」会往后寻找到您要的关键字为止。「?关键字」先按「?」键再输入您想寻找的字符如果第一次找的关键字不是您想要的可以一直按「n」会往前寻找到您要的关键字为止。问题 和 查找有和区别操作实验一下保存文件「w」: 在冒号输入字母「w」就可以将文件保存起来离开vim「q」按「q」就是退出如果无法离开vim可以在「q」后跟一个「!」强制离开vim。「wq」一般建议离开时搭配「w」一起使用这样在退出的时候还可以保存文件。 vim配置可以参考 Vim从入门到牛逼(vim from zero to hero) gcc/g使用--Linux编译器 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”中也只有该函数的声明,而没有定义函数的实现,那么,是在哪里实“printf”函数的呢? 最后的答案是:系统把这些函数实现都被做到名为 libc.so.6 的库文件中去了,在没有特别指定时,gcc 会到系统默认的搜索路径“/usr/lib”下进行查找,也就是链接到 libc.so.6 库函数中去,这样就能实现函 数“printf”了,而这也就是链接的作用 函数库一般分为静态库和动态库两种。 静态库是指编译链接时,把库文件的代码全部加入到可执行文件中,因此生成的文件比较大,但在运行时也就不再需要库文件了。其后缀名一般为“.a” 动态库与之相反,在编译链接时并没有把库文件的代码加入到可执行文件中,而是在程序执行时由运行时链接文件加载库,这样可以节省系统的开销。动态库一般后缀名为“.so”,如前面所述的 libc.so.6 就是动态 库。gcc 在编译时默认使用动态库。完成了链接之后,gcc 就可以生成可执行文件,如下所示。 gcc默认生成的二进制程序是动态链接的这点可以通过 file 命令验证。 gcc选项 -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面 -S 编译到汇编语言不进行汇编和链接 -c 编译到目标代码 -o 文件输出到 文件 -static 此选项对生成的文件采用静态链接 -g 生成调试信息。GNU 调试器可利用该信息。 -shared 此选项将尽量使用动态库所以生成文件比较小但是需要系统由动态库. -O0 -O1 -O2 -O3 编译器的优化选项的4个级别-O0表示没有优化,-O1为缺省值-O3优化级别最高 -w 不生成任何警告信息。 -Wall 生成所有警告信息。 gdb--Linux调试器 背景 程序的发布方式有两种debug模式和release模式 Linux gcc/g出来的二进制程序默认是release模式 要使用gdb调试必须在源代码生成二进制程序的时候, 加上 -g 选项 使用 gdb binFile 退出 ctrl d 或 quit 调试命令listl 行号显示binFile源代码接着上次的位置往下列每次列10行。listl 函数名列出某个函数的源代码。r或run运行程序。n 或 next单条执行。s或step进入函数调用break(b) 行号在某一行设置断点break 函数名在某个函数开头设置断点info break 查看断点信息。finish执行到当前函数返回然后挺下来等待命令print(p)打印表达式的值通过表达式可以修改变量的值或者调用函数 Makefile 为了使用方便我们通常使用Makerfile文件将调试编译处理等信息添加到Makefile文件中 如图