IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 第2章Linux常用命令(下) -> 正文阅读

[开发工具]第2章Linux常用命令(下)

目录

2.2Linux常用开发工具

2.2.1ⅵ编辑器

1.命令模式

2.插入模式

3.底行模式

4.模式转换

2.2.2GCC编译器

2.2.3 GDB调试工具


2.2Linux常用开发工具

2.2.1ⅵ编辑器

vi编辑器是 Linux系统下最基本的编辑器,工作在字符模式下。由于不使用图形界面,

因此ⅵ的工作效率非常高,且它在系统和服务管理中的功能是带图形界面的编辑器无法比

拟的。ⅵ编辑器共有三种工作模式,分别是:命令模式( command mode)、插入模式( Insert

mode)和底行模式( last line mode)。

案例2-38:将目录etc下的 passwd文件复制到itheima用户的家目录中,将副本命名

为 passwd,使用ⅵ编辑器打开家目录下的 passwd文件。

cp /etc/passwd passwd

vi passwd

1.命令模式

命令模式下,可通过键盘控制光标的移动,实现文本内容的复制、粘贴、删除等操作。

(1)光标移动

光标的移动可分为6个级别,分别为:字符级、行级、单词级、段落级、屏幕级和文档级。

级别

操作符

说明

字符级

“左键”或字母“h”

使光标向字符的左边移动

“右键”或字母“l”

使光标向字符的右边移动

行级

“上键”或字母“k”

使光标移动到上一行

“下键”或字母“j”

使光标移动到下一行

符号“$”

使光标移动到当前行尾

数字“0”

使光标移动到当前行首

单词级

字母“w”

使光标移动到下一个单词的首字母

字母“e”

使光标移动到本单词的尾字母

字母“b”

使光标移动到本单词的首字母

段落级

符号“}”

使光标移至段落结尾

符号“{”

使光标移至段落开头

屏幕级

字母“H”

使光标移至屏幕首部

字母“L”

使光标移至屏幕尾部

文档级

字母“G”

使光标移至文档尾行

n+G

使光标移至文档的第n行

(2)删除

操作符

说明

字母“x”

删除光标所在的单个字符

字母“dd”

删除光标所在的当前行

n+dd

删除包括光标所在行的后边n行内容

d+$

删除光标位置到行尾的所有内容

(3)复制和粘贴

操作符

说明

字母“yy”

复制光标当前所在行

n+yy

复制包括光标所在行后的n行内容

y+e

从光标所在位置开始复制直到当前单词结尾

y+$

从光标所在位置开始复制直到当前行结尾

y+{

从当前段落开始的位置复制到光标所在位置

p

将复制的内容粘贴到光标所在位置

2.插入模式

插入模式下,用户可对文件内容进行修改操作,此模式下的操作与Windows操作系统中记事本的操作类似。

3.底行模式

底行模式下可以对文件进行保存,也可进行查找、设置、退出编辑器等操作。

(1):set nu。设置行号,仅对本次操作有效,当重新打开文本时,若需要行号,要重新设置。

(2):set nonu。取消行号,仅对本次操作有效。

(3):n。使光标移动到第n行。

(4):/xx。在文件中查找“xx”,若查找结果不为空,可以使用“n”查找下一个,使用“N”查找上一个。

(5)尾行模式下还可以进行内容替换,其操作符和功能如表所示。

操作符

说明

:s/被替换内容/替换内容/

替换光标所在行的第一个目标

:s/被替换内容/替换内容/g

替换光标所在行的全部目标

:%s/被替换内容/替换内容/g

替换整个文档中的全部目标

:%s/被替换内容/替换内容/gc

替换整个文档中的全部目标,且每替换一个内容都有相应的提示

(6)操作完毕后,如要保存文件或退出编辑器,可先使用“ESC”进入底行模式,再使用表中的按键完成所需操作。

操作符

说明

:q

退出vi编辑器

:w

保存编辑后的内容

:wq

保存并退出vi编辑器

:q!

强行退出vi编辑器,不保存对文件的修改

:w!

对于没有修改权限的用户强行保存对文件的修改,并且修改后文件的所有者和所属组都有相应的变化

:wq!

强行保存文件并退出vi编辑器

4.模式转换

vi编辑器的三种模式之间可进行转换:

?

(1)命令模式切换至插入模式:

操作符

说明

字母“a”

光标向后移动一位进入编辑模式

字母“s”

删除光标所在字母进入编辑模式

字母“o”

在当前行之下新起一行进入编辑模式

字母“A”

光标移动到当前行末尾进入编辑模式

字母“I”

光标移动到当前行行首进入编辑模式

字母“S”

删除光标所在行进入编辑模式

字母“O”

在当前行之上新起一行进入编辑模式

在命令行中对vi编辑器进行的设置,只对本次操作有效,若想长久保存vi设置,可通过对用户家目录中的.vimrc文件进行编辑实现。常用设置如表所示。

设置

说明

set number

设置行号

set autoindent

自动对齐

set smartindent

智能对齐

set showmatch

括号匹配

set tabstop=4

使用tab键时为4个空格

set mouse=a

鼠标支持

set cindent

使用C语言格式对齐

2.2.2GCC编译器

GCC编译过程分为四个步骤,分别是预处理、编译、汇编和链接。

(1)预处理

删除代码中的“#define”,展开所有宏定义;

处理条件编译指令,如#if、#ifdef、#undef等;

将由“#include”包含的文件插入到预编译指令对应的位置,若文件中包含其它文件,同样进行替换;

删除代码中的注释;

添加行号和文件标识;

保留#pragma编译器指令。

(2)编译

在编译阶段,GCC会对经过预处理的文件进行语法、词法和语义分析,确定代码实际要做的工作,若检查无误,则生成相应的汇编代码文件。

汇编过程将编译后生成的汇编代码转换为机器可以执行的命令,即二进制指令,每一个汇编语句几乎都会对应一条机器指令。

链接过程是组装各个目标文件的过程,在这个过程中会解决符号依赖和库依赖关系,最终生成可执行文件。

文件编译

· 单文件编译

$ gcc hello.c

· 多文件编译

$ gcc _main.c _add.c -o _main

2.2.3 GDB调试工具

GDB可以逐条执行程序、操控程序的运行,并且随时可以查看程序中所有的内部状态,如各变量的值、传给函数的参数、当前执行的语句位置等,藉此判断代码中的逻辑错误。

(1)在代码中加入调试信息,并调试程序

$ gcc gdbtest.c –o app –g

(gdb) gdb app

(2)列出程序代码,并设置断点

list 行号

b 行号

b 22 if i = 5 #在22行设定带条件的断点

info b #查看断点

disable Num #取消断点

(3)查看变量值

p 变量名

(4)继续执行

s —— 单步执行

n —— 单步执行且跳过标准函数库

finish —— 跳出当前函数

(5)结束调试

continue —— 结束当前断点调试

quit —— 退出调试

  开发工具 最新文章
2021年12月电子学会图形化三级编程题解析含
Hexo历险记之二多系统安装Node
Python技巧:双击python文件打开.py(博主自
shell
C++基础(Visual studio)
git忽略不想提交的文件
idea中svn的更新、检出、提交操作
Python深度学习入门笔记(一):使用Pandas
JDK1.8
子仓库代码同步问题整理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-29 19:17:52  更:2022-06-29 19:19:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
360图书馆 购物 三丰科技 阅读网 日历 万年历 2022年8日历 -2022/8/7 23:22:59-
图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码