实验一 Linux 系统简介

  • 我在这一课中主要学习了Linux是什么,Linux的产生和发展历史,Linux发展中的重要人物以及Linux和Windows在是否收费、软件与支持、安全性等方面存在的一些区别,对Linux有了一个初步的认识。课程最后介绍了Linux的学习方法,里边有一张图片介绍了Linux的学习路径,我作为Linux的初学者,目前应该做到的是学习计算机概论和硬件相关知识,并学习安装Linux系统、Linux图形界面使用和Linux常用命令。

实验二 基本概念及操作

  • 我在这节课中学习了Linux桌面环境介绍和使用,并且简单的体验了一下Linux的命令行操作,我觉得Linux的命令行操作非常有趣,如果学通了,操作起来将会异常便捷。以下是我在本节课做的一部分实际操作实验。

    操作1、批量建立文件

  • 使用通配符{C1..C2}批量创建文件,效果如下图。

    操作2、输出图形字符命令使用:

  • Banner命令
  • Toilet命令
  • Fight命令

实验三 用户文件权限管理

  • 我在这节课中学习了在Linux中创建、删除用户及用户组等操作,并且学习了Linux中的文件权限设置。以下是我在本节课中做的一部分实际操作实验。

    操作1、创建用户,并使用su和su-命令切换用户。如下图,我创建了账户zihang,并且使用命令切换到了该账户。

    操作2、使用usermod命令变更用户权限

  • 默认情况下我之前创建的账户zihang是不具备root权限的,但是通过usermod命令将其加入sudo用户组后,就可以赋予其root权限。如下图。

    操作3、删除用户

    操作4、变更文件所有者

    如下图所示,将文件所有者由zihang变更为shiyanlou。

    操作5、修改文件权限

  • 通过加减赋值操作修改文件权限。原理是g、o 还有 u 分别表示 group、others 和 user,+ 和 - 分别表示增加和去掉相应的权限。操作如下图,去掉了group、others的读写权限。

    操作6、作业

  • 首先要添加用户loutest
  • 然后登陆loutest账户创建文件,这时发现系统提示权限不够,如下图。
  • 经思考,发现是忘记赋予loutest账户root权限,于是更改loutest账户权限。
  • 下一步,创建文件/opt/forloutest并将其设置成用户loutest可以读写,见下图。

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

  • 我在这节课学习了Linux 的文件组织目录结构、相对路径和绝对路径,以及对文件的移动、复制、重命名、编辑等操作。以下是我在该部分做的一些实际操作实验。

    操作1、使用 -p 参数,同时创建父目录(如果不存在该父目录),创建成功,如下图。


    操作2、使用cp复制目录,此时需要使用-r参数。

    操作3、使用rm删除目录,此时需要使用-r参数。

    操作4、移动文件file1到Documents,并重命名文件。

    操作5、使用rename批量重命名文件

    作业

  • 1.创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt ,如图所示。
  • 2.Linux 的日志文件在哪个目录?
  • Linux的日志文件在/var/log中。

实验五 环境变量与文件查找

  • 我在这节课中学习了环境变量的作用和用法,以及几种搜索文件的方法。以下是我做的部分操作实验。

    操作1、创建变量、给变量赋值和查询变量。

    操作2、创建shell脚本文件,和C语言文件,并执行。

  • 切换到上一级目录shiyanlou之后,发现文件没有找到,执行不了。

    操作3、我们通过改变环境变量就可以在shiyanlou路径下执行上面的文件。需要注意的是,改变环境变量后,在执行文件时,文件前的“./”需要去掉。

    .

    操作4、寻找文件,找出/etc/目录下所有以.list结尾的文件。

  • 本实验的难点是几种查找文件命令的区别和使用,总体来说,whereis简单快速,locate快而全,which小而精,find精而细。

挑战一 寻找文件

  • 此部分为之前几个实验内容的回顾。以下为实验情况。

实验六 文件打包与压缩

  • 我在这节课中主要学习了zip和tar命令的使用。

    操作1、使用zip压缩文件

  • -r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。压缩级别 -[1-9],1 表示最快压缩但体积大,9 表示体积最小但耗时最久。路径必须为绝对路径,-e参数可以创建加密压缩包,-l参数可以将LF转换为CR+LF:

    操作2、使用unzip命令解压缩文件

    操作3、这里有几个重要的参数。-c参数表示创建一个 tar 包文件,-f参数用于指定创建的文件名(注意文件名必须紧跟在 -f 参数之后)。(-x 参数)解压一个文件到指定路径的已存在目录(-C 参数)。

  • 总结几个重要的语句:zip:
    打包 :zip something.zip something (目录请加 -r 参数)
    解包:unzip something.zip
    指定路径:-d 参数
    tar:
    打包:tar -cf something.tar something
    解包:tar -xf something.tar
    指定路径:-C 参数

实验七 文件系统操作与磁盘管理

  • 我在这节课中主要学习了df、du和mount几个主要指令。df命令用来查看磁盘容量。du命令用来查看目录的容量。

    操作1、dd命令用于转换和复制文件。其中bs用于指定块大小,count用于指定块数量。

    操作2、使用dd命令创建虚拟镜像文件,使用mkfs命令格式化磁盘。

    操作3、mount [-o [操作选项]] [-t 文件系统类型] [-w|--rw|--ro] [文件系统源] [挂载点]

实验八 Linux下的帮助命令

  • 我在本节课中学习了内建命令和外建命令,内建命令相当于天生自带的天赋技能,外建命令相当于后天得来的附加技能。

    操作1、使用type 命令来区分是内建命令还是外部命令:

    操作2、学习使用help命令、man函数和info命令。要灵活学习并掌握3个命令的用法。

实验九 Linux任务计划crontab

  • 本节课重点学习 crontab 命令。

    操作、添加一个计划任务。

实验十 命令执行顺序控制与管道

操作1、有选择的执行命令

  • && 表示前一条命令执行成功时才执行后一条命令,|| 表示上一条命令执行失败后才执行下一条命令,这两条命令正好相反。
  • 思考题:我认为||和&&的顺序调整是没有问题的。

    操作2、grep命令小试牛刀


    操作3、学习wc命令的使用

实验十一 简单的文本处理

  • 我在本节简单学习了tr,col,join,paste命令的使用。

    操作1、使用tr命令删除一段文本信息中的某些文字。或者将其进行转换。

    操作2、使用join命令将两个文件中包含相同内容的那一行合并在一起。

    操作3、使用paste将多个文件的数据简单的合并在一起。

实验十二 数据流重定向

  • 我对重定向的理解是将命令标准输出导向另一个文件。

    操作1、重定向操作。

    操作2、重定向和管道

  • 此处要注意区分,管道默认是连接前一个命令的输出到下一个命令的输入,而重定向通常是需要一个文件来建立两个命令的连接。

    操作3、使用tee命令同时重定向到多个文件,它既可以将输出重定向到文件,也可以将信息打印在终端。

    操作4、xargs 是一条 UNIX 和类 UNIX 操作系统的常用命令。它的作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。

实验十三 正则表达式基础

  • 我在这一节中主要学习了grep、sed、和awk这3个命令的使用,以及正则表达式的语法。以下是我的一些操作。

    操作1、使用sed打印指定行

    操作2、awk操作体验

实验十四 linux下软件安装

  • 我在本章学习了软件的安装、更新、卸载等操作,其中apt指令在之前的实验中已经多次使用。使用dpkg安装deb软件包需要解决软件包的依赖关系。

实验十五 linux进程概念

  • 我通过这章学习了进程在系统中存在的概念,以及进程如何在系统中衍生,发展,以及进程之间存在的相互关系。

实验十六 linux进程管理

  • 我在本章学习了linux的进程管理。我们可以通过 top 实时的查看进程的状态,以及系统的一些信息(如 CPU、内存信息等),我们还可以通过 ps 来静态查看当前的进程信息,同时我们还可以使用 pstree 来查看当前活跃进程的树形结构。

实验十七 linux日志系统

  • 我在本章学习了常见日志、配置日志和转储日志的查询方式。

学习总结

  • 作为一位linux初学者,学习本课程让我收获很多,但同时也有很多问题,在学习的过程中我通过查阅资料、与同学讨论得到了解决,我认为学习linux基础最重要的一点就是要去多操作,多练习。这17个实验非常具有系统性,实验结束了,但学习的路还很长。正如娄老师上课时提到的,学习一门程序语言,你如果能坚持每天写几百行代码,写三个月你就能出师了。Linux的学习也正是这样,我必须在以后的学习中不断温习,不断巩固,争取早日把这一阶段学习的课程搞懂、学通,内化为自己的知识。
  • 在本周的学习和写实验报告的过程中,我发现我的学习效果明显提升了,这说明边学习边撰写实验报告的学习方式是有效的。撰写实验报告一方面是对自己学习的记录和总结,另一方面也有利于自己日后不断回顾、温习。

20189203《Linux内核原理与分析》第一周作业的更多相关文章

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

    本科期间,学校开设过linux相关的课程,当时的学习方式主要以课堂听授为主.虽然老师也提供了相关的学习教材跟参考材料,但是整体学下来感觉收获并不是太大,现在回想起来,主要还是由于自己课下没有及时动手实 ...

  2. 2019-2020-1 20199314 <Linux内核原理与分析>第一周作业

    前言 本周对实验楼的Linux基础入门进行了学习,目前学习到实验九完成到挑战二. 学习和实验内容 快速学习了Linux系统的发展历程及其简介,学习了下的变量.用户权限管理.文件打包及压缩.常用命令的和 ...

  3. 2019-2020-1 20199303<Linux内核原理与分析>第二周作业

    2019-2020-1 20199303第二周作业 1.汇编与寄存器的学习 寄存器是中央处理器内的组成部份.寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令.数据和位址.在中央处理器的控制部件中 ...

  4. 20169219 linux内核原理与分析第二周作业

    "linux内核分析"的第一讲主要讲了计算机的体系结构,和各寄存器之间对数据的处理过程. 通用寄存器 AX:累加器 BX:基地址寄存器 CX:计数寄存器 DX:数据寄存器 BP:堆 ...

  5. 2019-2020-1 20199314 <Linux内核原理与分析>第二周作业

    1.基础学习内容 1.1 冯诺依曼体系结构 计算机由控制器.运算器.存储器.输入设备.输出设备五部分组成. 1.1.1 冯诺依曼计算机特点 (1)采用存储程序方式,指令和数据不加区别混合存储在同一个存 ...

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

    写之前回看了一遍秒速五厘米:如果

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

    Linux内核原理与分析 - 第一周作业 实验1 Linux系统简介 Linux历史 1991 年 10 月,Linus Torvalds想在自己的电脑上运行UNIX,可是 UNIX 的商业版本非常昂 ...

  8. 2020-2021-1 20209307 《Linux内核原理与分析》第九周作业

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)> 这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第九周作业> 这个作业的目标 & ...

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

    <Linux内核原理与分析>第二周作业 这一周学习了MOOCLinux内核分析的第一讲,计算机是如何工作的?由于本科对相关知识的不熟悉,所以感觉有的知识理解起来了有一定的难度,不过多查查资 ...

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

    <Linux内核原理与分析>第二周作业 本周作业分为两部分:第一部分为观看学习视频并完成实验楼实验一:第二部分为看<Linux内核设计与实现>1.2.18章并安装配置内核. 第 ...

随机推荐

  1. PCL_common模块api代码解析

    pcl_common库包含大多数PCL库使用的公共数据结构和方法.核心数据结构包括PointCloud类和许多用于表示点.表面法线.RGB颜色值.特征描述符等的点类型.它还包含许多用于计算距离/范数. ...

  2. npm安装package.json中的模块依赖

    npm 一键安装 package.json里的依赖时有2种情况: 1.package.json不存在时 运行命令: npm init可自动创建package.json文件 2.package.json ...

  3. Linux 下MQ的安装和配置亲测

    开篇之前奉上几条黄金链接: MQ参考文档 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0m0/index.jsp?topic=%2Fcom.ib ...

  4. VS的ASP.NET项目中cshtml关键词出错 红线,当前上下文中不存在名称

    [参考]VS的ASP.NET项目中cshtml突然出错,当前上下文中不存在名称“ViewBag” 原因:web.config 配置错误 这种情况是因为两个web.config文件版本不匹配,需要进行修 ...

  5. Golang 笔记 4 defer、error、panic

    一.defer语句 defer语句仅能被放置在函数或方法中.它由关键字defer和一个调用表达式组成.这里的表达式所表示的既不能是对Go语言内建函数的调用也不能是对Go语言标准库代码包unsafe中的 ...

  6. [转] 又踩到了crontab的老坑,特意记录下。

    http://xiachaofeng.iteye.com/blog/1405184 今天遇见一个问题,crontab的定时任务不能自动执行,但是手动执行脚本一直能成功.查到最后,发现是脚本里用了系统的 ...

  7. 记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora

    一.前言 昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统. 于是,开始了一个比较曲 ...

  8. 管理菜单 结贴回复 来自 202.112.36.253 的回复: TTL 传输中过期

    发表于 2010-08-26 18:29:14 楼主 其实标题是我执行如下命令时的输出:C:\Users\ChenWeiguang>ping 218.198.81.190 正在 Ping 218 ...

  9. springboot的工作原理之配置文件的加载

    有一个非常底层的类SpringFactoriesLoader,顾名思义,就是加载工厂的类,没有办法,spring中工厂太多了,加载工厂类也需要一个类,参考博文: https://blog.csdn.n ...

  10. Grunt jshint Warning: Path must be a string . Received null Use

    用grunt监视文件,出现'Warning: Path must be a string . Received null Use --force to continue 原因是没有设置reporter ...