• 20144303《信息安全系统设计基础》期中总结


    20144303《信息安全系统设计基础》期中总结

    复习Linux常用命令

    man:

    • 在Linux环境中,如果你遇到困难,可以使用man命令,它是Manual page的缩写。
    • man命令通常与管道命令结合使用:

    如:man -k k1 | grep k2 | grep 2

    这表示搜索同时含有k1和k2,且属于系统调用。

    最后的数字意味着帮助手册中的区段,man手册共有8个区段,最常用的是123,含义如下:

    1. Linux
    2. 系统调用
    3. c语言

    输入man man 查看man的使用手册:

    输入man -k printf查看printf的用法:

    输入man 3 printf 查看C语言中printf的用法:

    cheat

    用man来查看帮助和选项,里面的描述太长,无法短时间获得想要的信息。使用cheat可以更快的学习到如何使用一个命令名。

    用法:cheat+命令名

    grep

    查找宏 STDIN_FILENO 的值的命令是:grep -nr XXX /usr/include

    该语句可以用来查找关键字,全文搜索,并且可以直接查找文件内的内容。其中:

    • n:为显示行号
    • r:为递归查找

    比如:查找宏 STDOUT_FILENO 的值的命令是(grep -nr STDOUT_FILENO /usr/include)

    find

    find命令用来在指定目录下查找文件。

    • -name filename:查找名为filename的文件

    • -mtime -n +n :按文件更改时间来查找文件,-n指n天以内,+n指n天以前

    • -atime -n +n:按文件访问时间来查GIN: 0px">
    • -ctime -n +n :按文件创建时间来查找文件,-n指n天以内,+n指n天以前
    • -newer f1 !f2 :查更改时间比f1新但比f2旧的文件
    • -type b/d/c/p/l/f :查是块设备、目录、字符设备、管道、符号链接、普通文件
    • -size n[c] :查长度为n块[或n字节]的文件
    • -size n[c] :查长度为n块[或n字节]的文件
    • -depth :使查找在进入子目录前先行查找完本目录

    cd:

    • 进入上一级目录:cd ..
    • 进入你的“home”目录:cd ~ 或者 cd /home/<你的用户名>
    • 使用 pwd 获取当前路径:pwd

    新建文件:

    • 使用 touch 命令创建空白文件
    • 使用 mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性
    • 使用 -p 参数,同时创建父目录
    • 使用cp(copy)命令复制一个文件或目录到指定目录。将之前创建的"test"文件复制
    • 要成功复制目录需要加上-r或者-R参数,
    • 使用rm(remove files or directories)命令,删除一个文件或目录:
    • 使用mv(move or rename files)命令,移动文件(剪切)。将文件"file1"移动到"Documents"目录mv 源目录文件 目的目录

    vim

    三种模式的切换:

    • 命名行模式中vim +文件名进入vim普通模式
    • 普通模式中按i或a键都可以进入插入模式
    • 在插入模式中是使用esc键可以退出到普通模式
    • 普通模式中输入:wq回车后保存并退出vim

    • 光标的移动:

    上、下、左、右方向键可以达到相应效果,字母h、j、k、l也可以在插入模式中使光标进行移动。

    gcc

    编译并运行一个简单的hello.c:

    • 预处理: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
    • 运行:./hello

    gdb

    进入gdb:

    • gcc -g xxx.c -o xxx
    • gdb xxx

    查看源码:

    • (gdb) l:进行行号提示
    • (gdb) b n:在第n行设置断点
    • (gdb) r:运行代码,运行至断点处
    • (gdb) n:单步运行
    • (gdb) c:使程序继续往下运行,直到再次遇到断点或程序结束
    • (gdb) q:退出GDB
    • (gdb) watch n:在"n"设置了观察点,观察变量的变化情况
    • gdb中使用命令(break main)设置main函数断点。
    • gdb中使用命令(until)可以跳出循环语句。
    • gdb中next和step都可以单步跟踪,根据自顶向下原则应该优先选用next
    • GDB中以16进制形式打印%eax中内容的命令是(print /x $eax)

    makefile

    功能 :识别文件代码是否更新,减少编译工作量

    makefile文件的编写规则

    格式为:

    • 目标体:依赖文件
    • [tab键]各目标体运行命令
    • 目标体:由make创建,通常是目标文件或可执行文件
    • 依赖文件:创建目标体所依赖的文件
    • 运行命令:创建每个目标体时需要的运行命令,必须以tab键开头。
    • 使用make的格式:make 目标体

    makefile变量的定义:

    • 递归展开方式:在引用该变量时进行替换(不能用于引用自己的情况),缺点:不能在变量后追加内容。
    • 格式定义:VAR = var
    • 非递归展开方式:在定义处展开,并只展开一次。优点:消除变量的嵌套引用。
    • 格式定义:VAR := var
    • make中变量的使用格式: $(变量名)
    • 变量名的命名:不包括“:”、“#”、“=”以及结尾空格的任何字符串;变量名大小写不敏感。
    • 变量分类:用户自定义变量、预定义变量、自动变量及环境变量。

    自己的收获

    通过八周的学习,掌握了linux的一些基本命令和操作。在本学期的开始,由于思想上的放松导致了身体上的懒惰,很多学习内容没有学到位,有很多知识也只是粗略的了解,导致在第六周的时候加入了老师的“待及格队伍”。但也正是从那个时候开始,改变了学习态度,能够认真的自学书上的知识,开始自己动手实践、发现问题、解决问题。包括基本的linux安装、git安装使用、gcc、vim都是受到“刺激”之后动手学习的。之后,掌握了学习这门课的正确方法,学习也变得轻松愉快了许多,自然而然的也就不再觉得写博客是一种累赘,也真正的学到了一些东西。感谢老师能让我们早点看到自己在学习上的缺陷和漏洞,感知到“不及格”的危险,让我们从“不愿意学”到“被赶着学”,最后做到“享受学习的过程”。

    自己的不足

    在学习时遇到问题,我总是想着去问别人如何解决,总是想着这样能尽快把问题解决完,不能做到先自己想办法解决。在接下来的学习中要尽量改掉这个缺点,遇到问题先自己多想想。还有就是这周残留下来的问题,可能下周学习新的内容时就会忘掉,导致有很多遗留的问题没能及时解决。打算以后把每周遇到的问题先全部总结起来,然后先自己解决,解决一个删去一个,然后再询问老师同学,没能解决的加到下周的学习任务中。另外,接下来应该把学习提前到周一就开始,不能到周末才急急忙忙的想着学习。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 0/0 1/1 20/20
    第二周 300/300 1/2 20/40
    第三周 300/600 1/3 20/60
    第五周 200/800 2/5 20/80
    第六周 100/900 2/7 20/80
    第七周 160/1060 1/8 20/100
    第八周 0/1060 2/9 20/120
  • 相关阅读:
    让客户实现 AI 算力“自由”,博云与趋动科技完成算力调度容器化验证
    活动预告 | 博云容器云产品族发布会,来了!
    Carina 全新版本 V0.10发布 :支持裸盘作为存储卷
    汽车行业云,如何管“多云”?
    博云首批通过欧拉技术测评,联合解决方案通过验证
    研发周期缩短40%,三一华兴如何实现快速价值交付?
    oracle数据库连接缓慢
    postgresql 大小写的问题
    pg数据库锁信息查询,解锁
    PostgreSql14.2 部署
  • 原文地址:https://www.cnblogs.com/20144303sys/p/6036452.html
Copyright © 2020-2023  润新知