2019-2020-1 20181218《Linux内核原理与分析》第一周作业

目录

  • 问题和参考
  • 有趣/有用的Linux命令
  • 小作业和解答
  • 一些图片
  • 相关学习

本文是学习Linux基础入门(新版)后的总结。

问题和参考

虚拟机莫名崩溃,一天重启了几十次电脑,重装两次系统,心累。想起去年十一时节,大一的我也在安虚拟机,没想到一年过去又是一个轮回,还遇到了很多全新的问题,一环套一环,一个问题接一个。常安常新啊。

错误的逻辑顺序:

  • 全屏后找不到安装增强功能——HOME+HOST,HOST+C可以重新显示菜单栏,且要将菜单栏的“设备”设为显示,才能找到“安装增强功能”——找不到HOME键在键盘的位置——逆序将问题解决;
  • 安装增强功能出现“糟糕!运行这个软件时出现问题。无法定位程序”的错误——直接在命令行按老师的参考博客设置共享文件夹那里会出现“unknown filesystem type 'vboxsf‘”的错误——需要安装增强功能(问题回到开始)——需要安装kernel——Debian不用kernel,而应安装linux-headers——不管装什么都显示“E:无法定位软件包”——排除网络未连接的问题,那就是网络质量的问题——需要换源——换源的网址要是能直接粘贴过来就好了——想共享粘贴板需要安装增强功能(问题链闭合了!!)——手动输入源,从换源这一步开始逆序将问题解决,装好了共享文件夹还是挺有成就感的:D,弥补了大一时的缺失

参考博客和小点

基于VirtualBox虚拟机安装Ubuntu图文教程

20165214 2018-2019-2 《网络对抗技术》Exp0 Kali安装 Week1

Virtualbox安装增强功能时显示【未能加载虚拟光盘】

Y7000P的HOME键是Fn+

安装linux-headers

安装增强功能时,图形界面使用sh ./VBoxLinuxAdditions.run,如果./VBoxlLinuxAdditions.run报权限不够的错误的话

“mkdir:无法创建目录”的错误,加上-p参数可创建未存在的目录

kali 安装中文中文输入法(一遍成功无错误)

Kali Linux 更新源

Linux下使用QQ邮箱发送邮件(失败)

linux用mail往qq邮箱发邮件(失败)

Linux管道命令(Pipe)

有趣/有用的Linux命令

  • banner、printerbanner、toilet、figlet sudo apt-get install sysvbanner输出图形字符
  • cmatrix 模拟黑客帝国特效
  • aafire sudo apt-get install libaa-bin火炉特效
  • cowsay 动物说话特效,-l列举动物,-f选择动物
  • xeyes 使用nohup xeyes放到后台运行,一双眼睛监督你
  • fortune、fortune-zh 输出一首诗(可以结合cowsay,用|隔开使用)
  • asciiview 有趣的查看图片文件的方法,需要安装aview和imagemagick
  • ninvaders 游玩基于ncurse命令行图形库做的经典游戏Space Invaders/usr/games/ninvaders
  • bb /usr/games/bb,某种文字特效
  • history 查看最近执行过的命令
  • tree 显示目录、文件的关系
  • less、head、tail 查看文件内容,tail的-f参数可以实现实时监视
  • vimtutor linux自带的vim教程
  • vimdiff 文本比较合并工具
  • locate、find 搜索文件的工具
  • grep 结合正则表达式进行匹配和查找 -E使用扩展至正则表达式ERE
  • cut 从文件的每一行剪切字节、字符和字段并写至标准输出
  • sort 针对文本文件的内容,以行为单位排序
  • uniq 检查和删除文本文件中重复出现的行列,常于sort结合使用
  • tr 删除一段文本信息中的某些文字或将其进行转换 echo 'input some text here' | tr '[:lower:]' '[:upper:]' #将输入的文本全部转换为大写,也可写成'[a-z]' '[A-Z]'
  • col -x将Tab转换为空格;-h将空格转换为Tab(默认)
  • join 将两个文件中指定字段的内容相同的行连接起来
  • paste 在不对比数据的情况下简单地合并多个文件
  • dos2unix、unix2dos 将dos文本格式和UNIX文本格式相互转换
  • tee 将输入打印到终端,同时重定向到多个文件
  • exec 使用一个进程替换当前进程
  • xargs 将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
  • sed 用于过滤和转换文本的流编辑器 -r使用扩展正则表达式;-i将直接修改输入文件内容,而不是打印到标准输出设备
  • awk 文本处理工具
  • dpkg Debian Packge,一个底层的远程获取软件包及处理复杂软件包关系的工具
  • remove 卸载软件
  • top、ps、pstree 查看系统或进程信息
  • kill、nice、renice 进程的管理命令
  • logrotate 管理日志

小作业和解答

  • 找出/etc/目录下的所有以.list结尾的文件。sudo find /etc -name "*.list"

  • 找出当前目录下占用最大的前十个文件。du -a|sort -n -r|head -n 10

  • 使用mail用自己的QQ邮箱发送邮件。(失败)

    请参考上面的参考博客

    没有certutil可以用apt-get install libnss3-tools

  • 每年女朋友生日的时候发一封祝福邮件给她。(由于上一条失败所以失败)

    crontab -e
    #打开后在文件尾添加
    59 23 31 1 * mail -s "邮件主题" 收件地址 < 本地正文文件.txt

    理论上是这样的,可惜配了两天mail还是失败,发邮件双方都没有任何反馈,只能暂时放弃了。

  • 理解管道(Pipe):参考上面的参考博客。

    管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式将前面每一个进程的输出(stout)直接作为下一个进程的输入(stdin)。

    管道命令使用|作为界定符号。

  • 2>&1是什么意思?&1是文件描述符1,1表示标准输出,2表示标准错误。2>&1表示将标准错误重定向到标准输出

一些图片

Linux相关

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第1张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第2张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第3张图片

vi基础学习

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第4张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第5张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第6张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第7张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第8张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第9张图片

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第10张图片

正则表达式

2019-2020-1 20181218《Linux内核原理与分析》第一周作业_第11张图片

相关学习

正则表达式基础学习

注意正则表达式的语法与通配符不同。

  • 语法

    字符 描述
    \ 将下一个字符标记为一个特殊字符或一个原义字符
    ^ 匹配输入字符串的开始位置
    $ 匹配输入字符串的结束位置
    {n} 匹配确定的n次(n是非负整数)
    {n,} 至少匹配n次(n是非负整数)
    {n,m} 最少匹配n次且最多匹配m次(n<=m,都是非负整数)
    * 匹配前面的子表达式任意次(包括0);等价于{0,}
    + 匹配前面的子表达式至少1次;等价于{1,}
    ? 匹配前面的子表达式0次或1次;等价于{0,1}
    ? 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n},{n,m})后面时,匹配模式为非贪婪。eg.对于字符串"oooo","o+?"将匹配单个"o",而"o+"将匹配所有"o"
    . 匹配除"\n"之外的任何单个字符。如果要匹配包括"\n"在内的任何字符,可使用“(.|\n)”
    (pattern) 匹配pattern并获取这一匹配的子字符串。该子字符串用于向后引用。如果要匹配圆括号字符,可使用“\(”和“\)”
    x|y 匹配x或y
    [xyz] 匹配所包含的任意一个字符。连字符-如果出现在字符串中间表示字符范围描述;如果出现在首位则紧作为普通字符
    [^xyz] 排除包含的字符,匹配未列出的任意字符
  • 优先级

    从上到下从左到右,由高到低:

    运算符 说明
    \ 转义符
    (),(?:),(?=),[] 括号和中括号
    *、+、?、{n}、{n,}、{n,m} 限定符
    ^、$、\任何元字符 定位点和序列
    | 选择
  • 特殊符号

    特殊符号 说明
    [:alnum:] 英文字母和数字
    [:alpha:] 英文字母
    [:blank:] 空白键和Tab
    [:cntrl:] 键盘上的控制按键,CR、LF、Tab、Del等等
    [:digit:] 数字
    [:graph:] 除了空白键和Tab之外的所有按键
    [:lower:] 小写英文字母
    [:print:] 任何可以被列印出来的字符
    [:punct:] 标点符号
    [:upper:] 大写英文字母
    [:space:] 任何会产生空白的字符,空白键、Tab、CR等等
    [:xdigit:] 16进位的数字类型,0-9、A-F、a-f

    如果只使用[a-z],对于不同语系有时可能不管用,而用[:lower:]就不会出现问题

你可能感兴趣的:(2019-2020-1 20181218《Linux内核原理与分析》第一周作业)