1 Linux命令

2 man命令

1.Terminal(终端)

Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面几个比较常见的终端模拟器,例如 gnome-terminal,kconsole,xterm,rxvt,kvt,nxterm 和 eterm,目前我们的实验中的终端程序是 xfce  桌面环境自带的 xfce-terminal。不过要注意的是这里所说的终端(Terminal)和控制台(Console)是有区别的。

在物理机系统上你

[Tab]

使用Tab键来进行命令补全,Tab键一般键盘是在字母Q旁边,这个技巧给你带来的最大的好处就是当你忘记某个命令的全称时你可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成:

可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行切换,不过在我们的在线实验环境中可能无法切换,因为特殊功能按键会被你主机系统劫持。

Ctrl+c]

想想你有没有遇到这种情况,当你在 Linux 命令行中无意输入了一个不知道的命令,或者错误的使用了一个命令,导致在终端里出现了你无法预料的情况,比如,只有光标在闪烁无法继续输入命令,或者不停地在输出一大堆你不想要的结果。你想要立即停止并恢复到你可控的状态,那该怎么办呢。这时候你就可以使用Ctrl+c键来强行终止当前程序(你可以放心它并不会使终端退出)。

3).学会使用通配符

也可能存在其他部分内容,但这些部分没有得到跨手册页的标准化。常见的例子包括:OPTIONS(选项),EXIT STATUS(退出状态),ENVIRONMENT(环境),BUGS(程序漏洞),FILES(文件),AUTHOR(作者),REPORTING BUGS(已知漏洞),HISTORY(历史)和COPYRIGHT(版权)。

通常 man 手册中的内容很多,你可能不太容易找到你想要的结果,不过幸运的是你可以在 man 中使用搜索,/<你要搜索的关键字>,查找到后你可以使用n键切换到下一个关键字所在处,shift+n为上一个关键字所在处。使用Space(空格键)翻页,Enter(回车键)向下滚动一行,或者使用j,k(vim编辑器的移动键)进行向前向后滚动一行。按下h键为显示使用帮助(因为man使用less作为阅读器,实为less工具的帮助),按下q退出。

六种模式:

1.普通模式2.插入模式3.可视模式4.选择模式5.命令行模式6.Ex模式(Ex mode)

二:进入vim模式

:set nu 显示行号

:set ai 自动缩行

:set ts=4 设置一个 TAB 键等于几个空格

移动光标

[[ 转到上一个位于第一列的"{"

]] 转到下一个位于第一列的"{"

{ 转到上一个空行

} 转到下一个空行

gd 转到当前光标所指的局部变量的定义

      3.gcc

  • 预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
  • 编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
  • 汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as
  • 链 接:gcc hello.o –o hello ;gcc -o 调用ld
  • 4. gdb

  • GDB最基本的命令有:

    •  gdb programm(启动GDB)
    •  b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
    •  run 开始运行程序
    •  bt 打印函数调用堆栈
    • p 查看变量值
    •  c 从当前断点继续运行到下一个断点
    •  n 单步运行
    •  s 单步运行
    •  quit 退出GDB

应该掌握的调试命令有:

    •  display 跟踪变量值的改变
    •  until 跳出循环
    •  finish 跳出函数
    •  help 帮助
  • 二、Makefile 使用

    1.Makefile简介

    makefile带来的好处就是——“自动化编译”,一但写好,只需要一个make命令,整个工程完全编译,极大的提高了软件的开发效率。make是一个命令工具,是一个及时makefile中命令的工具程序。

    2.Makefile基本规则

    一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:一个目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如‘clean’;一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头(初学者务必注意:是tab,而不是空格) 执行以上Makefile后就会自动化编译:

    3.使用带宏的Makefile

    Makefile还可以定义和使用宏(也称做变量),从而使其更加自动化,更加灵活,在Makefile中定义宏的格式为:

    macroname = macrotext

    使用宏的格式为:

LINUX信息安全系统设计基础第二周学习总结的更多相关文章

  1. 20135328信息安全系统设计基础第二周学习总结(vim、gcc、gdb)

    第三周学习笔记 学习计时:共8小时 读书:1 代码:5 作业:1 博客:7 一.学习目标 熟悉Linux系统下的开发环境 熟悉vi的基本操作 熟悉gcc编译器的基本原理 熟练使用gcc编译器的常用选项 ...

  2. LINUX信息安全系统设计基础第一周学习总结

     Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...

  3. 20135328信息安全系统设计基础第一周学习总结(Linux应用)

    学习计时:共xxx小时 读书: 代码: 作业: 博客: 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用Linux中用户管理命令/ ...

  4. 20135234mqy-——信息安全系统设计基础第二周学习总结

    Linux基础 1.Linux命令 command [options] [arguments] //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项(options)或参数(argument ...

  5. 《Linux内核分析》第二周学习报告

    <Linux内核分析>第二周学习报告 ——操作系统是如何工作的 姓名:王玮怡  学号:20135116 第一节 函数调用堆栈 一.三个法宝 二.深入理解函数调用堆栈 三.参数传递与局部变量 ...

  6. 《Linux内核分析》第二周学习笔记

    <Linux内核分析>第二周学习笔记 操作系统是如何工作的 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/ ...

  7. 《Linux内核分析》第二周学习小结 操作系统是如何工作的?

    郝智宇   无转载   <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.函数调用堆栈: 1.计算机是 ...

  8. 20135234mqy-——信息安全系统设计基础第九周学习总结

    第十章 系统级I/O 10.1 Unix I/O 一个Unix文就是一个m个字节的序列 Unix:将设备映射为文件的方式,允许Unix内核引出一个简单低级的应用接口 能够使得所有输入输出都能以一种统一 ...

  9. 2017-2018-1 20155239 《信息安全系统设计基础》第五周学习总结+mybash的实现

    2017-2018-1 20155239 <信息安全系统设计基础>第五周学习总结+mybash的实现 mybash的实现 使用fork,exec,wait实现mybash 写出伪代码,产品 ...

随机推荐

  1. Android中ListView 控件与 Adapter 适配器如何使用?

    一个android应用的成功与否,其界面设计至关重要.为了更好的进行android ui设计,我们常常需要借助一些控件和适配器.今天小编在android培训网站上搜罗了一些有关ListView 控件与 ...

  2. TCP & UDP 的区别

    一.概念 ① TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. “面向连接”就是在正式通信前必须要与对方建立起连 ...

  3. SQL Server游标的使用【转】

    游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式是: ...

  4. MyCat 学习笔记 第七篇.数据分片 之 按数据范围分片

    1 应用场景 Mycat 其实自带了2个数据范围分片的方案,一个是纯数据范围的分片,比如 1至 10000 号的数据放到分片1 ,10001 至 20000号数据放到分片2里. 另一个是数据常量形式的 ...

  5. jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...

  6. android SQLiteOpenHelper使用示例

    我们大家都知道Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类,在该类的 构造器中,调用Context中的方法创建并打开一个指定名称的 ...

  7. [转]Ionic最佳实践-使用模态窗口modal

    本文转自:http://m.blog.csdn.net/blog/betreex/45649689 原文地址:Ionic最佳实践-使用模态窗口modal 模态窗口的结构 在Ionic中,模态窗口通过$ ...

  8. hdu-5895 Mathematician QSC(数学)

    题目链接: Mathematician QSC Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Jav ...

  9. UESTC 878 温泉旅馆 --性质+枚举

    设FA为A的牌中数字异或和,FB为B的. 则有性质: ans = (所有的(A&B=0)个数 + (FA=FB且A&B=0)的个数)/2.即所有的FA>FB的个数(除2是因为这里 ...

  10. HDU 1576 A/B【扩展欧几里德】

    设A/B=x,则A=Bx n=A%9973=A-9973*y=Bx-9973*y 用扩展欧几里德求解 #include<stdio.h> #include<string.h> ...