Linux基础

  1.Linux命令

  command [options] [arguments]

  //中括号代表是可选的,即有些命令不需要选项也不需要参数 选项(options)或参数(arguments)

 选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同。

 参数是指命令的作用对象。

  2. man命令

  man是manul的缩写 帮助文档

  3.cheat 命令

  cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。

    它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

  4.其他核心命令

   find查找一个文件在系统中的什么位置,locate是神速版本的find

  grep 可以对文件全文检索,支持正则表达式,

   whereis,which告诉你使用的命令工具装在什么地方。

Linux下C语言编程基础

VIM是文本编辑器

大写“K”可以用来查找函数的帮助信息:

     查看 man page,命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。

几个设置:

:set nu 显示行号

:set ai 自动缩行

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

移动光标:

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

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

{ 转到上一个空行

} 转到下一个空行

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

  GCC:

  (1)预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp

  (2)编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl

  (3)汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as

  (4)链 接:gcc hello.o –o hello ;gcc -o 调用ld

Vim模式:

    普通模式

    插入模式

    可视模式

    选择模式

    命令行模式

    Ex模式

    命令行模式

    插入模式

    底行模式

  vim启动进入普通模式,处于插入模式或命令行模式时只需要按Esc或者Ctrl+[(这在vim课程环境中不管用)即可进入普通模式。普通模式中按i(插入)或a(附加)键都可以进入插入模式,普通模式中按:进入命令行模式。命令行模式中输入wq回车后保存并退出vim。

  Vim操作:

  1.普通模式:

    按键         说明

    h       左

    l        右(小写L)

    j        下

    k       上

    w      移动到下一个单词

    b       移动到上一个单词

  2.插入模式:

    命令         说明

    i        在当前光标处进行编辑

    I        在行首插入

    A       在行末插入

    a       在光标后插入编辑

    o       在当前行后插入一个新行

    O      在当前行前插入一个新行

    cw    替换从光标所在位置后到一个单词结尾的字符

  命令行模式下保存文档:

    从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下

  3.退出vim:

    1.命令行模式下退出vim:

      从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑

      以下为其它几种退出方式:

      命令         说明

      :q!    强制退出,不保存

      :q      退出

      :wq! 强制保存并退出

      :w <文件路径>        另存为

      :saveas 文件路径  另存为

      :x      保存并退出

      :wq  保存并退出

    2.普通模式下退出vim:

      普通模式下输入Shift+zz即可保存退出vim

  4.删除文本:

    1.普通模式下删除vim文本信息:

      进入普通模式,使用下列命令可以进行文本快速删除:

      命令         说明

      x       删除游标所在的字符

      X       删除游标所在前一个字符

      Delete      同x

      dd     删除整行

      dw    删除一个单词(不适用中文)

      d$或D     删除至行尾

      d^     删除至行首

      dG    删除到文档结尾处

      d1G  删至文档首部

      在命令之前加上数字,表示一次删除多行

《深入理解计算机》知识点总结:

    计算机系统由硬件和软件系统组成

    程序被其他程序翻译成不同的形式,开始时ASCII文本,然后被编译器和链接器翻译成二进制可执行文件

    系统中的存储设备划分为层次结构:CPU存储器在顶部,接着是多层的硬件高速缓存存储器,DRAM主存和磁盘存储器

    操作系统内核是应用程序和硬件之间的媒介。它提供三个基本抽象:

      (1)文件是对I/O设备的抽象

      (2)虚拟存储器是对主存和磁盘的抽象

      (3)进程是对处理器,主存和I/O设备的抽象

    链接可以在编译时由静态编译器完成,也可由在加载时和运行时由动态链接器完成。

    链接器处理称为目标文件的二进制文件,其有三种不同形式:(1)可重定位的(2)可执行的(3)共享的

    链接器主要任务:(1)符号解析(2)重定位

      符号解析:将目标文件中的每个全局符号都绑定到一个唯一的定义

      重定位:确定每个符号的最终存储器地址,并修改对那些目标的应用

    静态链接器由GCC类似编译取驱动器调用,他们将多个可重目标文件合并成一个单独的可执行目标文件

    多个目标文件可以被连接到一个单的的静态库中。链接器用库来解析其他目标模块中的符号引用

    加载器可将可执行文件的内容映射到存储器,并运行这个程序。链接器还能生成部分连接的可执行目标文件,这样的文件中有对定义在共享库中的程序和数据和数据的未解析的引用。   

    

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

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

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

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

    1 Linux命令 2 man命令 1.Terminal(终端) Linux 系统还提供了一个叫做终端模拟器的程序(Terminal),下面几个比较常见的终端模拟器,例如 gnome-terminal ...

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

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

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

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

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

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

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

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

  7. 20155216 2017-2018-1 《信息安全系统设计基础》第二周课堂练习补交以及Myod的实现

    20155216 2017-2018-1 <信息安全系统设计基础>第二周课堂练习补交 课堂测试3:行断点的设置 运行截图: 未完成原因:课前未安装 cgdb 具体步骤: 1.输入命令:gc ...

  8. 2017-2018-1 20155307 《信息安全系统设计基础》第san周学习总结

    2017-2018-1 20155307 <信息安全系统设计基础>第三周学习总结 教材学习内容总结 无符号数和有符号数的特性,数字如何表示,IEEE标准,浮点数格式.(我感觉我把课下测试做 ...

  9. # 2017-2018-1 20155337《信息安全系统设计基础》第5周学习总结+mybash

    2017-2018-1 20155337<信息安全系统设计基础>第5周学习总结 教材学习内容总结 不论我们是在用C语言还是用JAVA或是其他的语言编程时,我们会被屏蔽了程序的机器级的实现. ...

随机推荐

  1. Codeforces Round #435 (Div. 2)

    A. Mahmoud and Ehab and the MEX 题目链接:http://codeforces.com/contest/862/problem/A 题目意思:现在一个数列中有n个数,每个 ...

  2. linux、内核源码、内核编译与配置、内核模块开发、内核启动流程(转)

    linux是如何组成的?答:linux是由用户空间和内核空间组成的为什么要划分用户空间和内核空间?答:有关CPU体系结构,各处理器可以有多种模式,而LInux这样的划分是考虑到系统的安全性,比如X86 ...

  3. 集成RabbitMQ做秒杀

    由于秒杀的并发量太大,所以仅仅使用缓存是不够的,还需要用到RabbitMQ. 这里推荐一款用于分库分表的中间件:mycat 解决超卖的问题(看第五章节): 秒杀接口优化: 实操: 然后把下载好的文件上 ...

  4. 什么是 Delta 文件

    什么是 Delta 文件 Delta 文件应用很广泛,特别是在数据库领域 What Is a Delta File? During most computer operations, copying, ...

  5. vuex使用

    1.装包:npm install vuex -S 2.引入:import Vuex from 'vuex'      //这些都是写在man.js中 3.加载到Vue中:Vue.use(Vuex) 4 ...

  6. [py]django强悍的数据库接口(QuerySet API)-增删改查

    django强悍的数据库接口(QuerySet API) 4种方法插入数据 获取某个对象 filter过滤符合条件的对象 filter过滤排除某条件的对象- 支持链式多重查询 没找到排序的 - 4种方 ...

  7. HTML输入框的默认显示内容

    在某些情况下我们会需要在输入框里默认显示一些内容,比如在登录的时候不在输入框前面显示用户名和密码,直接在输入框里显示,这时只要在input的标签里添加属性  placeholder="用户名 ...

  8. 使用JDBC+POI把Excel中的数据导出到MySQL

    POI是Apache的一套读MS文档的API,用它还是可以比较方便的读取Office文档的.目前支持Word,Excel,PowerPoint生成的文档,还有Visio和Publisher的. htt ...

  9. excel 数字转文本

    问: 在EXCEL2003中,如何把一列数字转换成文本格式我的意思的,这一列数字全部变成带有文本格式符号(就是左上角有个绿色小三角)的那种以文本形式存储的数字.目前我只知道一个一个双击单元格,但一列数 ...

  10. CSS选择器可以用数字开头吗

    最好是字母开头,后面用数字可以,直接用数字开头不符合官方规范,虽然浏览器牛逼点也能解析出来,但是最初就不要这么做,坏习惯养成很难改.而且如果团队合作,css的命名都需要有固定的格式,还要有可读性方便他 ...