20145307《信息安全系统设计基础》第1周学习总结
教材学习内容总结
本周主要目的是学习linux系统的基础知识以及应用小技巧。首先在实验楼上了解到linux的基础知识以及在windows使用上的技巧如何在linux上去实现,首先是学习概念问题,之后涉及到基础操作,因为linux系统和windows系统存在很多的不同,比如用户安全问题,在windows上不存在root权限问题,只要用户登录到admin管理员账户就能随意修改系统最底层最核心的文件,而linux不同,他需要用户在登录的情况下仍然要sudo进入root最高权限问题。当然kali则不同了,直接可以用apt-get等指令对系统尽情修改。之后就是学习linux目录文件的结构问题,以及文件的基本操作。之后就是环境变量的配置以及查找问题,就像上学期学的在windows上配置jdk路径一样,学习如何在linux上配置环境变量。之后是文件夹的打包与压缩,用命令行去打包已知文件夹,以及如何解压。之后包括各种软件的安装,apt-get还是下载的deb包还是.zip类型的安装,都要熟悉(git真是个好东西哦)。之后是学习各种linux命令,cheat
find
locate
grep
man
whereis
which
apt-get
的使用注意cheat指令在源系统中是没有的,需要后来自己添加。再有学习manul的使用方法,对了解一个软件或者语言也十分有用。
Ubuntu下常用快捷键
Ctrl+Alt+T
: 打开终端
Ctrl+D
: 键盘输入结束或退出终端
Ctrl+S
: 暂定当前程序,暂停后按下任意键恢复运行
Ctrl+C
: 中断程序运行
Ctrl+Z
: 将当前程序放到后台运行,恢复到前台为命令
Ctrl+E
: 将光标移至输入行末,相当于End
键
Ctrl+K
: 删除从光标所在位置到行末
Ctrl+Shift+T
: 新建标签页
Alt+数字N
: 终端中切换到第N个标签页
Alt+Backspace
: 向前删除一个单词
Tab
: 终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成
上下键盘
: 切换命令历史,刚输入一个很长的命令,按上
键就可以恢复
Shift+PgUp
: 将终端显示向上滚动
Shift+PgDn
: 将终端显示向下滚动Linux核心命令Linux中命令格式为:command [options][arguments] []表示是可选的
,即组成结构为:命令 [选项][参数]
man命令man命令
是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
常用选项
-a
:在所有的man帮助手册中搜索
-k
:根据关键字搜索联机帮助,是一种模糊搜索
-f
:关键字精确搜索,等价于whatis指令,显示给定关键字的简短描述信息
-P
:指定内容时使用分页程序
-M
:指定man手册搜索的路径参数: 数字
:指定从哪本man手册中搜索帮助关键字
:指定要搜索帮助的关键字
cheat
命令在linux上,man命令
几乎是万能的,但它却不是最高效的。由于它给出的帮助信息很长,在短时间内不好理解,所以在这种情况下,用cheat命令
更方便,cheat命令
简单来说,就是告诉你一个命令如何使用。它没有提供其他额外多余的信息,只通过使用实例告诉你一个命令如何使用。
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天以前
-newer file1 ! file2
:查找更改时间比文件file1新但比文件file2旧的文件
-type
:查找某一类型的文件,诸如:b - 块设备文件,d - 目录,c - 字符设备文件,p - 管道文件,l - 符号链接文件,f - 普通文件
-size n
:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计
-depth
:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
locate
命令locate其实是find -name
的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
命令格式:locate [选择参数][样式]
命令参数: -e
:将排除在寻找的范围之外
-1
:如果是1则启动安全模式,在安全模式下,使用者不会看到权限无法看到的档案。这会使速度减慢,因为 locate
必须至实际的档案系统中取得档案的权限
-f
:将特定的档案系统排除在外,例如我们没有到必要把proc
档案系统中的档案放在资料库中
-q
:安静模式,不会显示任何错误讯息
-n
:至多显示 n个输出
-r
:使用正规运算式 做寻找的条件
-o
:指定资料库存的名称
-d
:指定资料库的路径
-h
:显示辅助讯息
-V
:显示程式的版本讯息
grep
命令grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep
全称是Global Regular Expression Print
,表示全局正则表达式版本,它的使用权限是所有用户。
命令格式:grep [options]
[options]
主要参数: -c
:只输出匹配行的计数
-I
:不区分大小写(只适用于单字符)
-h
:查询多文件时不显示文件名
-l
:查询多文件时只输出包含匹配字符的文件名
-n
:显示匹配行及行号
-s
:不显示不存在或无匹配文本的错误信息
-v
:显示不包含匹配文本的所有行正则表达式主要参数:
\
:忽略正则表达式中特殊字符的原有含义
^
:匹配正则表达式的开始行
$
:匹配正则表达式的结束行
\<
:从匹配正则表达式的行开始
\>
:到匹配正则表达式的行结束
[ ]
:单个字符,如[A]即A符合要求
[ - ]
:范围,如[A-Z],即A、B、C一直到Z都符合
whereis
命令whereis是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis
程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。whereis命令
只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
命令格式:whereis [-bmsu][BMS 目录名 -f ] 文件名
主要参数: -b
:定位可执行文件
-m
:定位帮助文件
-s
:定位源代码文件
-u
:搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件
-B
:指定搜索可执行文件的路径
-M
:指定搜索帮助文件的路径
-S
:指定搜索源代码文件的路径
which
命令which会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。which
是根据使用者所配置的PATH
变量内的目录去搜寻可运行档的,所以,不同的PATH
配置内容所找到的命令是不一样的。
命令格式:which 可执行文件名称
命令参数: -n
:指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名
-p
:与-n参数相同,但此处的包括了文件的路径
-w
:指定输出时栏位的宽度
-V
:显示版本信息
教材学习中的问题和解决过程
因为之前自己在用kali系统,所以在帮同学搞的时候经常忘记加sudo,导致权限不够,不能够写入到最高权限的文件夹里面。加上就好了,还有一点很气(微笑脸),虽然ubuntu和kali都是基于debian的系统但是,他们俩快捷键不一样,ctrl+alt+T不能在kali下打开terminal(尴尬),我现在还不知道kali的快捷键是啥样的。。。我去kali官网看帮助文档,全是英文的。。。看不懂。。。今天我发现这系统有中文论坛(不是贴吧),去学习下命令行的指令。
学习进度条
代码行数 | 博客量 | 学习时间 | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 0 | 1 | 8 | |
第二周 | 0 | 2 | 10 | |