Linux第一周作业

Linux第一周作业:Linux 基础入门(新版)

实验一:Linux系统简介

本实验主要介绍了什么是Linux、Linux历史人物简介、Linux重要人物、Linux与Windows的不同以及如何学习Linux。令我最印象深刻的就是介绍Linux与Windows的不同,我们都习惯于简单的图形界面上手,也就是使用windows系统,应该要去学习去使用Linux系统,多使用命令行,少使用鼠标,Linux系统远比我们想象的要强大的多,正如那句话说的windows能做的Linux都能做,windows不能做的Linux也能做。

实验二:基本概念及操作

本实验主要是对实验楼环境的介绍,对常用shell命令及快捷键和Linux使用小技巧的介绍。
批量建立文件:

一些命令在使用前需要更新和安装:

在使用touch命令创建文件时会出现权限不够的问题,这主要是由于所在目录不对或是用chmod命令修改权限。

实验三:用户及文件权限管理

本实验主要介绍如何在Linux中创建、删除用户及用户组等操作和Linux中一些文件权限设置。
创建用户:

将其它用户加入 sudo 用户组:

删除用户:

变更文件所有者:主要要学会更换用户身份,实现lilei与shiyanlou之间的切换。
作业:


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

首先要清楚Linux目录与windows目录的区别。
移动文件与文件批量重命名:

作业:

  1. 创建一个 homework 目录,建立名为 1.txt~10.txt 文件,并删除 1.txt~5.txt 。

  2. Linux 的日志文件在哪个目录?
    答:Linux日志文件是动态的,所以在/var/log中。

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

与搜索相关的命令常用的有 whereis,which,find 和 locate 。其中whereis简单快速,which小而精,find 精而细和 locate快而全。
作业:找出 /etc/ 目录下的所有以 .list 结尾的文件。

挑战1:寻找文件

有一个非常重要的文件(sources.list)但是你忘了它在哪了,你依稀记得它在/etc/目录下,现在要你把这个文件找出来,然后设置成自己可以访问,但是其他用户并不能访问?

实验六:文件打包与解压缩

本次实验主要介绍 Linux 上常用的压缩/解压工具,讲解 zip,tar 的使用。
zip压缩打包:

tar打包工具的使用:

作业:创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。

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

本实验主要学习df,du,mount命令的使用。
创建虚拟磁盘:

作业:找出当前目录下面占用最大的前十个文件?

实验八:Linux下的帮助命令

本实验主要介绍内建命令与外部命令,以及help , man , info命令的使用和异同。
help命令是用于显示 shell 内建命令的简要帮助信息:

实验九:Linux任务计划crontab

本实验主要学习对crontab的使用,它主要用于设置周期性被执行的指令。

挑战2:备份文件

小明是一个服务器管理员,他需要每天备份论坛数据(这里我们用日志替代),备份当天的日志并删除之前的日志。而且备份之后文件名是年-月-日的格式。alternatives.log在/var/log/下面。

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

本实验主要介绍cut,grep,wc,sort命令的使用以及对管道的理解。
有选择的执行命令:

grep命令与wc命令:

sort命令与uniqu命令:

实验11:简单的文本处理

本实验主要介绍这几个命令tr(注意不是tar),col,join,paste。
tr命令可以用来删除一段文本信息中的某些文字或者将其进行转换(如大小写转换):

col命令与join命令:

作业:在不使用上述两个转换工具的情况下,使用前面学过的命令手动完成 dos 文本格式到 UNIX 文本格式的转换?

实验12:数据流重定向

重定向是指将原本输出到标准输出的数据重定向到一个文件中。

作业:理解下面这段代码的作用,实际这段代码不会正常工作,请结合这一小节的知识分析这段代码没有正确工作的原因,并设法解决这个问题。

从外观上看,这是想把 ls 命令的输出也就是当前目录的文件列表逐行读取出来,然后使用 rm -iv 在获得你许可的情况下删除他们。
假设我们的测试目录下存在名为:1、2、3的三个文件。那么运行这个程序后你会发现,虽然 rm 命令显示了询问是否删除的信息,
但是 rm 完全没有关心你的回答。并且整个程序也没有删除一个文件。
答:那么问题出在哪儿呢?这是因为 rm -iv 偷了 read 的数据!因为 rm -iv 期待用户从标准输入给出一个 y 或 n 的答案以确认是否删除,但标准输入被 < <(ls) 重定向了。
于是 rm -iv 开始在 < <(ls) 里寻找答案。如果找不到 y 或者 n 就一直寻找下去,直到把 < <(ls) 的内容消耗完。这时在下一轮的循环中由于数据没有了, read 读不出数据,程序也就退出了。

挑战3:历史命令

在linux中,对于文本的处理和分析是极为重要的,现在有一个文件叫做data1,

里面记录是一些命令的记录,现在需要你从里面找出出现频率次数前3的命令并保存在/home/shiyanlou/result?

实验13:正则表达式基础

本次实验主要学会sed ,grep ,awk命令的使用以及对正则表达式符号和语法有一定的了解。
grep命令的使用:

扩展正则表达式的使用:

awk操作简单体验:

作业:基于 pattern space 和 hold space 实现将一个文本倒序输出和交换奇数行和偶数行?

挑战4:数据提取

小明在做数据分析的时候需要提取文件中关于数字的部分,同时还要提取用户的邮箱部分,但是有的行不是数组也不是邮箱,现在需要你在data2这个文件中帮助他用正则表达式匹配出数字部分和邮箱部分。
将下载的data2保存在/home/shiyanlou/data2?

实验14:linux下软件安装

本实验主要介绍linux下四种软件安装的方式。
做完此次实验,感觉对dpkg的理解与使用还不够,需要多加练习。

实验15:Linux进程概念

本次实验主要是对Linux中进程与程序的关系进行介绍,以及对进程的衍生的学习。
熟悉系统调用 fork() 与 exec()与父子进程的关系:
子进程就是父进程通过系统调用 fork() 而产生的复制品,fork() 就是把父进程的 PCB 等进程的数据结构信息直接复制过来,只是修改了 PID,所以一模一样,只有在执行 exec() 之后才会不同,而早先的 fork() 比较消耗资源后来进化成 vfork(),效率高了不少。

实验16、17:Linux进程管理与Linux日志系统

实验16主要是要我们掌握一些 Linux 所提供的工具来进行进程的查看与控制。
使用top、ps、pstree来查看一些进程的有关状态:

掌握kill命令的使用以及对控制进程调度的优先级的PR与nice命令有一定的了解。

实验17主要是对Linux日志系统进行介绍,理解产生日志的两种方式,一种是由软件开发商自己来自定义日志格式然后指定输出日志位置;另一种方式是 Linux 提供的日志服务程序,主要是通过 syslog 来实现,提供日志管理服务。并且要熟悉logrotate 日志文件管理工具。

实验小结:

   通过对这17个实验的学习以及四个挑战的锻炼,既有收获,同时也感受到了自己有严重的不足。自己对于Linux的常用命令有了基本掌握,但对有些命令还是特别的生疏,比如:打包zip与tar命令、cut和grep等命令、重定向的知识等。另外,正则表达式也比较难,后面几个有关进程的实验内容比较多,由于时间关系,未能看得过于详细,导致对有关知识也比较生疏,需要后面对此进行多加练习。
   Linux功能强大,只需要运用一个终端就可以完成windows可以做的工作,但由此带来的是上手难度的增大,需要长期认真努力地学习!虽然自己基础不好,但只要努力学肯定能学好,给自己加个油!
原文地址:https://www.cnblogs.com/aiYY/p/9783724.html