20189204《Linux内核原理与分析》第一次作业

虽然之前在本科上过Linux课程,但是在本周的Linux初级学习阶段,依然遇到了很多问题

一.学习环境的搭建中的问题

1.VMware workstation 和Ubuntu版本不匹配

由于之前电脑上存在VMware,所以这次就没有用老师推荐的基于VirtualBox安装Ubuntu,不过问题也来了
在我下载最新版Ubuntu即Ubuntu-18.04.1-desktop-amd64并安装到虚拟机上的时候,发现报错 Kernal panic-corrupted stack end detected inside scheduler,大意是在调度器内部检测到了损坏的栈,我以为是        虚 拟机内存分配的不够,于是调整内存为2G,4G,6G,但结果还是这样。于是百度了一下,发现报此类错误原因是低版本的VMware兼容不了高版本的Ubuntu!如果是18.04版本的Ubuntu则要用14.1.2版本的VMware如果是16.04版本的Ubuntu就可以用其他版本的VMware而内存不够报错的提示应该是这样的Kernal panic-Out of memory and no killable processes

2.VMware 中安装VM Tools一直是灰色的问题
这个解决方案没有成功 [这个解决方案成功了](https://blog.csdn.net/qq_20307987/article/details/51302005)

二.Linux学习问题

1.关于文件权限的表示问题

简单概括就是文件有三组权限:属主,属组,其他用户,不同权限可以用加和形式统一表示

2.实验三作业

添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。提示: 如何创建一个文件呢?可以考虑 touch 命令,这个命令可以创建一个空文件。如果不知道 touch 是什么,我们上一课讲到了哦。

3.实验三目录的表示

  • 表示上一次所在目录,~ 通常表示当前用户的 home 目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
    这里特别注意~表示当前用户的home目录,其实是home下的子目录(当前用户)

    此处cd ~之后的目录是/home/shiyanlou

4.实验四关于文件复制

实验楼中降到了学习递归复制文件目录,但是没有告诉我们命令的格式或者说表示的含义,那么我们可以从命令结果倒退出复制文件目录的语法格式 即 cp 被复制文件目录名  新文件目录名,结果如图所示

需要注意的是我在执行cp -r father family 之前是没有mkdir family的  最后的结果是./family/son/grandson   这是与实验楼中的不同的实验,所以结果也不一样。

5.实验四作业

1. 创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。
2. Linux 的日志文件在哪个目录?

Linux 的日志文件存放在/var/log目录中

6.实验五--变量与环境变量

按变量的生存周期来划分,Linux 变量可分为两类:永久的:需要修改配置文件,变量永久生效;临时的:使用 export 命令行声明即可,变量在关闭 shell 时失效。这里介绍两个重要文件 /etc/bashrc(有的 Linux 没有这个文件) 和 /etc/profile ,它们分别存放的是 shell 变量和环境变量。还有要注意区别的是每个用户目录下的一个隐藏文件:.profile 可以用 ls -a 查看
cd /home/shiyanlou
ls -a
这个 .profile 只对当前用户永久生效。而写在 /etc/profile 里面的是对所有用户永久生效,所以如果想要添加一个永久生效的环境变量,只需要打开 /etc/profile,在最后加上你想添加的环境变量就好啦。

7.实验五作业

利用之前学的正则表达式的知识,批量创建了.list文件然后再查找,一定记得locate前先要sudo updatedb

8.实验六之tar打包压缩

tar 原本只是一个打包工具,只是同时还是实现了对 7z、gzip、xz、bzip2 等工具的支持,这些压缩工具本身只能实现对文件或目录(单独压缩目录中的文件)的压缩,没有实现对文件的打包压缩,而tar实现了对文件的打包压缩,且tar的压缩和解压命令相同只是参数不同

-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。你还可以加上 -v 参数以可视的的方式输出打包的文件。上面会自动去掉表示绝对路径的 /,你也可以使用 -P 保留绝对路径符。

zip:
打包 :zip something.zip something (目录请加 -r 参数)
解包:unzip something.zip
指定路径:-d 参数
tar:
打包:tar -cf something.tar something
解包:tar -xf something.tar
指定路径:-C 参数

9.实验六作业



10.实验七

dd默认从标准输入中读取,并写入到标准输出中,但可以用选项if(input file,输入文件)和of(output file,输出文件)改变。bs(block size)用于指定块大小(缺省单位为 Byte,也可为其指定如'K','M','G'等单位),count用于指定块数量。如上图所示,我指定只读取总共 10 个字节的数据,当我输入了“hello shiyanlou”之后加上空格回车总共 16 个字节(一个英文字符占一个字节)内容,显然超过了设定大小。使用du和cat命令看到的写入完成文件实际内容确实只有 10 个字节(那个黑底百分号表示这里没有换行符),而其他的多余输入将被截取并保留在标准输入。

11.实验七作业

找出当前目录下面占用最大的前十个文件,这里要用到多个命令,有du -a 显示大小  sort排序 以及head 显示前十,那么这就需要用管道工具来连接这三个命令,逐步收敛查询数据,结果如下

12.管道工具

管道是什么?管道是一种通信机制,通常用于进程间的通信(也可通过socket进行网络通信),它表现出来的形式就是将前面每一个进程的输出(stdout)直接作为下一个进程的输入(stdin)。
我个人的理解就是,通过不同命令的组合,将查询结果逐渐收敛,而管道就是连接前一个命令的输出与后一个命令的输入的工具

总结

之前在大学的时候学习过linux,对于linux一些常用的基本操作有一些基础。在这次的学习过程中,我丰富了原来的知识,例如:查看用户组不但可用group命令还可以用cat /etc/group来做,这样就既学到了新命令,又了解了linux的常用目录结构,增强了linux相关知识的联系。磁盘的操作、Linux简单文本处理、Linux日志系统等对我来说都是比较陌生的知识,特别是正则表达式基础,学起来比较吃力,以后要多看多用,尝试在熟悉的命令中加入正则表达式,例如使用touch bowen{1..10}.txt这样的命令,这样才能尽快掌握这些知识并学以致用。

转载于:https://www.cnblogs.com/bowendky/p/9781824.html

2018-2019-1 20189204《Linux内核原理与分析》第一周作业相关推荐

  1. Linux内核原理与分析-第二周作业

    写之前回看了一遍秒速五厘米:如果?下落的速度正好 那么13年的长度刚好是地球的最远距离!直径两端 在进行实验楼操作之前,先听授了网易云课堂中孟老师关于"计算机是如何工作的?"的介绍 ...

  2. 2022-2023-1 20222809《Linux内核原理与分析》第一周作业

    Linux内核原理与分析第一周作业 配置环境 1.参考Linux(Ubuntu)系统安装图文教程中第二种借助virtualbox成功配置Ubuntu环境 2.升级更新软件包 可以通过调节分辨率和虚拟机 ...

  3. 2017-2018-1 20179215《Linux内核原理与分析》第二周作业

    20179215<Linux内核原理与分析>第二周作业 这一周主要了解了计算机是如何工作的,包括现在存储程序计算机的工作模型.X86汇编指令包括几种内存地址的寻址方式和push.pop.c ...

  4. 2018-2019-1 20189213《Linux内核原理与分析》第四周作业

    <Linux内核原理与分析>第四周学习总结: 1.课本知识总结: 本章内容并不多,首先是介绍了一些Linux内核源代码的目录结构,并基于Linux内核源代码构造一个简单的操作系统MenuO ...

  5. 实验楼 linux内核原理与分析,《Linux内核原理与分析》第一周作业 20189210

    实验一 Linux系统简介 这一节主要学习了Linux的历史,Linux有关的重要人物以及学习Linux的方法,Linux和Windows的区别.其中学到了LInux中的应用程序大都为开源自由的软件, ...

  6. 20169210《Linux内核原理与分析》课程总结

    每周作业链接汇总 第一周作业:对实验楼<Linux 基础入门(新版)>课程的学习,其中有用户及文件权限管理.Linux 目录结构及文件基本操作.环境变量与文件查找.文件打包与解压缩等共17 ...

  7. 2018-2019-1 20189204《Linux内核原理与分析》第三周作业

    OS是如何工作的 学习任务: 阅读学习教材「庖丁解牛Linux 」第2章 学习蓝墨云班课中第三周视频「操作系统是如何工作的?」,并完成实验楼上配套实验二. 云班课学习笔记: 计算机三大法宝 程序存储计 ...

  8. 《Linux内核原理与分析》第二周作业

    反汇编一个简单的C程序 1.实验要求 使用: gcc –S –o test.s test.c -m32 命令编译成汇编代码,对汇编代码进行分析总结.其中test.c的具体内容如下: int g(int ...

  9. 2018-2019-1 20189206 《Linux内核原理与分析》第六周作业

    linux内核分析学习笔记 --第五章 系统调用的三层机制 学习重点--深入理解系统调用的过程 给MenuOS添加命令 添加命令的方式较为简单,在LinuxKernel/menu/test.c目录下, ...

  10. 20169210《Linux内核原理与分析》第十一周作业

    第17章 设备与模块 关于设备驱动和设备管理,讨论四种内核成分. 设备类型:在所有的linux系统中为了统一普遍设备的操作所分的类. 模块:Linux内核中用于按需加载和卸载目标码的机制. 内核对象: ...

最新文章

  1. python关键字as_python 之 import、from、as 关键字的 白话 解释与例子
  2. python绘制分组条形图_python中分组值的条形图
  3. Elastic:为 Elasticsearch 启动 https 访问使数据访问更安全
  4. 获取某个周在本年的开始日期和结束日期
  5. AngularJS 使用 Promise
  6. Linux学习笔记---使用BusyBox创建根文件系统(一)
  7. 集合的常用方法(增加、删除、并集、交集、差集、对等差分、超集和子集)
  8. [转]ExtJs中可用的xtype
  9. SSD 超详细入门(代码+原文)
  10. codematic2连接mysql失败_动软代码生成器Codematic
  11. VB.NET实现文件上传下载
  12. c语言实验作业感想,c语言程序报告实验总结(共10篇).docx
  13. unity 物体移动方式的一些笔记
  14. Win10系统下基于Docker构建Appium容器连接Android模拟器Genymotion完成移动端Python自动化测试
  15. python中__init__.py的用法,执行指定的多个.py文件生成报告。简单粗暴1
  16. 国内人资企业三大竞争主体
  17. 抖音多账号零粉直播工具源码实现无人直播
  18. 蓝牙设备通过手机空中升级固件步骤
  19. Pytorch提取预训练模型特定中间层的输出
  20. 数据指标体系之战略指标

热门文章

  1. HCIE Security 防火墙转发流程及相关知识点 备考笔记(幕布)
  2. ELK详解(九)——Logstash多日志收集实战
  3. 一文看懂PPPoE协议——PPPoE协议简介
  4. 使用Epoch-Based Reclamation(EBR,特定域回收的一种方法)修改 lazy-list
  5. C++ 练习题(二)计算机存储和数字系统介绍
  6. Leetcode 刷题笔记(十一) —— 栈与队列篇之 top-K 问题
  7. NYOJ--6--喷水装置(一)
  8. HDOJ--1728--逃离迷宫(广搜)
  9. rabbitmqBat常用指令
  10. html5 canvas类库 实例