第三次作业了。
还得做个解释。之前看到博客园上写作业截止日期“还有一周”,于是我就按照7天算了一下截止日期,算出来的是我从老家回来的前一天,所以这才说我得在年前赶出这篇博客。等到助教发截止的通知的时候,我才注意到原来截止日期是开学的头一天,所以这里再添加内容,重新提交一下!
(一)安装虚拟机
先按照老师的任务安装虚拟机。有指导看着简单,但还是遇到了很多问题——流程内流程外的都有。
Q1:根据老师给的链接安装VirtualBox5.2.7(最新版本)和挂载Ubuntu16.04时总显示“未知理由安装失败”。
问题原因不清楚,只能在非官方渠道下载了一个5.2.6版本的VirtualBox和Ubuntu16.04,不过使用一切正常。
Q2:在点开VituralBox创建虚拟机时发现无法建立Ubuntu-64位操作系统。
未开启CPU虚化,需在Bios下开启CPU虚化。
CPU虚化介绍及操作:链接
安装虚拟机增强功能,看截图时不知道该输入哪些代码。
Q3:在我看到那张截图的时候,我看到了蓝色的代码(后来知道那是目录)和白色的代码(后来才知道那是真正要输入的代码),不知道该输入什么。后来在看到课程里安装banner命令的操作时我才知道只有白色的代码是该输入的。
Q4:在实验楼里安装了banner指令后,我也想在我自己的虚拟机里安装这个命令,但被告知ROOT权限不够。
在网上搜索后,按照这篇文章提供的方法修改ROOT权值。
(二)开始学习
当看到课程列表里的一个命令接着一个命令时,整个人眼睛都快花了——这个Linux这么复杂的吗?
不过,当我看到第一讲《Linux系统简介》中“如何学好Linux”第一点就讲了“摆正学习心态”,讲的三点中让我印象最深的就是第二点:
Linux 大都在命令行下操作,能否接受不用或少用图形界面。
有了这句话,我也算是知道了——没有必要去抱怨Linux的复杂,抱怨什么“Windows多好,就没这么复杂“之类,做好心理准备,安心的学每一条命令吧!
按照课程的顺序一条条学指令,尝试着按照指示做实验,当感觉自己已经可以完成实验的内容的时候,我点开了那个测试——发现自己只是关注了实验的知识点,很多细节都没有注意,还回看了很多次文章加上网上查资料,才完成了那个测试。
最近看了一下那个测试的榜单,有很多人在用时比我少的时候分数还比我高。这也算是给我接下来的Linux学习提了个醒——别只注重实验的点,还有很多文章中的细节,甚至可能还需要去自己查资料拓展才行;还有,学的时候还得多多思考,多多请教,在此呢也希望大家多多帮助我!
最后附上已经完成的几篇作业的报告,以及与已完成报告同进度的命令笔记。
欢迎各位看官评论。内容不当不妥之处欢迎老师及各位看官指正!
附1:已完成的作业报告
实验2
作业
安装toilet,figlet命令
操作
在终端下输入以下命令即可
/安装toilet命令/
sudo apt-get update
sudo apt-get install toilet
/安装figlet命令/
sudo apt-get update
sudo apt-get install figlet
在弹出如下图所示内容后输入Y,即安装完成!
两种命令的显示效果如下
注1
实验楼提供了root权限,而一般自己的Virtualbox虚拟机上进行实验的时候,一般是没有提供root权限的,会出现无法安装的情况。如图:
需要按照这篇文章中的方式修改root权值后方可安装。
注2
banner命令输入不区分大小写,均输出大写字母,只是输入小写字母时输出的大写字母较小,而toilet,figlet命令可以!如图:
实验3
作业
添加一个用户 loutest,使用 sudo 创建文件 /opt/forloutest,设置成用户 loutest 可以读写。截图并把操作过程写入实验报告。
操作
第一步:创建loutest账户
代码
sudo adduser loutest
效果
第二步:将loutest账户加入sudo用户组
代码:
sudo usermod -G sudo loutest
groups loutest/此条为验证/
效果
表示loutest已属于sudo用户组
第三步:创建forloutest文件
代码
cd /opt/
sudo touch forloutest
ls -l/此条为验证/
效果
由图,该目录下确有forloutest,且了解到其目前的权限是User-Groups-Others:6-4-4
第四步:使用chmod命令修改权值
由于loutest与shiyanlou同属sudo用户组,所以将Groups权限修改为rw(即将权值修改为6)即可。
使用命令chmod(由于使用者是root,故之前加sudo)
代码
sudo chmod 664 forloutest
ls -l/此条为验证/
效果
此时forloutest目前的权限是User-Groups-Others:6-6-4,故与其同用户组的loutest已具有读写权限。
实验4
作业1
创建一个homework目录,建立名为1.txt~10.txt 文件,并删除 1.txt~5.txt 。
操作
第一步:创建homework目录
使用mkdir命令
代码
mkdir homework
ll -l/此处为验证/
效果
可见目录已经创建完成!
第二步:建立1.txt~10.txt
使用touch命令及通配符
代码
cd homework
touch {1..10}.txt
ll -l/此处为验证/
效果
可见文件已经创建完成!
第三步:删除1.txt~5.txt
使用rm命令及通配符
代码
rm {1..5}.txt
ll -l/此处为验证/
效果
可见1.txt~5.txt已被删除!
作业2
Linux 的日志文件在哪个目录?
答
从图片中看,是保存在var目录下的。
这篇文章给出了具体的各项日志的各个存储目录。
实验5
作业
找出/etc/目录下的所有以.list结尾的文件
使用locate命令
代码
locate /etc/\*.list
效果
挑战1
介绍
有一个非常重要的文件(sources.list)但是你忘了它在哪了,你依稀记得它在/etc/目录下,现在要你把这个文件找出来,然后设置成自己可以访问,但是其他用户并不能访问。
目标
1.找到sources.list文件
2.把文件所有者改为自己(shiyanlou)
3.把权限修改为仅仅只有自己可读可写
操作
第一步:在/etc/目录下找到sources.list文件
使用find命令
代码:
sudo find /etc/ -name sources.list
效果:
可见该文件在/etc/apt目录下.
第二步:修改所有者
先进入目录,再使用chown命令修改
代码
cd /etc/apt
sudo chown shiyanlou sources.list
ll sources.list/此条为验证/
效果
第三步:修改权限
仅自己可读可写,则权值为600
使用chmod命令
代码
chmod 600 sources.list
ll sources.list/此条为验证/
效果
可见此时权值仅自己为rw.
实验6
作业
创建一个名为 test 的文件,分别用 zip 和 tar 打包成压缩包,再解压到 /home/shiyanlou 目录。
操作
1.用zip命令打包并解压
使用zip命令打包,用unzip命令解压
代码
touch test
zip -r -1 -o test.zip test
unzip -q test.zip -d /home/shiyanlou
2.用tar命令打包并解压
均使用tar命令,配以不同参数
代码:
touch test
tar -cf test.tar test
tar -xf test.tar -C /home/shiyanlou
效果
ll -l/此处为验证/
可见目录下已有test.tar和test.zip
附2:Linux命令笔记
实验2 基本概念及操作
命令1 touch
语法
touch filename
含义
创建一个名为filename的文件
命令2 cd
语法
cd address
含义
进入address目录
命令3 pwd
语法
直接输入
含义
查看当前所在目录
命令4 快捷键(个人常用)
快捷键 | 操作 |
---|---|
Ctrl+C | 终止当前命令,回到操作端 |
Ctrl+D | 结束键盘输入或退出终端 |
命令5 通配符(个人常用)
通配符 | 含义 |
---|---|
* | 匹配任意数量个字符(包括0) |
? | 匹配任意一个字符 |
{c1..c2} | 匹配c1到c2中的所有元素 |
[c1..c2] | 匹配c1到c2中的所有字符 |
实验3 用户及文件权限管理
命令1 su
语法
su username
含义
切换至用户username
命令2 sudo
语法
sudo <command>
含义
以root权限执行命令command
命令3 groups
语法
groups username
含义
查看username所属的用户组
命令4 usermod
语法
sudo usermod -G sudo username
含义
将username加入sudo用户组
命令5 deluser
语法
sudo deluser username --remove-home
含义
删除用户username
命令5 ls
语法
ls -l
含义
ls用来列出并显示当前目录下的文件
ls -l表示以较长格式列出文件
命令6 chown
语法
sudo chown username filename
含义
将文件filename改到用户username下
命令7 chmod
语法
chmod *** filename
含义
将filename的权值修改为***所表示的权值。
实验4 目录结构及文件基本操作
命令1 mkdir
语法1
mkdir directoryname
含义
创建名为directoryname的目录
语法2
mkdir -p father/son/grandson
含义
创建多级目录
命令2 cp
语法1
cp filename directory
含义
将filename文件移动到directory目录下
语法2
cp -r directory1 directory2
含义
将directory1目录下的所有文件与目录复制到directory2目录下
命令3 rm
语法1
rm (-f) filename
含义
(以安静模式)删除文件filename
语法2
rm -r directory
含义
删除目录directory
命令4 mv
语法1
mv filename directpry
含义
将filename移动到directory目录下
语法2
mv filename1 filename2
含义
将filename1重命名为filename2
实验5 环境变量与文件查找
命令1 declare
语法
declare varname
含义
创建变量
命令2 =
含义
用于赋值
命令3 echo
语法
echo $varname
含义
查看varname的值
命令4 where,which,find,locate
含义
搜索文件
命令5 zip
语法
zip -r -q -o filename directory
含义
打包文件filename到directory目录下
命令6 unzip
语法1
unzip filename.zip
含义
将zip压缩包解压到当前目录
语法2
unzip (-q) filename.zip -d directory
含义
(以安静模式)将zip压缩包解压到目录directory下
命令7 tar
语法1
tar -cf filename.tar directory
含义
创建tar文件在directory目录下
语法2
tar -xf filename.tar -C directory
含义
解压filename.tar到指定已知目录directory下