首页 > 技术文章 > 20145227《信息安全系统设计基础》第一周学习总结

m3182218 2016-09-18 16:05 原文

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

学习内容总结

  • Linux是一个操作系统。如果使用GUI,Linux和Windows没有什么区别。Linux学习应用的一个特点是通过命令行进行使用。
  • 物理机系统上可以通过使用[Ctrl]+[Alt]+[F1]~[F6]进行终端和图形界面切换,在线实验环境中按下[Ctrl]+[Alt]+[F7]来完成切换。普通意义上的 Shell 就是可以接受用户输入命令的程序,Unix/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。
  • 双击桌面上的Xface终端图标,打开终端,打开终端后会自动运行 Shell 程序,就可以输入命令让系统来执行。如ls命令,ls或ls .显示是当前目录的内容,ls -a .显示当前目录中的所有内容,包括隐藏文件和目录。
  • 在 Linux 环境中,如果你遇到困难,可以使用man 命令,它是Manual的缩写。如果你想查看 man 命令本身的使用方式,你可以输入:man man

手册通常被分为8个区段,要查看相应区段的内容,就在 man 后面加上相应区段的数字即可,如: $ man 3 printf

  • cheat命令是在GNU通用公共许可证下,为Linux命令行用户发行的交互式备忘单应用程序。它提供显示Linux命令使用案例,包括该命令所有的选项和简短但尚可理解的功能。
  • 和查找相关的核心命令还有find,locate,grep,whereis,which,其中:find查找一个文件在系统中的什么位置,locate是神速版本的find(Windows下有个Everything工具和locate类似)。grep 可以对文件全文检索,支持正则表达式,正则表达式也是一个重要的元知识。whereis,which告诉你使用的命令工具装在什么地方。上面的命令包括man -k有一个共同特点就是基于“搜索”。

Linux基本概念及操作

  • 常用 Shell 命令及快捷键与 Linux 使用小技巧
    1.[Tab]:使用Tab键来进行命令补全,Tab键一般键盘是在字母Q旁边,这个技巧给你带来的最大的好处就是当你忘记某个命令的全称时你可以只输入它的开头的一部分然后按下Tab键就可以得到提示或者帮助完成。不止补全命令,补全目录,补全命令参数都是没问题的。
    2.[Ctrl+c]:当在 Linux 命令行中无意输入了一个不知道的命令,或者错误的使用了一个命令,导致在终端里出现了无法预料的情况。想要立即停止并恢复到你可控的状态就可以使用Ctrl+c键来强行终止当前程序(它并不会使终端退出)。
    如输入find/后使用Ctrl+c键来强行终止当前程序。

  • 本节作业:一个可以输出图形字符的命令banner

使用默认已经安装的一个命令printerbanner,'-w'参数指定打印宽度,因为我们的环境在屏幕中显示比较小,必须要加上宽度限制。

用户及文件权限管理

  • Linux 中创建、删除用户,及用户组等操作

在 Linux 系统里, root 账户拥有整个系统至高无上的权利,比如 新建/添加 用户。

我们一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到 sudo 这个命令。新建一个叫 yanmanjun 的用户:

这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录

退出当前用户跟退出终端一样可以使用 exit 命令或者使用快捷键Ctrl+d。

  • 本节作业是添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写。

Linux 目录结构及文件基本操作

环境变量与文件查找

  • 本节作业要求实现满屏幕代码的“数字雨”。

文件打包与解压缩

  • 本节作业是火炉程序。输入如下指令:
$ sudo apt-get install libaa-bin 
# 提示command not found,请自行解决
$ aafire

文件系统操作与磁盘管理

  • 本节作业是使用cowsay命令,可以让你在终端里以一种动物说话的形式打印出一段话。

简单的文本处理

  • tr 命令可以用来删除一段文本信息中的某些文字。或者将其进行转换。
  • col 命令可以将Tab换成对等数量的空格建,或反转这个操作。
  • join命令用于将两个文件中包含相同内容的那一行合并在一起。
  • paste命令与join 命令类似,它是在不对比数据的情况下,简单地将多个文件合并一起,以Tab隔开。

数据流重定向

  • Linux 默认提供了三个特殊设备,用于终端的显示和输出,分别为stdin(标准输入,对应于你在终端的输入),stdout(标准输出,对应于终端的输出),stderr(标准错误输出,对应于终端的输出)。

  • 本节作业:输入下列指令

$ sudo apt-get install caca-utils
$ cacaview <pic_file>
$ cacademo
$ cacafire

会分别出现如下图案:

正则表达式

  • 正则表达式作为grep,sed,awk这三个命令的一种使用方式(命令输出中可以包含正则表达式)。一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列符合某个句法规则的字符串。
  • grep命令用于打印输出文本中匹配的模式串,它使用正则表达式作为模式匹配的条件。
  • sed 命令基本格式:sed [参数]... [执行命令] [输入文件]...

Linux 下软件安装

通常 Linux 上的软件安装主要有以下几种方式:

  • 在线安装
  • 从磁盘安装deb软件包
  • 从二进制软件包安装
  • 从源代码编译安装

apt-get使用各用于处理apt包的公用程序集,我们可以用它来在线安装、卸载和升级软件包等。

在虚拟机中安装DDD软件

学习中的问题和解决过程

1.Linux 目录结构及文件基本操作那节的课后作业中,输入xeyes后,就无法输入其他命令了。也无法让它后台运行。
解决办法:Ctrl-C 退出命令然后再输入 nohup xeyes &。最小化终端,点击下方的xeyes,右击-->移动,此时眼睛跟随鼠标可以移动。重新打开Xfce,输入nohup xeyes &,再输入exit,此时眼睛为后台运行。

2.添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写。一开始无法获得权限。

解决办法:查询了资料后,输入如下指令:首先创建文件:sudo touch /opt/forloutest
接着,将文件所有者改为用户loutest:sudo chown loutest /opt/forloutest
最后,修改文件权限,将权限修改为用户loutest可以读写:sudo chmod 600 /opt/forloutest
成功。

3.&&和||结合起来使用,那么是否以任意顺序都行?
解决:只有 && 左边的命令执行成功后, && 右边命令的才能被执行。
只有在 || 左边的命令执行失败,|| 右边的命令才会被执行。

其他(感悟、思考等,可选)

  • 通过对《Linux基础入门》中十二门实验课的学习,我对于linux系统有了一定的了解,掌握了一些基本的使用技巧和快捷键,虽然在短时间内并没有完全熟练的掌握这些知识,但是脑海中已经有了关于学习linux的基本框架。其中也遇到了很多问题,按照实验楼上的步骤做,却不能出现预期的结果。后面在同学的帮助下最终完成了本次实验,感觉获益匪浅。对于这门新知识,一定要从一开始打牢基础才能减少以后学习中的知识漏洞。希望可以在自己的努力下学好这门课。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/2 20/20

参考资料

推荐阅读