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

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

教材学习内容总结

  • Linux简介
    • Linux为何物
      • Linux 就是一个操作系统,也就是系统调用和内核那两层
  • Linux命令
    • command [options] [arguments]command作用于arguments,options区别指令的不同
  • man指令
    • man -k可以结合grep多关键字查找
    • 等价命令apropos
    • man -f cmd查看命令的基本功能,等价于whatis
  • cheat命令
  • 快捷键
    • ctrl+c 中端程序
      Ctrl+d 键盘输入结束或退出终端
      Ctrl+s 暂定当前程序,暂停后按下任意键恢复运行
      Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
      Ctrl+a 将光标移至输入行头,相当于Home键
      Ctrl+e 将光标移至输入行末,相当于End键
      Ctrl+k 删除从光标所在位置到行末
      Alt+Backspace 向前删除一个单词
      Shift+PgUp 将终端显示向上滚动
      Shift+PgDn 将终端显示向下滚动
  • Shell 常用通配符
    • * 匹配 0 或多个字符
      ? 匹配任意一个字符
      [list] 匹配 list 中的任意单一字符
      [!list] 匹配 除list 中的任意单一字符以外的字符
      [c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]
      {string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串
      {c2..c2} 匹配 c1-c2 中全部字符 如
  • who am i命令查看用户
    • who 命令其它常用参数
      -a 打印能打印的全部
      -d 打印死掉的进程
      -m 同am i,mom likes
      -q 打印当前登录用户数及用户名
      -u 打印当前登录用户登录信息
      -r 打印运行等级
  • su <user>切换到用户user,su<cmd>以特权级别运行cmd命令,su - <user>切换用户的同时环境变量也会跟着切换
  • groups <user>命令得知用户属于哪个组
  • usermod命令为用户添加用户组,deluer删除用户
  • ls -l查看文件权限
  • cd命令切换目录:.表示当前目录,..表示上一级目录,- 表示上一次所在目录,通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)
  • mkdir(make directories)命令可以创建一个空目录,也可同时指定创建目录的权限属性, -p 参数,同时创建父目录
  • cp(copy)命令复制一个文件或目录到指定目录,复制目录加参数-r
  • 使用rm命令,删除一个文件或目录,删除目录加参数-r
  • 使用mv命令,移动文件(剪切),
    重命名文件,批量重命名,rename来实现
  • 使用cat,tacnl命令查看文件,cat为正序显示,tac倒序显示,nl命令,添加行号并打印
  • 使用moreless命令分页查看文件,打开后默认只显示一屏内容,终端底部显示当前阅读的进度(百分比)。可以使用Enter键向下滚动一行,使用Space键向下滚动一屏,按下h显示帮助,q退出
  • 使用headtail命令查看文件,只查看的头几行(默认为10行,不足10行则显示全部)和尾几行,也可以加上-n参数,后面紧跟行数
  • file命令可以查看文件的类型
  • declare命令创建变量
  • 环境变量有关命令:set 显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
    env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
    export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
  • 变量修改:${变量名#匹配字串} 从头向后开始匹配,删除符合匹配字串的最短数据
    ${变量名##匹配字串} 从头向后开始匹配,删除符合匹配字串的最长数据
    ${变量名%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最短数据
    ${变量名%%匹配字串} 从尾向前开始匹配,删除符合匹配字串的最长数据
    ${变量名/旧的字串/新的字串} 将符合旧字串的第一个字串替换为新的字串
    ${变量名//旧的字串/新的字串} 将符合旧字串的全部字串替换为新的字串
  • Linux文件压缩格式:*.zip zip程序打包压缩的文件
    *.rar rar程序压缩的文件
    *.7z 7zip程序压缩的文件
    *.tar tar程序打包,未压缩的文件
    *.gz gzip程序(GNU zip)压缩的文件
    *.xz xz程序压缩的文件
    *.bz2 bzip2程序压缩的文件
    *.tar.gz tar打包,gzip程序压缩的文件
    *.tar.xz tar打包,xz程序压缩的文件
  • zip压缩打包程序,zip -r -q -o shiyanlou.zip /home/shiyanlou-r参数表示递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用du命令查看打包后文件的大小,-e参数可以创建加密压缩包,-l参数转换格式,使之在Windows下打开没有问题
  • unzip命令解压缩zip文件,-d表示路径(不存在会自动创建),-l不解压只查看压缩包内容,-o指定编码类型
  • rar打包压缩命令,rar a shiyanlou.rar压缩文件(使用a参数添加一个目录~到一个归档文件中,如果该文件不存在就会自动创建),rar d shiyanlou.rar .zshrc从指定压缩包文件中删除某个文件,rar l shiyanlou.rar查看不解压文件,unrar x shiyanlou.rar全路径解压,unrar e shiyanlou.rar tmp/去掉路径解压
  • tar打包工具,tar -cf shiyanlou.tar ~创建一个 tar 包,-c表示创建一个 tar 包文件,-f用于指定创建的文件名,注意文件名必须紧跟在-f参数之后,-v参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的/,你也可以使用-P保留绝对路径符,解包一个文件(-x参数)到指定路径的已存在目录(-C参数),只查看不解包文件-t参数
  • df 命令查看磁盘的容量,加-h转换成能看懂的形式
  • du 命令查看目录的容量,-d参数指定查看目录的深度(1级目录~ 0~)
  • dd命令用于转换和复制文件,bs(block size)用于指定块大小(缺省单位为 Byte,也可为其指定如'K','M','G'等单位),count用于指定块数量
  • bs(block size)用于指定块大小(缺省单位为 Byte,也可为其指定如'K','M','G'等单位),count用于指定块数量
  • dd 命令创建虚拟镜像文件, dd if=/dev/zero of=virtual.img bs=1M count=256
  • mkfs 命令格式化磁盘,命令sudo mkfs.ext4 virtual.img格式化为ext4文件系统
  • sudo mount查看下主机已经挂载的文件系统,命令格式mount [options] [source] [directory],常用操作mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]umount 命令卸载已挂载磁盘sudo umount /mnt
  • fdisk为磁盘分区,查看硬盘分区表信息sudo fdisk -l,进入磁盘分区模式sudo fdisk virtual.img
  • type查看,内建命令
    xxx is a shell builtin
    外部命令
    xxx is /usr/sbin/xxx
    指令为命令别名所设定的名称
    xxx is an alias for xx --xxx
  • help命令只能用于显示内建命令的帮助信息。外部命令基本上都有一个参数--help,这样就可以得到相应的的帮助
  • man没有内建与外部命令的区分
  • cut命令,打印每一行的某一字段
  • grep命令,在文本中或 stdin 中查找匹配字符串,格式grep [命令选项]... 用于匹配的表达式 [文件]...
  • wc命令,简单小巧的计数工具
  • sort排序命令
  • uniq去重命令
  • tr命令可以用来删除一段文本信息中的某些文字
  • 使用tee命令同时重定向到多个文件,除了将需要将输出重定向到文件之外也需要将信息打印在终端
  • 永久重定向,使用exec命令
  • 利用设个/dev/null屏蔽命令的输出完全屏蔽命令的输出

教材学习中的问题和解决过程

  • 无法使用zsh命令,使用zsh命令会被提示没有安装,按照提示安装后也无法使用


  • 没有解决

  • hello_shell.sh文件无法运行

  • .cpp文件可以运行,但是.sh无法运行,看同学的博客也写了相同的问题,但是没有解决

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

  • 本周学习了Linux的一些基础知识,主要学习了一些指令的用法,之前没有接触过Linux,所以学习起来还是感觉有吃力的,感觉即使这样跟着实验楼的实验学习了一遍,指令和用法也记不太清楚,毕竟指令太多了,只有在日后的学习中多应用多实践才能学好

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 1/2 25/30 学习Linux指令
posted @ 2016-09-18 19:10  20145308刘昊阳  阅读(140)  评论(2编辑  收藏  举报