20145301 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
Linux命令
* 如果使用GUI,Linux和Windows没有什么区别。Linux学习应用的一个特点是通过命令行进行使用。
* Linux中命令格式为:commad [options] [arguments]。 选项是调整命令执行行为的开关,选项不同决定了命令的显示结果不同。参数是指命令的作用对象。
man命令
* man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。
1是普通的Linux命令(用户命令帮助)
2是系统调用,操作系统的提供的服务接口(系统调用帮助)
3是库函数, C语言中的函数(库函数调用帮助)
6是给游戏留的,由各个游戏自己定义(Games)
7是附件还有一些变量,比如向environ这种全局变量在这里就有说明(Miscellaneous)
8是系统管理用的命令,这些命令只能由root使用,如ifconfig。(usually only for root)
cheat 命令
* cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。
其他
* 查找相关的核心命令还有find,locate,grep,whereis,which。
* 使用 cd 命令可以切换目录,在 Linux 里面使用 . 表示当前目录,.. 表示上一级目录(**注意,还记得我们上一节介绍过的,以 . 开头的文件都是隐藏文件,所以这两个目录必然也是隐藏的,你可以使用 ls -a 命令查看隐藏文件), - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径.
*绝对路径
关于绝对路径,简单地说就是以根"/"目录为起点的完整路径,以你所要到的目录为终点,表现形式如: /usr/local/bin,表示根目录下的 usr 目录中的 local 目录中的 bin 目录。
*相对路径
相对路径,也就是相对于你当前的目录的路径,相对路径是以当前目录 . 为起点,以你所要到的目录为终点,表现形式如: usr/local/bin (这里假设你当前目录为根目录)。你可能注意到,我们表示相对路径实际并没有加上表示当前目录的那个 . ,而是直接以目录名开头,因为这个 usr 目录为 / 目录下的子目录,是可以省略这个 . 的(以后会讲到一个类似不能省略的情况);如果是当前目录的上一级目录,则需要使用 .. ,比如你当前目录为“home”目录,根目录就应该表示为 ../../ ,表示上一级目录("home"目录)的上一级目录("/"目录)。
Linux 文件的基本操作
1.新建
- 新建空白文件:
创建名为 test 的空白文件,因为在其他目录没有权限,所以需要先 cd ~ 切换回用户的 /home/shiyanlou 目录: $ cd ~ $ touch test。 - 新建目录:
创建名为"mydir"的空目录: $ mkdir mydir 。使用 -p 参数,同时创建父目录(如果不存在该父目录)。 $ mkdir -p father/son/grandson
2.复制
-
复制文件
使用cp(copy)命令复制一个文件或目录到指定目录。将之前创建的"test"文件复制到"/home/shiyanlou/father/son/grandson"目录中:$ cp test father/son/grandson
-
复制目录 如果直接使用cp命令,复制一个目录的话,会出现如下错误:要成功复制目录需要加上-r或者-R参数,表示递归复制。$ cp -r father family
3.删除
-
删除文件
使用rm 命令,删除一个文件或目录: $ rm test
4.移动文件与文件重命名
-
移动文件
使用mv(move or rename files)命令,移动文件(剪切)。将文件"file1"移动到"Documents"
-
重命名文件
将文件"file"重命名为"myfile" mv 旧的文件名 新的文件名:$ mv file1 myfile
5.查看文件
- 我们要查看之前从"/etc"目录下拷贝来的passwd文件:$ cat passwd
可以加上-n参数显示行号:$ cat -n passwd
6.查看文件类型
- $ file /bin/ls。
环境变量
-
变量
使用=号赋值运算符为变量 tmp 赋值为 shiyanlou: $tokyo=shiyanlou
读取变量的值,使用echo命令和$符号:$ echo $tokyo
-
命令的查找路径与顺序
查看PATH环境变量的内容:$ echo $PATH
-
搜索文件
与搜索相关的命令常用的有如下几个whereis,which,find,locate。
文件打包与压缩
-
zip压缩打包程序
du命令查看打包后文件的大小
第一行命令中,-r参数表示递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。
-
rar打包压缩命令 使用rar和unrar工具分别创建和解压 rar 压缩包。
使用a参数添加一个目录~到一个归档文件中,如果该文件不存在就会自动创建。
文件系统操作与磁盘管理
一、简单文件系统操作
-
查看磁盘和目录的容量
使用 df 命令查看磁盘的容量 $ df
使用 du 命令查看目录的容量
-d参数指定查看目录的深度
二、简单的磁盘管理
-
创建虚拟磁盘
-
dd 命令简介 从标准输入读入用户输入到标准输出或者一个文件:
输出到文件 $ dd of=test bs=10 count=1 # 或者 dd if=/dev/stdin of=test bs=10 count=1 输出到标准输出 $ dd if=/dev/stdin of=/dev/stdout bs=10 count=1
使用mount来查看下主机已经挂载的文件系统:$ sudo mount
使用 umount 命令卸载已挂载磁盘
- 使用 fdisk 为磁盘分区
-
简单的文本处理
文本处理命令
-
tr 命令
tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。 使用方式:tr [option]...SET1 [SET2]
常用的选项有:
-d 删除和set1匹配的字符,注意不是全词匹配也不是按字符顺序匹配
-s 去除set1指定的在输入文本中连续并重复的字符 -
col 命令
col 命令可以将Tab换成对等数量的空格建,或反转这个操作。 使用方式:col [option]
-
join命令
将两个文件中包含相同内容的那一行合并在一起。 -
paste命令
paste这个命令与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开。
Ubuntu常用快捷键
* Ctrl+Alt+T: 打开终端
* Ctrl+D: 键盘输入结束或退出终端
* Ctrl+S: 暂定当前程序,暂停后按下任意键恢复运行
* Ctrl+C: 中断程序运行
* Ctrl+Z: 将当前程序放到后台运行,恢复到前台为命令fg
* Ctrl+A: 将光标移至输入行头,相当于Home键
* Ctrl+E: 将光标移至输入行末,相当于End键
* Ctrl+K: 删除从光标所在位置到行末
* Ctrl+Shift+T: 新建标签页
* Alt+数字N: 终端中切换到第N个标签页
* Alt+Backspace: 向前删除一个单词
* Tab: 终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成
* 上下键盘: 切换命令历史,刚输入一个很长的命令,按上键就可以恢复
* Shift+PgUp: 将终端显示向上滚动
* Shift+PgDn: 将终端显示向下滚动
实验部分截图
创建文件夹 添加用户
xeyes 编辑变量
banner 黑客帝国
查看占用容量 大象
课后作业中的问题和解决过程
这周的学习由于是初步接触,暂时只是对Linux进行了浅层次的了解,按照要求一步步对指令经行了实验,有两个小问题暂时还存疑。
- 使用以前介绍过的方法,安装aview和imagemagick,然后用asciiview命令显示图片,使用方法可以用 man 命令查看。
Linus大神的照片地址 http://labfile.oss.aliyuncs.com/courses/1/Linus.png
好像这个指令无法直接操作链接,只能先下载图片,在网上查阅了几篇文章,也没有用链接进行操作的 - 之前介绍过一个在命令行将图片转换为 ascii 字符查看的工具 aview/asciiview,不过它是黑白的。现在,这里是个彩色的: $ sudo apt-get install caca-utils
$ cacaview <pic_file>
$ cacademo
$ cacafire
进行到第二步无法继续,第一步安装,更新无误。
其他(感悟、思考等,可选)
这周的课程,难度上来说不算大,有一些比较抽象,难理解,但大多是还是实打实的操作指令。由于指令太多,现在我的掌握程度还没有达到熟练运用,只是初步对这些指令进行了实际操作和测试,初步进行了一些了解。还需我之后的学习过程中不断去练习、操作、回顾、才能更深层的对这些指令还有linux系统进行理解。自己还没掌握一门操作系统的元知识,只是学习了一些硬知识,这学期的期望和目标就是通过学习Linux,能真正掌握操作系统方面的元知识。
另外,在这周实验楼的学习中,体验到了不同的学习方法和乐趣,觉得通过实验楼的这种学习方式真的很赞,Linux中一些神奇的小游戏,也十分能激起人的兴致。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 4000行 | 24篇 | 400小时 | |
第一周 | 150/150 | 1/1 | 15/15 | 对Linux有了初步的认识 |