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 可以切换到用户user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。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小时

注释

-深入理解计算机系统,实验楼
-Linux基础入门
-Linux的别出心裁命令记忆

原文地址:https://www.cnblogs.com/hanhaochen/p/5882022.html