20145233韩昊辰 《信息安全系统设计基础》第一周学习总结
20145233 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
linux的目录结构
目录路径
- 顾名思义,路径就是你要去哪儿的路线嘛。如果你想进入某个具体的目录或者想获得某个目录的文件(目录本身也是文件)那就得用路径来找到了。
*使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(**注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
复制文件
使用cp(copy)命令复制一个文件或目录到指定目录。这相比动手使用鼠标方便的多,使用鼠标要先选择复制,在到目标文件夹下粘贴。
删除文件
使用rm(remove files or directories)命令,删除一个文件或目录:
如果想忽略这提示,直接删除文件,可以使用-f参数强制删除。
跟复制目录一样,要删除一个目录,也需要加上-r或-R参数
压缩文件
- 在 Windows 上我们最常见的不外乎这三种.zip,.rar,*.7z后缀的压缩文件
- 而在 Linux 上面常见常用的除了以上这三种外,还有.gz,.xz,.bz2,.tar,.tar.gz,.tar.xz,*tar.bz2,简单介绍如下:
加密压缩
- 创建加密zip包
- 使用-e参数可以创建加密压缩包:
- 关于zip命令,因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:
- 需要加上-l参数将LF转换为CR+LF来达到以上目的。
简单的磁盘管理
创建虚拟磁盘
- dd命令用于转换和复制文件,不过它的复制不同于cp。之前提到过关于 Linux 的很重要的一点,一切即文件,在 Linux 上,硬件的设备驱动(如硬盘)和特殊设备文件(如/dev/zero和/dev/random)都像普通文件一样,只要在各自的驱动程序中实现了对应的功能,dd 也可以读取自和/或写入到这些文件。这样,dd也可以用在备份硬件的引导扇区、获取一定数量的随机数据或者空数据等任务中。dd程序也可以在复制时处理数据,例如转换字节序、或在 ASCII 与 EBCDIC 编码间互换。
- dd的命令行语句与其他的 Linux 程序不同,因为它的命令行选项格式为选项=值,而不是更标准的--选项 值或-选项=值。dd默认从标准输入中读取,并写入到标准输出中,但可以用选项if(input file,输入文件)和of(output file,输出文件)改变。
Linux命令
Linux学习应用的一个特点是通过命令行进行使用。
其中Linus的命名格式是:
command [options] [arguments]
- 选项是调整命令的执行开关
- 选项不同决定的命令的显示结果也不同
- 参数是指命令的作用对象
在这里举一个ls(显示当前目录下的内容,其中还有-a的使用)的例子: - 这里有一个在区分文件夹的方式:
- ./当前文件夹
- ../副文件夹
在使用的时候有很多的快捷键操作,在这里我贴上一张很常用的快捷键的图:
在Linux中有很多的命令需要特权来执行:
su
man命令
man是manul的缩写,我们可以通过man man来查看man的帮助:
其中1,2,3是我们学习的主要内容:
1是Linus的命令;
2是系统调用,操作系统提供的服务接口;
3是C语言函数;
其中还有一个命令:
man -k 帮助
cheat命令
- man 虽然很重要,但有些命令看了帮助还不会用,初学者需要例子,cheat就是这个身边的小抄。 cheat 命令不是Linux自带的。
- cheat是作弊,小抄的意思。
- cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。
其他核心命令
其中还有很多核心命令,例如find,locate,whereis,which等等,其中locate很好用,在Windows下等价于everything。
- find查找一个文件在系统中的位置,locate是神速的find。
- grep 可以对文件全文检索,支持正则表达式,正则表达式也是一个重要的元知识。
- whereis,which告诉你使用的命令工具装在什么地方。
教材学习中的问题和解决过程
在开始使用locate的时候,发现不能使用,想起老师上课所讲,在使用locate的时候:
需要先对库进行更新,使用updatedb的指令,但是又出现了一个问题:(没有办法打开这个文件)
这个问题我觉得是权限不够的问题,所以在指令前加上了sudo
,这个时候指令可以输入了,就是需要再输入管理者的密码,这之后就可以更新库,最后就可以使用locate的这个功能了。
代码调试中的问题和解决过程
本周没有相关的代码
本周代码托管截图
本周没有代码托管截图
本周的个人思考问题
在个人的使用过程吗中,使用其中的功能我给自己的虚拟机装了git,其中在终端中输入:
sudo apt-get install 软件名
就可以安装自己想要下载的软件了,但是在安装cheat的过程中,我有一个问题,在这里提出,开始的时候我没有在命令中加入sudo
,但是之前有输入过管理者的密码,为何在最后一步安装cheat的过程中,会提醒我权限不够,在安装cheat时前面已经装了Python
,以及pip
但是为何在最后一步还要用管理者才可以安装成功,并且在其他同学安装的过程中,也没有我这样的情况,他们按照老师的教程就一步步的完成,是因为每个计算机的不同吗?还是因为其他的原因。这里是我这次疑问的图片:
其他(感悟、思考等,可选)
第一周的学习其实还是比较轻松的,相比上学期的学习内容,第一周就是了解了Linux的一些基础命令,并且在终端中来使用并掌握这些命令,其中老师在课上也讲了很多要点,其中有些在这个星期就需要用到,还有一些指令需要自己来摸索,总体来说,我觉得Linux的学习比Java有趣的多,其中有一些学习任务是自己在虚拟系统中装一些应用程序,我还在自己摸索,并在本周的个人问题中会有自己的思考问题。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 24篇 | 350小时 | |
第一周 | 0 | 1/2 | 20小时 |