zoukankan      html  css  js  c++  java
  • 20135306黄韧-信息安全系统设计基础第二周学习总结

    实验内容

    1 Linux命令

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

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

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

    ls命令,lsls .显示是当前目录的内容,这里“.”就是参数,表示当前目录,是缺省的可以省略。我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录。其中“-a” 就是选项,改变了显示的内容

    2 man命令

    man是manul的缩写,我们可以通过man man来查看man的帮助

    man有一个-k 选项用起来非常好,这个选项让你学习命令,编程时有了一个搜索引擎,可以举一反三。比如数据结构中学过排序(sort),我不知道C语言中有没有完成这个功能的函数,可以通过“man -k sort”来搜索,因为是找C库函数,我们关注带3的,qsort好像是个好选项。

    3 cheat 命令

    cheat是作弊,小抄的意思。

    cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。

    使用cheat命令作弊是可以的。

    4 其他核心命令

    和查找相关的核心命令还有find,locate,grep,whereis,which,其中:

    • find查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下有个Everything工具和locate类似).
    • grep 可以对文件全文检索,支持正则表达式,正则表达式也是一个重要的元知识。
    • whereis,which告诉你使用的命令工具装在什么地方。
    二、Linux下C语言编程基础
           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
            gdb: 
                   
           练习:
                  
    与vim有关的实验
           1、vim的三种模式:
                 命令行模式:只能移动光标,删除,复制,粘贴
                 插入模式:编辑文字
                 底行模式:文件保存或退出,设置编辑环境
           2、vim的基本操作
                 插入:i 在当前光标处进行编辑               I 在行首插入           A 在行末插入           a 在光标后插入编辑            o 在当前行后插入一个新行
                         O 在当前行前插入一个新行           cw 替换从光标所在位置后到一个单词结尾的字符
                 命令行模式下保存文档  从普通模式输入:进入命令行模式,输入w回车,保存文档。输入:w 文件名可以将文档另存为其他文件名或存到其它路径下
                 命令行模式下退出vim  从普通模式输入:进入命令行模式,输入wq回车,保存并退出编辑
                 
           3、vim文档编辑
                1)、重复执行命令
                        重复执行上次命令:在普通模式下.(小数点)表示重复上一次的命令操作
                        执行指定次数相同的命令:进入普通模式输入N<command>,N表示重复后面的次数.如:10x  3dd
                2)、游标的快速跳转
                        行间跳转:
                        
                         
                         行内跳转:
                         
                3)、复制粘贴及剪切  
                        复制及粘贴文本:普通模式中使用y复制  普通模式中,yy复制游标所在的整行(3yy表示复制3行) 普通模式中,y^ 复制至行首,或y0。不含光标所在处字符。                       普通模式中,y$ 复制至行尾。含光所在处字符。 普通模式中,yw 复制一个单词。 普通模式中,y2w 复制两个单词。 普通模式中,yG 复制至文本末。 普通模式                     中,y1G 复制至文本开头。
                        普通模式中使用p粘贴  普通模式中,p(小写)代表粘贴至光标后(下) 普通模式中,P(大写)代表粘贴至光标前(上)
                        剪切及粘贴:其实前面讲得dd删除命令就是剪切,每次dd删除文档内容后,便可以使用p来粘贴,也这一点可以让我们实现一个很爽快的功能——交换上下行:                                           ddp,就这么简单,即实现了快速交换光标所在行与它下面的行
           4、替换查找
                1)、替换和撤销命令:替换和Undo命令都是针对普通模式下的操作
                        
                         
                2)、 使用命令进行快速调整缩进操作    
                         
                         shiftwidth命令:shiftwidth命令是指上一节>>命令产生的缩进(可以简写成sw)
                                                  普通模式下输入:进入命令行模式下对shiftwidth值进行设置可以控制缩进和回退的字符数 获取目前的设定值
                         
                3)、 调整文本位置 :
                         命令行模式下输入:ce(center)命令使本行内容居中  
                         命令行模式下输入:ri(right)命令使本行文本靠右  
                         命令行模式下输入:le(left)命令使本行内容靠左
           5、查找   .          
                1)、快速查找:普通模式下输入/然后键入需要查找的字符串 按回车后就会进行查找。 ?与/功能相同,只不过?是向上而/是向下查找。 进入查找之后,输入n和N可以                                    继续查找 n表示继续查找,N反向查找  
                        
                2)、高级查找:
                        
    高级功能入门
           1、使用vim编辑多个文件:编辑多个文件有两种形式,一种是在进入vim前使用的参数就是多个文件。另一种是进入vim后再编辑其他的文件。 同时创建两个新文件并编辑
                                                  vim 1.txt 2.txt
           2、进入vim后打开新文件:
                
           3、恢复文件:如果因为断电等原因造成文档没有保存,可以采用恢复方式,vim -r进入文档后,输入:ewcover 1.txt来恢复
           4、可视模式命令简介:在普通模式下输入v(小写),进入字符选择模式,就可以移动光标,光标走过的地方就会选取。再次按下v会后就会取消选取。
                           在普通模式下输入Shift+v(小写),进入行选择模式,按下V之后就会把整行选取,您可以上下移动光标选更多的行,同样,再按一次Shift+v就可以取消选取。                        在普通模式下输入 Ctrl+v(小写),这是区域选择模式,可以进行矩形区域选择,再按一次Ctrl+v取消选取。
                           在普通模式下输入d删除选取区域内容 在普通模式下输入y复制选取区域内容
           5、创建加密文档:命令 -x:$ vim -x file1
           6、在vim执行外部命令:
                
           7、功能设定:
                1)、vim的功能设定:可以在编辑文件的时候进行功能设定
                2)、获取目前的设定:
                        
                 3)、set功能的说明:
                        
    GCC
    编译器gcc的使用
          
    用 gcc 编译一个经典 C 程序
         
    gcc 到底背着我们做了什么
         $ gcc -E hello.c -o hello.i
            -E:可以让gcc在预处理结束后停止编译过程
            第二步,将hello.i编译为目标代码,gcc默认将.i文件看成是预处理后的C语言源代码,因此它会直接跳过预处理,开始编译过程。  $ gcc -c hello.i -o hello.o
            第三步,gcc连接器将目标文件链接为一个可执行文件,一个大致的编译流程结束
         
    作业思考:
         
         
    gdb使用
         gdb是GNU开发组织发布的一个强大的UNIX/Linux下的程序调试工具
         
    Makefile 使用
        可以将一个大项目分成多个小的部分,独立开来,利于结构化管理。在修改和维护的时候,优势就更明显了。makefile带来的好处就是——“自动化编译”,一但写好,只需要一个     make命令,整个工程完全编译,极大的提高了软件的开发效率。make是一个命令工具,是一个及时makefile中命令的工具程序。make程序利用Makefile中的数据,生成并遍历     以test为根节点的树
        
     
     
     
     
     
        静态库和动态库的区别
    1. 静态函数库:.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的缺点,因为如果静态函数库改变了,那么你的程序必须重新编译。
    2. 动态函数库:.so;相对于静态函数库,动态函数库在编译的时候 并没有被编译进目标代码中,你的程序执行到相关函数时才调用该函数库里的相应函数,因此动态函数库所产生的可执行文件比较小。由于函数库没有被整合进你的程序,而是程序运行时动态的申请并调用,所以程序的运行环境中必须提供相应的库。动态函数库的改变并不影响你的程序,所以动态函数库的升级比较方便。 
     熟悉各种指令,我觉得学习Linux思维要清晰,因为是第一次接触所以有些东西对我来说有点抽象难以理解,只能按照书上和实验里的步骤敲代码却搞不懂自己在做什么。还是要多看多练。
  • 相关阅读:
    关于项目中的已发现的难点
    怎样与用户有效地沟通以获取用户的真实需求?
    面向过程(或者叫结构化)分析方法与面向对象分析方法到底区别在哪里?请根据自己的理解简明扼要的回答。
    当下大部分互联网创业公司为什么都愿意采用增量模型来做开发?
    第二次作业
    第一次作业
    第二次博客作业
    第一次博客作业
    第二次博客作业
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/huangbobo/p/4842684.html
Copyright © 2011-2022 走看看