20145223《信息安全系统设计基础》第1周学习总结

20145223 《信息安全系统设计基础》第1周学习总结

教材学习内容总结

一、重要快捷键

(1)[Tab]:使用Tab键来进行命令补全,(输入某个命令开头的一部分然后按下Tab键就可以得到提示或者帮助完成),除此之外还有补全目录,补全命令参数

(2)常用快捷键:

Ctrl+d  键盘输入结束或退出终端
Ctrl+s  暂定当前程序,暂停后按下任意键恢复运行
Ctrl+z  将当前程序放到后台运行,恢复到前台为命令fg
Ctrl+a  将光标移至输入行头,相当于Home键
Ctrl+e  将光标移至输入行末,相当于End键
Ctrl+k  删除从光标所在位置到行末
Alt+Backspace   向前删除一个单词
Shift+PgUp  将终端显示向上滚动
Shift+PgDn  将终端显示向下滚动

(3)键盘上的方向上键:恢复你之前输入过的命令

(4)Shell 常用通配符:

字符  含义
*   匹配 0 或多个字符
?   匹配任意一个字符
[list]  匹配 list 中的任意单一字符
[!list] 匹配 除list 中的任意单一字符以外的字符
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
{string1,string2,...}   匹配 sring1 或 string2 (或更多)其一字符串
{c2..c2}    匹配 c1-c2 中全部字符 如{1..10}

二、需要掌握的命令

(1)Linux命令

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

(2)man命令

man是manul的缩写,我们可以通过man man来查看man的帮助:
890352-20160918155442938-1392999083.png

man printfman 1 printfman 3 printf说明这三者的区别

890352-20160918160547250-422423780.png

`man printf:是普通的Linux命令

890352-20160918160850357-974178359.png

man 1 printf:是系统调用,操作系统的提供的服务接口

890352-20160918161100163-1730415506.png

man 3 printf:是库函数, C语言中的函数

890352-20160918161152542-1199944297.png

man -k选项结合grep命令和管道的应用:

890352-20160918162106893-600504532.png

(3)cheat命令

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

cheat find
890352-20160918163718774-1208564692.png

(4)find命令————参考博客Linux find用法示例

find查找一个文件在系统中的什么位置,locate是神速版本的find
命令格式:·find path -option [ -print ] [ -exec -ok command ] {} \;
各项参数:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
常用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                       #使查找在进入子目录前先行查找完本目录
示例:用find查找一个名为"a"的txt文件:

890352-20160918171712677-2114645854.png

(5)locate命令

·locate指定用在搜寻符合条件的档案,它会去储存档案与目录名称的数据库内,寻找合乎范本样式条件的档案或目录录,可以使用特殊 字 元(如””或”?”等)来指定范本样式,如指定范本为kcpaner, locate会找出所有起始字串为kcpa且结尾为ner的档案或目录,如名称为kcpartner若目录录名称为kcpa_ner则会列出该目录下包括 子目录在内的所有档案。

·locate指令和find找寻档案的功能类似,但查询速度会较快。

·locate 有一个十分有用的选项 -r,它可以让你在搜索文件时使用正则表达式。

用法举例:

·~$ locate /etc/sh---查找etc目录下所有以sh开头的文件
·$ locate -n 5 /soft/android--- 查看soft目录下以android开头的文件,限定只显示5个,使用 -n

(6)grep命令(功能:可以对文件全文检索)————参考博客Linux grep用法示例

执行cheat grep:

890352-20160918170647070-113366664.png

格式:grep [options]
[options]主要参数:
-c:只输出匹配行的计数。
-I:不区分大 小写(只适用于单字符)。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
pattern正则表达式主要参数:
\: 忽略正则表达式中特殊字符的原有含义。
^:匹配正则表达式的开始行。
$: 匹配正则表达式的结束行。
\<:从匹配正则表达 式的行开始。
\>:到匹配正则表达式的行结束。
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的单个字符。
* :有字符,长度可以为0。

(7)whereis命令

whereis,which告诉你使用的命令工具装在什么地方,比如用whereis firefoxwhich firefox这两个命令查找firefox所在的目录:

890352-20160918174000367-1514679153.png

(8)apt-cache命令

具体用法:可以在使用apt-get install安装一个程序时先找找软件源的库里有没有这个程序,比如这周我们所需要安装的ddd调试工具:

890352-20160918174357368-975519712.png

Linux命令练习:

banner命令:

890352-20160918181944801-1928780336.png

890352-20160918181952504-222057244.png

用户级文件权限管理:

·添加一个用户loutest

890352-20160918182459276-160842148.png

在 Linux 里面如何知道自己属于哪些用户组

·方法一:使用groups命令:
890352-20160918183921727-1087458748.png
·方法二:查看/etc/group文件:
890352-20160918184040936-839776238.png

删除用户:

890352-20160918185002319-101553161.png

变更文件所有者:

·建立一个新用户test890352-20160918190330626-1638370214.png
·test建立a文件,切换回coast用户进行操作:
890352-20160918191921224-1822678828.png
·最后结果:890352-20160918192051168-1908835494.png

修改文件权限:

890352-20160918192726290-1891157162.png

Linux 目录结构

因为我们的环境的原因,每次新启动实验会清除系统恢复初始状态,所以需要手动更新软件包索引,以便我们安装时能找到相应软件包的源

sudo apt-get update

sudo apt-get install tree:
890352-20160918194015047-965939.png

进入上一级目录:
$ cd ..

进入你的“home”目录:

$ cd ~ 

·或者 cd /home/
使用 pwd 获取当前路径:

$ pwd

890352-20160918194322497-1287869942.png

下面我们以你的"home"目录为起点,分别以绝对路径和相对路径的方式进入 /usr/local/bin 目录:
# 绝对路径
$ cd /usr/local/bin
# 相对路径
$ cd ../../usr/local/bin

890352-20160918194551680-1708277338.png

Linux 文件的基本操作

·新建空白文件和新建目录:

890352-20160918195522158-731525224.png

复制文件:

890352-20160918200155435-70292950.png

删除文件:

890352-20160918200232828-1192394872.png

移动文件与文件重命名:

890352-20160918200707535-1331005321.png
890352-20160918200726724-1870424493.png

查看文件

·使用cat,tac和nl命令查看文件
·比如我们要查看之前从"/etc"目录下拷贝来的passwd文件:

$ cat passwd

可以加上-n参数显示行号:

$ cat -n passwd

环境变量与文件查找

召唤“数字雨”:

890352-20160918201807566-204266950.png

文件打包与压缩

zip压缩打包程序:

890352-20160918210430668-1195598149.png

使用unzip命令解压缩zip文件到当前文件夹:

890352-20160918210457826-401065865.png

一个有趣的作业:

890352-20160918210610363-871159939.png

890352-20160918210618848-320307072.png

简单文件系统操作

df 命令查看磁盘的容量:

890352-20160918211731833-347019084.png

890352-20160918211741224-1476340878.png

使用 du 命令查看目录的容量:

890352-20160918211801335-881206926.png

召唤眼睛:

890352-20160918214055244-1901911253.png

作业:

890352-20160918211821711-1337599003.png

890352-20160918211829134-1760163314.png

简单的文本处理

1.tr 命令 tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。
使用方式:

tr [option]...SET1 [SET2]
2.col 命令 col 命令可以将Tab换成对等数量的空格建,或反转这个操作。
使用方式:

col [option]
3.join命令 学过数据库的用户对这个应该不会陌生,这个命令就是用于将两个文件中包含相同内容的那一行合并在一起。
使用方式:

join [option]... file1 file2
作业:Space Invaders:太空侵略者

890352-20160918213158159-87976995.png

890352-20160918213205847-1675759911.png

作业12:

890352-20160918213620053-310584530.png

教材学习中的问题和解决过程

·问题1:在安装cheat时系统报错“权限不够”:

890352-20160918175358442-832430367.png

解决过程1:在命令前添加sudo

·问题2:在linux系统中安装cheat 时,需要通过git来进行下载,如果之前没有下载git则无法正常进行安装:

890352-20160918174423698-1632936614.png

·解决过程2:利用apt-get install安装git

·问题3:在删除用户时遇到的问题:890352-20160918184830188-811854979.png

·解决过程3:需要进行用户的切换,当前用户不能为需要进行删除的用户

思想感悟

###在经过了这一周的学习后,我从最开始的对Linux系统的一无所知,到现在初步能够通过一些简单的命令来进行系统的操作,我感觉自己的收获还是很大的。虽然自己对Linux系统知识的掌握还不是很全面,但是经过了这段时间的摸索和学习,我逐渐有了学好它的信心。知识是一步一步积累下来的,不能急于求成,所以要在开始就打好基础,这样后面的学习才会更加顺利。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标4000行20篇300小时
第一周0/01/220/20

参考资料

转载于:https://www.cnblogs.com/20145223ymy/p/5881839.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值