20145318 《信息安全系统设计基础》期中总结
20145318 《信息安全系统设计基础》期中总结
Linux命令复习
Linux中的命令格式
- Linux中命令格式为:命令 [选项] [参数];[]表示是可选的
常用且实用命令
-
Ctrl+c
:终止程序 -
上
:恢复之前输入过的命令,允许恢复多条 -
Tab
:- 补全
- 命令(参数)
- 目录
- 提示可能要输入的信息(命令、目录等)
- 补全
-
*
:通配符。 eg.ls *.txt
man
- man是manul的缩写,可以通过man man来查看man的帮助
-a
:在所有的man帮助手册中搜索-k
:根据关键字搜索联机帮助,是一种模糊搜索-f
:关键字精确搜索,等价于whatis指令,显示给定关键字的简短描述信息-P
:指定内容时使用分页程序-M
:指定man手册搜索的路径man 2 ls
:会显示第二区段中的printf命令man页面,如下图
man -k key | grep key1 | grep key2 |... 语句#####
- 非常实用的语句,可以结合多关键字查找,可以称为搜索引擎,如图:
cheat
-
cheat
主要作用体现在与man
命令的比较上,看完了man
给出手册的所有内容,可能还是不会使用,如图:
-
这时
cheat
命令就看起来非常简单明了而且实用,因为cheat
命令只是举出例子告诉你使用方法,如图:
grep
-
grep
命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 -
命令格式:grep [options]
-
[options]主要参数:
-c
:只输出匹配行的计数-I
:不区分大小写(只适用于单字符)-h
:查询多文件时不显示文件名-l
:查询多文件时只输出包含匹配字符的文件名-n
:显示匹配行及行号-s
:不显示不存在或无匹配文本的错误信息-v
:显示不包含匹配文本的所有行
grep -nr xxx /usr/include
- xxx为某个宏,已知该宏保存在include文件夹中,就可以用该语句查找。如图:
find
- find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
- 命令格式:find pathname -options [-print -exec -ok ...]
- 参数:
- pathname:find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
- print:find命令将匹配的文件输出到标准输出
- exec:find命令对匹配的文件执行该参数所给出的shell命令,相应命令的形式为'command' { } ;,注意{ }和\;之间的空格
- ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行
- 常用选项:
- -name:按照文件名查找文件
- -perm:按照文件权限来查找文件
mtime -n +n:按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前 - -type:查找某一类型的文件,诸如:b - 块设备文件,d - 目录,c - 字符设备文件,p - 管道文件,l - 符号链接文件,f - 普通文件
- -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
- -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
-amin n : 在过去 n 分钟内被读取过 - -anewer file : 比档案 file 更晚被读取过的档案
- -atime n : 在过去 n 天过读取过的档案
- -cmin n : 在过去 n 分钟内被修改过
- -cnewer file :比档案 file 更新的档案
- -ctime n : 在过去 n 天过修改过的档案
- -empty : 空的档案-gid n or -group name : gid 是 n 或是 group 名称是 name
- -ipath p, -path p : 路径名称符合 p 的档案,ipath 会忽略大小写
- -name name, -iname name : 档案名称符合 name 的档案。iname 会忽略大小写
- -size n : 档案大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
- -type c : 档案类型是 c 的档案。(一块 = 512字节)
查找大于1M的普通文件
查找最近5分钟修改的文件
Linux下C语言编程基础
- 实验楼的学习资料:非常全面
vi
- vim其实就是一种文本编辑器,区别于记事本等的特点为便于使用键盘操作,键盘操作的基础是vi的几个模式:
-
三种常用模式:
- 普通模式(Normal mode):在普通模式中,用的编辑器命令,比如移动光标,删除文本等等。这也是Vim启动后的默认模式。在普通模式中,进入插入模式比较普通的方式是按a(append/追加)键或者i(insert/插入)键。
- 插入模式(Insert mode):在插入模式中,可以按ESC键回到普通模式。
- 命令行模式(Command line mode):在命令行模式中,执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim返回到命令行模式之前的模式,通常是普通模式。
-
三种不常用模式:
- 可视模式(Visual mode):命令多与字母v有关,移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。
- 选择模式(Select mode):这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim会用这个字符替换选择的高亮文本块,并且自动进入插入模式。
- Ex模式(Ex mode):这和命令行模式比较相似,在使用:visual命令离开Ex模式前,可以一次执行多条命令。
-
命令
- 具体的命令和快捷键非常多,这里不加赘述,可以参考以下几个资料:
- 输入vimtutor可以查看学习vim使用教程
- 简明vim练级攻略
gcc
- gcc能够编译用C、C++和Object C等语言编写的程序。
编译过程
- 编译命令:
gcc hello.o –o hello
:将当前目录下的hello.c文件编译成名称为hello的可执行文件,内部可以分为四步:- 预处理:
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
:运行可执行文件hello
高级编译
- 在不同目录下使用gcc,具体可见Linux实验一
gdb
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"设置了观察点,观察变量的变化情况
- 四种断点:
- 函数断点:
b 函数名 条件表达式
- 行断点:
b 行数或函数名 条件表达式
- 条件断点:
b 行数或函数名 if表达式
- 临时断点:
tbreak 行数或函数名 条件表达式
- 函数断点:
复习实践截图
makefile
- 功能:识别文件代码是否更新,减少编译工作量
- 格式为:
- 目标体:依赖文件
- [tab键]各目标体运行命令
- 目标体:由make创建,通常是目标文件或可执行文件
- 依赖文件:创建目标体所依赖的文件
- 运行命令:创建每个目标体时需要的运行命令,必须以tab键开头。
- 使用make的格式:make 目标体
代码结构树
其他(感悟、思考等,可选)
及时的总结是有效也是必要的,本周进行期中总结,重要命令都温习了一遍。
学习进度条
参考资料
posted on 2016-11-06 15:05 20145318赵一 阅读(237) 评论(1) 编辑 收藏 举报