学习准备
虚拟机实现相同的试验环境,得出与老师一样的试验结果。
注意:虚拟软件完成后千万不要直接安装Linux系统。这里一定选择稍后安装操作系统
虚拟机配置
磁盘:20G
内存:2G
处理:1个,2核。
勾选:虚拟化intel VT-x/EPT 或AMD-V/RVI(V)
虚拟化CPU性能计数器(U)
网络:仅主机模式(与主机共享的专用网络)
显示器:勾选:加速3D图形,图形内存768M
移除:USB控制器、声卡、打印机
安装虚拟机时主要配置下图中的参数
Date&Time
在地图中直接选择上海
KEYBOAD US
English(US)
Language support
English(United States)
INSTALLATION SOURCE
Local media
SOFTWARE SELECTION
Server with Gui (必选,图形化服务器)
NETWORK&HOSTNAME
hostname:linuxprobe 这个主机名称要一致。
安装过程中可以设置用户和管理员。
管理员:root
普通用户:linuxprobe
重启(reboot)后的设置
进入LOCALIZATION 选择“I accept the license agreement"----“Done”
进入FINISH CONFIGURATION取消Enable kdump—暂时不调试内核
下一步:No, I prefer to register at a later time
暂不注册,并不影响使用。
再一次重启reboot后进入欢迎界面,选择语言为English-US
如果想登录root账户,需要点击用户名下方的 Not listed
我的安装效果图
上图是我在Deepin中用应用商店里的VM软件虚拟安装的RHEL7配置方法与刘老师讲解的基本一样。
我同时在win7、MacOS13.6、Deepin15.11中都安装了虚拟机,方便学习使用。
正式开始学习
超级手法:重置root密码
1.在终端输入代码,确定系统版本。
[root@localhost Desktop]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
2.重启电脑在引导界面按下e键,进入内核编辑界面,如下图。
3、在linux16这一行的末尾,追加参数rd.break 按下ctrl+X执行修改 后内核
4、进入到系统紧急救援模式。依次输入以下代码:
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit
reboot
图中红箭头是我输入的代码。这里出现一个错误,可能是我设置的密码过于简单重复的原因。提示:The password ia a palindrome这个密码是回文。
reboot后重新进入系统。密码修改成功!Ya!
RPM红帽软件包
RPM有点像Windows系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。使得原先非常烦琐头疼的软件安装问题,变得简单而有效。
格式:RPM ·参数 软件包名称
参数 | 作用 |
---|---|
-ivh | 安装软件包 |
-Uvh | 升级软件包 |
-e | 卸载软件包 |
-qpi | 查询软件描述信息 |
-qpl | 列了软件文件信息 |
-qf | 查询软件属于哪个RPM |
YUM软件仓库
Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。与手机里的应用商店很类似。
格式:YUM 参数 软件包名称
参数 | 作用 |
---|---|
repolist all | 列出所有仓库 |
list all | 列出仓库中所有软件包 |
info | 查看所有软件包信息 |
install 软件包名称 | 安装指定的软件包 |
reinstall 软件包名称 | 重新安装软件包 |
update 软件包名称 | 升级软件包 |
remove 软件包名称 | 移除软件包 |
clean all | 清除软件包缓存 |
check-update | 检查可升级的软件包 |
grouplist | 查看系统中已经安装的软件包组 |
groupinstall 软件包组 | 安装指定的软件包组 |
groupremove 软件包组 | 移除指定的软件包组 |
groupinfo 软件包组 | 查询指定软件包组 |
systemd初始化进程
服务名称 | 命令 |
---|---|
重启服务 | systemctl restart 服务名称 PID值会变 |
启动服务 | systemctl start 服务名称 |
停止服务 | systemctl stop 服务名称 |
加入到启动项 | systemctl enable 服务名称 |
查看服务状态 | systemctl status 服务名称 |
重新加载配置文件 | systemctl reload 服务名称 PID值不变 |
Linux开机过程
BIOS—>Boot loader—>加载内核—>Systemd
Systemd作为Linux系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。
system target(目标名称) | 作用 |
---|---|
runlevel0.target, power off.target | 关机 |
runlevel1.target,rescue.target | 单用户模式 |
runlevel2.target,multi-user.target | 多用户文本界面 |
runlevel3.target,multi-user.target | 多用户文本界面 |
runlevel4.target,multi-user.target | 多用户文本界面 |
runlevel5.target,graphical.target | 多用户的图形界面 |
runlevel6.target,reboot.target | 重启 |
emergency.target | 紧急Shell |
使用修改**/etc/systemd/system/default.target**文件的链接,设置默认的启动模式。
强大好用的SHELL
shell是充当人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。
主流LINUX系统默认的shell终端是bash(Bourme-Again SHell)
优点
1、可以调取历史命令;
2、Tab补全功能;
3、批处理脚本 ;
4、实用的环境变量
常用系统工作命令
命令的格式
命令 参数 对象
中间要有超过一个以上的空格,严格区分大小写。
短格式参数:-字母 -a -l
长格式参数:–单词 --all --list
参数合并的原则:只有短格式参数可以合并,合并后只需要一个减号 -al
{1} echo 输出字符串或提取Shell变量的值
echo ·[参数] [字符串]
{2}date 查看日期时间
date [参数] [+输出格式]
例:date “+%Y-%m-%d”
danzeng@danzeng-PC:~$ date "+%Y-%m-%d"
2020-01-20
例:date “+%H:%M:%S”
danzeng@danzeng-PC:~$ date "+%H:%M:%S"
23:18:28
{3}reboot 重启系统
{4}poweroff 关闭系统
默认只有root管理员才可以关闭电脑
{5}wget 在终端中下载网络文件
wget [参数] [下载地址]
默认下载到当前目录下。
wget http://www.linuxprobe.com/haha.rar
--2020-01-20 23:28:39-- http://www.linuxprobe.com/haha.rar
正在解析主机 www.linuxprobe.com (www.linuxprobe.com)... 222.222.88.16
正在连接 www.linuxprobe.com (www.linuxprobe.com)|222.222.88.16|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://www.linuxprobe.com/haha.rar [跟随至新的 URL]
--2020-01-20 23:28:39-- https://www.linuxprobe.com/haha.rar
正在连接 www.linuxprobe.com (www.linuxprobe.com)|222.222.88.16|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 301 Moved Permanently
位置:https://www.linuxprobe.com/ [跟随至新的 URL]
--2020-01-20 23:28:39-- https://www.linuxprobe.com/
再次使用存在的到 www.linuxprobe.com:443 的连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:未指定 [text/html]
正在保存至: “haha.rar”
haha.rar [ <=> ] 92.62K --.-KB/s 用时 0.1s
2020-01-20 23:28:40 (967 KB/s) - “haha.rar” 已保存 [94843]
{6}ps 查看系统中的时程状态
格式:ps [参数-aux]
R(运行):当前正为用户提供服务的进程
S(中断):正在处于休眠状态,等待服务的进程
D(不可中断):不能被中断的进程
Z(僵死):僵尸进程
T(停止):进程收到停止信号后停止运行
参数 | 作用 |
---|---|
-a | 显示所有进程(包括其他用户的进程) |
-u | 用户以及其他详细信息 |
-x | 显示没有控制终端的进程 |
danzeng@danzeng-PC:~$ ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 165892 10688 ? Ss 22:36 0:02 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 22:36 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I<
下略-----
{7}top命令 动态的监视进程活动与系统负载等信息
当前系统时间,系统已经开机的时间,系统当前终端的数量,
系统的负载情况(load average:)达到5时系统中程序有崩溃的可能,达到1是比较理想的状态。后面的三个数字分别代表1分钟、5分钟、15分钟的负载情况。
280个进程,2个正在运行,220等待运行,0个被停止,0个僵尸(zombie)进程。
CPU的负载%Cpu(s)us使用率,id空闲率
PID是进程的身份号码
PR、NI是指进程的优先级。数值越低级别越高。
%CPU,%MEM,进程对CPU和内存的占用比例。
TIME+ 进程运行时间
{7}pidof命令 查询某个指定进程的PID值。
pid [参数] [服务名称]
{8}kill命令 终止某个指定PID的服务进程
kill [参数][进程PID]
{9}killall命令 用于终止某个指定名称的服务所对应的全部进程
killall [参数][服务名称]