linux的学习第二天

1.vmware的功能:
快照

创建快照:

**拍摄此虚拟机的快照:**记录保存虚拟机的当前状态,如果系统出现故障,可以通过快照还原(错删系统时可以找到快照的系统状态,然后恢复系统)

恢复快照:通过该按钮恢复快照

管理快照:可以删除和添加快照

网络问题

当主机ping不通虚拟机时可以尝试一下方法

编辑->虚拟网路编辑器:如果网络出现问题,可以点击"还原默认模式"即可重置网路(VMnet0:网络桥接模式;VMnet1:仅主机模式VMnet8:NAT模式)

2.远程连接工具MobaXterm

使用

(1)选择session选项

(2)选择你需要的功能

(3)远程登录服务的操作介绍

Remode Host:写你虚拟机的ip地址;Specify username:写需要的入的账号名

输入密码(弹出框后点击yes即可)

3.命令
命令的格式
复制代码
#格式:
命令名 选项 参数#(命令、选项、参数之间用空格隔开)
​
#选项:决定命令的执行方式(通常是:-x --xxx(单词名))
​
#参数:决定命令的执行目标(可能是一个文件、文件夹、账号等需要修改的目标)
#命令:按tab键进行命令的补全,文件夹名也可以补全(按两下tab键:列出所有该字母开头的命令)

备注:

选项:命令的某个功能,可以同时写多个选项,选项和选项之间用空格隔开

参数:该命令对网卡、文件、用户、磁盘等生效

ifconfig:获取虚拟机的ip地址(获取本机地址)

Ctrl+l(L):清空屏幕(清空写过的代码)

命令提示符
复制代码
#命令提示符:[用户名@主机名 当前的工作目录]提示符,~代表当前用户的家目录
​
最高权限管理员:
[root@localhost ~]#
#root用户的家目录路径:/root
​
普通用户:
[xiaoming@localhost ~]$
#xiaoming用户的家目录路径为:/home/xiaoming
​
备注:
命令提示符 [root@localhost~]#
​
root:当前登录的用户
​
@:账户和主机名的分隔符
​
localhost:主机名称
​
~:当前所在的工作目录,~表示用户家目录(/root;/home/xxxx)
​
#:表示当前是超级管理员 $:表示当前是普通用户
一些基础命令
远程登录

命令:ssh 账户@ip地址

复制代码
C:\Users\xiafe>ssh root@192.168.142.132(#"ssh 账户名@ip地址")
The authenticity of host '192.168.142.132 (192.168.142.132)' can't be established.
ED25519 key fingerprint is SHA256:SZJkOGY8qRYn3yXuWZXzxT/pDURHyNAMt8Pb7NPUb/Q.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes (#输入yes 保存指纹信息)
Warning: Permanently added '192.168.142.132' (ED25519) to the list of known hosts.
root@192.168.142.132's password:(# 输入root账户密码登录 这里看不到输入内容)
Activate the web console with: systemctl enable --now cockpit.socket
​
Register this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Mon Oct 14 13:01:43 2024
[root@localhost ~]# exit(# 退出远程登录)
logout
Connection to 192.168.142.132 closed.
帮助相关
复制代码
1)man 用来查看命令的使用方法
​
格式:man 命令名称(即可获取命令使用的手册;h键获取帮助,q键退出文档)
​
info 跟man类似(但是在之后的版本移除了)
​
#大多数命令有--help或者--h选项(也可以获取命令使用手册,其比man简短一些)
​
2)cat 命令用来查看一些短小的文件内容(阅读文件)
例:
[root@localhost ~]# cat /etc/passwd( 此语句会把etc/passwd文件的内容打印到屏幕上。备注:etc: Is a directory(目录))
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
…………………………
…………………………
…………………………

备注:这两个命令考证的时候也可以用(man、info)

用户相关
复制代码
#修改密码:
格式:passwd 用户名(root账号下;普通用户直接使用passwd即可)
备注:
root使用该命令可以修改任意账户的密码并且不需要知道原密码
普通用户必须输入原密码用来确认是账户持有者,新密码必须大于8位有英文大小写、符号、数字
​
#修改root密码
备注:此操作必须在虚拟机上完成(工作中就在机房),ssh执行不了此操作
1)重启虚拟机(关闭此客户机再打开此客户机;选择重启启动客户机出不了grub界面,反正我的是这样)
2)运行至grub界面时,按e键(注:此页面只有5s控制界面时间,5s后则进入用户登录界面;可以鼠标点击进入此界面通过键盘控制界面)
3)linux开头的行末尾添加rd.break,按ctrl+x
4)输入mount -o remount,rw  /sysroot
5)chroot /sysroot
6)passwd root
#安全重启
7)touch /.autorelabel
8)exit
9)exit

修改root密码的诠释

在grub界面按e

注:此页面只有5s控制界面时间,5s后则进入用户登录界面;可以鼠标点击进入此界面通过键盘控制界面

在linux一行后面加rd.break(注:linux一行在框中显示了三行,可以通过键盘方向键">"移动光标到linux一行的最后)

输入mount -o remount,rw /sysroot(我也不知道这个命令是什么,照着输入就好了)

AI是这么讲的:

复制代码
在Linux系统中,`mount` 命令用于挂载文件系统。`mount -o remount,rw /sysroot` 这条命令的含义如下:
​
- `mount`:这是用来挂载文件系统的命令。
- `-o`:这个选项后面跟的是挂载选项。
- `remount`:这个挂载选项表示重新挂载已经挂载的文件系统。
- `rw`:这个挂载选项表示以读写(read-write)模式挂载文件系统。
- `/sysroot`:这是要挂载的文件系统的路径。
​
综合起来,`mount -o remount,rw /sysroot` 这条命令的作用是将已经挂载的 `/sysroot` 文件系统重新挂载为读写模式。这通常在系统维护或恢复时使用,比如在单用户模式下,系统可能以只读模式挂载了根文件系统,为了进行某些更改,需要将其重新挂载为读写模式。

输入chroot /sysroot

不会就问AI,没毛病。

复制代码
在Linux系统中,chroot 命令用于改变当前进程及其子进程的根目录。这个命令非常有用,因为它可以允许你在隔离的环境中运行程序,这对于安全和系统维护来说非常重要。
​
具体来说,chroot /sysroot 命令的含义如下:
​
chroot:这是改变根目录的命令。
/sysroot:这是指定的新根目录的路径。
当你执行 chroot /sysroot 命令时,你实际上是将当前进程(以及任何由它启动的子进程)的根目录更改为 /sysroot 目录。这意味着,从这个点开始,当你运行程序或访问文件时,它们都会相对于 /sysroot 目录来执行或访问,而不是系统的全局根目录 /。
​
这个命令常用于以下场景:
​
系统维护:在系统升级或维护时,你可以使用 chroot 来测试新的系统环境,而不会影响到正在运行的系统。
​
安全隔离:在处理可疑的文件或程序时,你可以使用 chroot 来隔离它们,防止它们访问或修改系统的其他部分。
​
模拟环境:在开发或测试时,你可以使用 chroot 来模拟不同的环境,例如,在一个容器或虚拟机中运行程序。
​
请注意,使用 chroot 时,你需要确保 /sysroot 目录包含了完整的系统环境,包括必要的库文件和系统配置文件,否则在 chroot 环境中运行的程序可能无法正常工作。

更改root账户的密码(passwd root)

输入touch /.autorelabel

复制代码
在Linux系统中,`touch /.autorelabel` 命令用于在系统启动时触发SELinux的重新标记过程。SELinux(Security-Enhanced Linux)是一个强制访问控制安全框架,它通过给文件和进程分配安全上下文来增强系统的安全性。当系统的文件或目录的安全上下文需要更新时,就需要进行重新标记。
​
在某些情况下,比如在单用户模式下重置了root密码,SELinux的安全策略可能不允许这种操作,因为修改`/etc/shadow`文件(其中存储了用户密码的加密信息)通常需要特定的安全上下文。在这种情况下,`touch /.autorelabel`命令创建了一个名为`.autorelabel`的隐藏文件,这个文件告诉SELinux在下一次系统启动时重新标记所有文件,以确保它们具有正确的安全上下文。
​
这个重新标记的过程可能会花费一些时间,特别是对于拥有大量文件的系统。在大型磁盘上,这个过程可能需要很长时间,因此在执行这个命令后,系统通常会在下次启动时进行必要的重新标记。
​
此外,`touch`命令本身用于更新文件的访问和修改时间戳。如果指定的文件不存在,`touch`命令还会创建一个空文件。在`touch /.autorelabel`命令中,`/.autorelabel`是一个隐藏文件(因为它以点开头),它的存在告诉SELinux在系统启动时执行重新标记操作。

两次退出

相关推荐
菜鸟小白:长岛icetea5 分钟前
Linux零基础速成篇一(理论+实操)
linux·运维·服务器
深海的鲸同学 luvi6 分钟前
【HarmonyOS NEXT】hdc环境变量配置
linux·windows·harmonyos
dowhileprogramming41 分钟前
Python 中的迭代器
linux·数据库·python
过过过呀Glik41 分钟前
在 Ubuntu 服务器上添加和删除用户
linux·服务器·ubuntu
Tesseract_95273 小时前
ioctl回顾
linux
Java小白中的菜鸟3 小时前
centos7的磁盘扩容
linux·运维·服务器
黑子哥呢?5 小时前
Linux---防火墙端口设置(firewalld)
linux·服务器·网络
F-2H6 小时前
C语言:指针4(常量指针和指针常量及动态内存分配)
java·linux·c语言·开发语言·前端·c++
aherhuo6 小时前
基于openEuler22.09部署OpenStack Yoga云平台(一)
linux·运维·服务器·openstack
檀越剑指大厂7 小时前
【Linux系列】Shell 脚本中的条件判断:`[ ]`与`[[ ]]`的比较
linux·运维·服务器