20155333 作业三
虚拟机安装与Linux基础入门学习
学习基于VirtualBox虚拟机安装Ubuntu图文教程在自己的笔记本上安装Linux操作系统
在老师布置这次作业之前,我对虚拟机一无所知,在开始安装虚拟机之前才百度了什么是虚拟机,算是对虚拟机有了一点点了解。我是按照老师给的安装教程做的,安装过程中出现了两次问题。
第一次是在安装增强功能时出现错误,如图:
我通过百度解决了该问题。
第二次是开机时出现错误,如图:
虽然百度到了不少解决办法,但都没用,不得已只能重新安装虚拟机,但在第二天开机时又出现了同样的问题,再次重新安装了虚拟机,好在这之后没有再出现问题。
通过实践学习别出心裁的Linux命令学习法掌握Linux命令的学习方法
老师把操作系统按功能比喻为管家婆和服务生:
•管家婆:通过进程、虚拟内存和文件三个重要抽象管理计算机的CPU、内存、I/O设备。
•服务生:为用户提供shell,为程序员提供系统调用。
与熟悉的的Windows操作系统相同,Linux也是一种操作系统。如果使用GUI,Linux系统和Windows操作系统的使用没有什么大的区别,用鼠标可以解决大部分问题。Linux学习应用的一个特点是通过命令行进行使用,命令行的好处主要是可以批处理并自动化,还有些功能GUI无法完成。
那么多命令先学什么,后学什么是一个大问题,别出心裁的Linux命令学习方法即通过解决“Where”的问题,通过几个核心命令的学习,举一反三,通过实践学习其他命令,从而解决Linux命令的“what”问题。
参考上面的学习方法通过实践学习Linux基础入门(新版)课程, 掌握常用的Linux命令,重点是3/4/5/6/7/8节
第一节 Linux简介
Linux的架构如下图:
学习使用Linux,实验楼推荐的学习路径如下:
第二节 基本概念及操作
重要快捷键:
•CTRL+ALT+T:打开终端;
•CTRL+SHIFT+T:新建标签页;
•ALT+数字N:终端中切换到第N个标签页;
•Tab:终端中命令补全,当输入某个命令的开头的一部分后,按下Tab键就可以得到提示或者帮助完成;
•上下键盘:切换命令历史,刚输入一个很长的命令,按上键就可以恢复;
•CTRL+C:中断程序运行。
常用快捷键:
•Ctrl+d:键盘输入结束或退出终端 ;
•Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行 ;
•Ctrl+z:将当前程序放到后台运行,恢复到前台为命令fg ;
•Ctrl+a:将光标移至输入行头,相当于Home键 ;
•Ctrl+e:将光标移至输入行末,相当于End键 ;
•Ctrl+k:删除从光标所在位置到行末 ;
•Alt+Backspace:向前删除一个单词 ;
•Shift+PgUp:将终端显示向上滚动 ;
•Shift+PgDn:将终端显示向下滚动 。
自己尝试了一下可以输出图形字符的命令banner,toilet,figlet,效果如下:
第三节 用户及文件权限管理
添加一个用户loutest,使用sudo创建文件/opt/forloutest,设置成用户loutest可以读写,如图:
第四节 Linux目录结构及文件基本操作
目录路径
使用 cd 命令可以切换目录,在 Linux 里面使用 .表示当前目录,..表示上一级目录, - 表示上一次所在目录,~ 通常表示当前用户的"home"目录。使用 pwd 命令可以获取当前所在路径(绝对路径)。
基本操作
•touch:创建空白文件
•mkdir(make directories):创建一个空目录,也可同时指定创建目录的权限属性(使用-p参数,同时创建父目录(如果不存在该父目录))
•cp(copy):复制一个文件或目录(加-r或-R参数,表示递归复制)到指定目录
•rm(remove files or directories):删除一个文件(可使用-f参数强制删除)或目录(加-r或-R参数)
•mv(move or rename files) 源目录文件 目的目录:移动文件(剪切)
•mv 旧的文件名 新的文件名:重命名文件
•cat,tac和nl:查看文件
•more和less:分页查看文件
•file:查看文件类型
第四节的作业很有趣,效果如下:
第五节 环境变量与文件查找
环境变量
•declare:创建变量
•=赋值符号:为变量赋值
•echo和$符号:读取变量的值
•set:显示当前 Shell 所有环境变量,包括其内建环境变量(与Shell外观等相关),用户自定义变量及导出的环境变量
•env:显示当前 Shell 所有环境变量,包括其内建环境变量(与Shell外观等相关),用户自定义变量及导出的环境变量
•export:显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
变量修改
•${变量名#匹配字串}:从头向后开始匹配,删除符合匹配字串的最短数据
•${变量名##匹配字串}:从头向后开始匹配,删除符合匹配字串的最长数据
•${变量名%匹配字串}:从尾向前开始匹配,删除符合匹配字串的最短数据
•${变量名%%匹配字串}:从尾向前开始匹配,删除符合匹配字串的最长数据
•${变量名/旧的字串/新的字串}:将符合旧字串的第一个字串替换为新的字串
•${变量名//旧的字串/新的字串}:将符合旧字串的全部字串替换为新的字串
•unset:删除一个环境变量
•source:让环境变量立即生效
搜索文件
•whereis简单快速(直接从数据库中查询,只能搜索二进制文件、man帮助文件和源代码文件)
•locate快而全(可用来查找指定目录下的不同文件类型)
•which小而精(通常用来确定是否安装了某个指定的软件)
•find精而细(不但可以通过文件名与文件类型进行查找,还可以根据文件的属性进行搜索)
第五节的作业是“数字雨”,效果如下:
第六节 文件打包与压缩
Linux常见压缩文件
•*.zip:zip程序打包压缩的文件
•*.rar:rar程序压缩的文件
•*.7z:7zip程序压缩的文件
•*.tar:tar程序打包,未压缩的文件
•*.gz:gzip程序(GNU zip)压缩的文件
•*.xz:xz程序压缩的文件
•*.bz2:bzip2程序压缩的文件
•*.tar.gz:tar打包,gzip程序压缩的文件
•*.tar.xz:tar打包,xz程序压缩的文件
•*tar.bz2:tar打包,bzip2程序压缩的文件
•*.tar.7z:tar打包,7z程序压缩的文件
第六节的作业“火炉”也很有趣,效果如下:
第七节 文件系统操作与磁盘管理
第七节我需要更多的时间来学习,不过第七节的作业同样有趣,效果如下:
第八节 Linux下的帮助命令
•type:区分内建命令与外部命令
帮助命令
• help:显示 shell 内建命令的简要帮助信息
•man:显示系统手册页中的内容(得到的内容比用 help 更多更详细)
•info:显示更完整的 GNU 工具信息(得到的信息比 man 还要多)
这次还有一个收获就是学会了如何在有道云笔记Markdown中使用图床地址插入图片,虽然中途出现了一些问题,但还是顺利完成了。
更新
突然发现做作业时使用的图床出问题了,所以改用博客园直接插入图片(须慎重选择免费图床),还要感谢室友教我怎样插入图片。