20165228 预备作业3 Linux安装及学习

(一)安装虚拟机

根据娄老师给的Ubuntu版本和安装教程,我曾遇到如下问题:

Q1:首先遇到的问题是没有开启虚拟化

  • 解决方法:在重启电脑时进入BIOS>Configuratio > Intel Virtual Technology > Enabled;然后按F10保存BIOS设置并重启
    Q2:可能是我的电脑兼容性不太好,安装娄老师给的Ubuntu版本安装后重启提示intel_rapl:no valid rapl domains found in packge0,启动后出现提示错误的窗口并且一直闪
  • 解决方法:通过搜索提示内容,我没能解决这个问题。通过尝试在Ubuntu官网下载Ubuntu16.04.3版本然后重新安装后可以正常运行
    (二)学习Linux

以下是我在学习Linux命令使用时的记录

  • 实验一 Linux系统简介
    在这一节中让我印象深刻的是Linux系统与Windows系统之间的不同
    开源与封闭
    应用丰富程度
    上手难易度
    用途
    稳定性与安全性
    Windows的应用生态圈更加广阔,并且上手容易,并且对于游戏娱乐和专业软件的支持等有着绝对的优势。
    Linux作为一个开源的系统,由于免费,所以软件支持相对逊色一些,但它的稳定性和安全性是Windows不能比拟的,因此很多处理数据的服务器都是运着Linux系统,同时它的高度定制性也是一大优点,我们常用的Android就是以Linux为内核的操作系统。
  • 实验二基本概念和操作
    重要的快捷键:
    Tab:补全命令、目录和参数
    Ctrl+d:键盘输入结束或退出终端
    Ctrl+s:暂停当前程序,暂停后按下任意键恢复运行
    Ctrl+z:将当前程序放到后台运行,恢复到前台为命令fg
    Ctrl+a:将光标移至输入行头,相当于Home键
    Ctrl+e:将光标移至输入行末,相当于End键
    Ctrl+k:删除从光标所在位置到行末
    Alt+Backspace: 向前删除一个单词
    Shift+PgUp: 将终端显示向上滚动
    Shift+PgDn: 将终端显示向下滚动
    方向上键:恢复曾经输出过的命令
    通配符:主要有星号(*)和问号(?),可通过不全的文件名来找出该文件。类似于Windows里的搜索功能,将拥有相同部分文件名的文件筛选出来
    命令行中获取帮助:
$ man  < command_name>
$ man 数字 ls来获取相关区段的说明

创建一个名为 file 的文件:

$ touch file

进入一个目录:

$ cd /etc/

查看当前所在目录:

$ pwd

作业:

$ sudo apt-get update
$ sudo apt-get install toilet
$ sudo apt-get update
$ sudo apt-get install figlet

  • 实验三用户及文件权限管理
    查看用户:
$ who am i 或 who mom likes

Q3:为什么who am i输成whoami依然有效2️⃣,who mom likes去掉空格后无法识别命令

创建用户:

$ su <user>

查看 /etc/group 文件

$ cat /etc/group | sort

修改文件权限:r(读)w(写)x(执行)对应三位二进制数,可使用chmod xxx file来对文件名为file的三组权限(拥有者,所属用户组,其他用户)进行权限分配。
作业
首先创建用户loutest:

$ sudo adduser loutest

然后将loutest用户添加进sudo用户组:

sudo usermod -G sudo loutest

定位到/opt/目录之下:

$ cd /opt/

创建文件forloutest:

$ sudo touch forloutest

验证文件是否创建成功:

$ ls -l

修改权限:

$ sudo chmod 764 forloutest

以此来对文件拥有者赋予其读、写与执行权限,与拥有者同用户组的loutest赋予其读写权限,赋予其他用户只读权限。
Q4:我在敲命令的时候总会漏掉sudo,然后导致命令无法完成。所以是否要养成在命令前加sudo权限的习惯?

  • 实验四Linux目录结构及文件基本操作
    进入上一级目录:
$ cd ..

进入home目录:

$ cd ~

获取当前路径:

$ pwd

新建名为mydir目录:

$ mkdir mydir

复制文件名为File的文件到/opt/:

$ cp file /home/shiyanlou

删除文件:

$ rm file

强制删除:

$ rm -f file

移动文件:mv 源目录文件 目的目录
重命名文件:mv 旧的文件名 新的文件名
查看文件:cat(正序打印)、tac(倒序打印到输出)、nl(添加行号打印)、head(查看头几行)、 tail(查看尾几行)
作业:
创建homework目录:

$ mkdir homework

验证是否创建成功:

$ ls -l

在目录下建立文件:

$ cd homework
$ touch {1..10}.txt

验证:

$ ls -l

在目录下删除文件:

$ rm {1..5}.txt

验证:

$ ls -l

linux的日志文件保存在/var/log目录之下

  • 实验五:环境变量与文件查找
    变量名:英文字母、数字、下划线,不能由数字开头
    创建一个名为a的变量:
$ declare a

赋值名为a的变量:

a=shiyanlou

读取名为a的变量的值:

$ echo $a

私有用户自定义变量:只在当前shell中有效
变量修改:
${变量名#匹配字串}:从头向后开始匹配,删除符合匹配字串的最短数据
${变量名##匹配字串}:从头向后开始匹配,删除符合匹配字串的最长数据
${变量名%匹配字串}:从尾向前开始匹配,删除符合匹配字串的最短数据
${变量名%%匹配字串} :从尾向前开始匹配,删除符合匹配字串的最长数据
${变量名/旧的字串/新的字串}:将符合旧字串的第一个字串替换为新的字串
${变量名//旧的字串/新的字串}:将符合旧字串的全部字串替换为新的字串
删除名为a的变量:

$ unset a

搜索文件:
1.whereis 简单快速
查找以a开头的文件:

$ whereis a

2.locate 快而全
查找指定目录以a开头的文件:

$ locate /etc/a

查找指定目录下指定类型jpg的文件:

$ locate /etc/*.jpg

3.find 精而细
可以通过文件类型、文件名和文件属性进行查找
基本命令格式:

$ find [path] [option] [action] 

作业
找出 /etc/ 目录下的所有以 .list 结尾的文件

locate /etc/*.list

  • 实验六文件打包和解压缩
    参数:
    -r参数表示递归打包包含子目录的全部内容
    -q参数表示为安静模式,即不向屏幕输出信息
    -o表示输出文件,需在其后紧跟打包输出文件名
    -e表示创建加密压缩包
    zip解压:
    将压缩包解压在当前目录:
$ unzip shiyanlou.zip

使用安静模式,将文件解压到指定目录:

$ unzip -q shiyanlou.zip -d ziptest

不通过解压查看压缩包内容:

$ unzip -q shiyanlou.zip -d ziptest

zip:
打包 :(目录请加 -r 参数)

$ zip something.zip something

解包:

$ unzip something.zip

指定路径:-d 参数
tar:
打包:

$ tar -zcvf something.tar something

解包:

$ tar -zxvf something.tar

指定路径:-C 参数
作业
创建名为test的文件:

$ sudo touch test

使用zip压缩该文件:

$ zip -r -1 -o test.zip test

解压该文件到指定目录:

$ unzip -q test.zip -d /home/shiyanlou

使用tar压缩该文件:

$ tar -cf test.tar test

解压该文件到指定目录:

$ tar -xf test.tar -C /home/shiyanlou
  • 实验七文件系统操作与磁盘管理
    查看磁盘容量:
$ df

查看目录容量:

$ du

作业

$ du -a | sort -n -r | head -n 10

实验八Linux下的帮助命令
内建命令:Shell程序的一部分,包含一些简单的Linux系统命令,随系统启动而加载并存在于内存中。解析内部命令Shell不需要创建子程序,执行速度比外部命令速度快。比如:history、cd、exit 等等
外部命令:Linux系统中实用程序部分,功能强大且包含的程序量大,需要时才启动,不包含在Shell程序中,但命令执行过程是由Shell程序控制。比如:ls、vi
区分命令种类:type

原文地址:https://www.cnblogs.com/cloud795/p/8457836.html