配置Linux——安装VMware Workstation Pro和Ubuntu
一、下载并安装VMware
利用CSDN中已经存在的博客学习并下载安装VMware软件和Ubuntu操作系统
https://blog.csdn.net/qq_45385706/article/details/124077207?spm=1001.2014.3001.5501
二、下载过程遇到的问题
遇到的问题:在下载Ubuntu时曾遇到如下图“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”的错误
上图显示的提示信息为:
此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态。
如果已在 BIOS/固件设置中禁用 Intel VT-x,或主机自更改此设置后从未重新启动,则 Intel VT-x 可能被禁用。
(1) 确认 BIOS/固件设置中启用了 Intel VT-x 并禁用了“可信执行”。
(2) 如果这两项 BIOS/固件设置有一项已更改,请重新启动主机。
(3) 如果您在安装 VMware Workstation 之后从未重新启动主机,请重新启动。
(4) 将主机的 BIOS/固件更新至最新版本。
解决的方法:
看上面的提示一开始我并未了解如何解决,直到在CSDN中查找到存在的资料
https://blog.csdn.net/s_sos0/article/details/125436697
最后通过重启电脑时进入BIOS设置界面,直接修改BIOS设置即可
Linux基础入门课程学习
实验一 Linux系统介绍
1.1 Linux是什么
Linux是一个什么东西?通过在实验楼的课程学习,不难发现,Linux 就是一个操作系统,就像你多少已经了解的 Windows(xp,7,8)和 Mac OS 。简单介绍一下操作系统在整个计算机系统中的角色。
我们的 Linux 主要是系统调用和内核那两层。当然直观地看,我们使用的操作系统还包含一些在其上运行的应用程序,比如文本编辑器、浏览器、电子邮件等
1.2 明确Linux学习的目标
学习Linux首先要明确我们学习的目标,尤其是自己基础不太好的情况下
明确目的:你是要用 Linux 来干什么,搭建服务器、做程序开发、日常办公,还是娱乐游戏;
面对现实:Linux 大都在命令行下操作,能否接受不用或少用图形界面;
实验二 Linux基本操作与概念
2.1 Shell
通常在图形界面中对实际体验带来差异的不是上述的不同发行版的各种终端模拟器,而是这个 Shell(壳)。有壳就有核,这里的核就是指 UNIX/Linux 内核,Shell 是指“提供给使用者使用界面”的软件(命令解析器),类似于 DOS 下的 command(命令行)和后来的 cmd.exe 。普通意义上的 Shell 就是可以接受用户输入命令的程序。它之所以被称作 Shell 是因为它隐藏了操作系统底层的细节。同样的 UNIX/Linux 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。
UNIX/Linux 操作系统下的 Shell 既是用户交互的界面,也是控制系统的脚本语言。当然这一点也有别于 Windows 下的命令行,虽然该命令行也提供了很简单的控制语句。在 Windows 操作系统下,有些用户从来都不会直接使用 Shell,然而在 UNIX 系列操作系统下,Shell 仍然是控制系统启动、X11 启动和很多其它实用工具的脚本解释程序。
在 UNIX/Linux 中比较流行的常见的 Shell 有 bash、zsh、ksh、csh 等等,Ubuntu 终端默认使用的是 bash
2.2 基础命令行操作
1 一些常用快捷键
按键 | 作用 |
---|---|
Ctrl+d | 键盘输入结束或退出终端 |
Ctrl+s | 暂停当前程序,暂停后按下任意键恢复运行 |
Ctrl+z | 将当前程序放到后台运行,恢复到前台为命令fg |
Ctrl+a | 将光标移至输入行头,相当于Home键 |
Ctrl+e | 将光标移至输入行末,相当于End键 |
Ctrl+k | 删除光标所在位置到行末 |
Alt+Backspace | 向前删除一个单词 |
Shift+PgUp | 将终端显示向上滚动 |
Shift+PgDn | 将终端显示向下滚动 |
2 Shell 常用通配符
字符 | 含义 |
---|---|
* | 匹配0或多个字符 |
? | 匹配任意一个字符 |
[list] | 匹配list中任意单一字符 |
[^list] | 匹配除list中的任意单一字符以外的字符 |
[c1-c2] | 匹配c1-c2中的任意单一字符 如:[0-9][a-z] |
{string1,string2,…} | 匹配string1或string2(或更多)其一字符串 |
{c1…c2} | 匹配c1-c2中全部字符 如{1…10} |
2.3 作业
在实验结束部分有一个有趣的 Linux 命令,一个可以输出图形字符的命令banner,先使用如下命令安装
sudo apt-get update
sudo apt-get install sysvbanner
然后
banner shiyanlou
最后可得到
实验三 Linux用户及文件权限管理
Linux 是一个可以实现多用户登录的操作系统,比如“李雷”和“韩梅梅”都可以同时登录同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的 用户管理 和 权限机制,不同用户不可以轻易地查看、修改彼此的文件
3.1 Linux用户管理
1 查看用户
打开终端,输入命令:
在某些环境中 who am i 和 who mom likes 命令不会输出任何内容,这是因为当前使用的 SHELL 不是登录时的 SHELL,没有用户与 who 的 stdin 相关联,因此不会输出任何内容
2 创建用户
root 账户拥有整个系统至高无上的权限,比如新建和添加用户。获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。
要创建用户需要 root 权限,这里就要用到 sudo 这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在 sudo 用户组。shiyanlou 用户也属于 sudo 用户组(稍后会介绍如何查看和添加用户组)。
现在我们新建一个叫 why 的用户:
然后,再输入命令
ls /home
不但可以添加用户到系统,同时也会默认为新用户在 /home 目录下创建一个工作目录,之后用如下命令切换登录用户:
su -l why
输入刚刚设置的why的密码,然后输入如下命令并查看输出:
who am i
whoami
pwd
最后得到如下结果:
3 用户组
在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源
- 使用 groups 命令
其中冒号之前表示用户,后面表示该用户所属的用户组。这里可以看到 shiyanlou 用户属于 shiyanlou 用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组 - 查看 /etc/group 文件
/etc/group 的内容包括用户组(Group)、用户组口令、GID(组 ID) 及该用户组所包含的用户(User),每个用户组一条记录 - 删除用户和用户组
删除用户是很简单的事,使用 --remove-home 参数在删除用户时候会一并将该用户的工作目录一并删除。如果不使用那么系统会自动在 /home 目录为该用户保留工作目录。
3.2 Linux用户管理
文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。
Unix/Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux 系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。
1 查看文件权限
一个目录同时具有读权限和执行权限才可以打开并查看内部文件,而一个目录要有写权限才允许在其中创建其它文件
2 变更文件所有者
现在查看,发现文件所有者成功修改为 shiyanlou
3 修改文件权限
每个文件有三组固定的权限,分别对应拥有者,所属用户组,其他用户,记住这个顺序是固定的。g、o 还有 u 分别表示 group(用户组)、others(其他用户) 和 user(用户),+ 和 - 分别表示增加和去掉相应的权限
4 adduser 和 useradd 的区别是什么
useradd 只创建用户,不会创建用户密码和工作目录,创建完了需要使用 passwd 去设置新用户的密码。adduser 在创建用户的同时,会创建工作目录和密码(提示你设置),做这一系列的操作。其实 useradd、userdel 这类操作更像是一种命令,执行完了就返回。而 adduser 更像是一种程序,需要你输入、确定等一系列操作
总结
问题一
修改权限时未注意切换用户的问题,实际上lilei依然具备权限,许多操作无意义
解决办法:先使用lilei创建iphone11文件,使用Ctrl+d切换回shiyanlou,修改文件所有者,写入内容,修改读写权限,再登录lilei,尝试查看iphone11,无法查看,修改成功
问题二
初学Linux系统,对Linux中的许多指令代码都比较模糊,对其操作比较生疏,VMware和虚拟机Ubuntu的使用陌生
解决办法:接下来的学习中要多加练习,尽快熟悉Linux系统,完成课程学习任务