20145318 《信息安全系统设计基础》期中总结
Linux命令复习
Linux中的命令格式
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
grep
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返回到命令行模式以前的模式,一般是普通模式。
- 三种不经常使用模式:
- 具体的命令和快捷键很是多,这里不加赘述,能够参考如下几个资料:
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
- 功能:识别文件代码是否更新,减小编译工做量
- 格式为:
- 目标体:由make建立,一般是目标文件或可执行文件
- 依赖文件:建立目标体所依赖的文件
- 运行命令:建立每一个目标体时须要的运行命令,必须以tab键开头。
使用make的格式:make 目标体
代码结构树

其余(感悟、思考等,可选)
及时的总结是有效也是必要的,本周进行期中总结,重要命令都温习了一遍。
学习进度条

参考资料