Linux学习第二天

3.vmware的功能:
快照

创建快照:

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

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

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

网络问题

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

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

4.远程连接工具MobaXterm

使用

(1)选择session选项

(2)选择你需要的功能

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

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

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

5.命令
命令的格式
复制代码
#格式:
命令名 选项 参数#(命令、选项、参数之间用空格隔开)
​
#选项:决定命令的执行方式(通常是:-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 用来查看命令的使用方法(manual)
​
格式:man 命令名称(即可获取命令使用的手册;h键获取帮助,q键退出文档)
​
info 跟man类似(但是在之后的版本移除了)
​
#大多数命令有--help或者--h、-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在系统启动时执行重新标记操作。

两次退出

网络相关
复制代码
1)ifconfig
2)ip 子命令(输入ip后按tab看查看子命令;address查看ip地址)ip address<=>ip a
目录相关
复制代码
1)cd命令:用于切换目录
~(所有账户的家目录)
2)pwd(查看当前路径)
[root@NLCSA1 tmp]# pwd
/tmp
3)ls(打印当前目录中的文件)
​
4)tree(打印当前目录的树形结构)
[root@NLCSA1 ~]# tree
.
├── anaconda-ks.cfg
├── Desktop
├── Documents
├── Downloads
├── Music
├── Pictures
├── Public
├── Templates
└── Videos
其它命令
复制代码
#关机命令:
1)poweroff(在红帽中生效)、init 0(内核命令)(关机,此命令普通用户一般情况下是无法使用的,得root用户才可以)
2)shutdom -h 关机时间(now、时间(多少分后关机))
​
#重启:
1)reboot、init 6(重启此命令普通用户一般情况下是无法使用的):因为服务器关机、重启是一种很严重的
2)shutdown -r  重启时间(now、时间(多少分后重启))
​
#切换用户
switch(su) 用户名(要是切入root账号还要输入密码,root账号切普通账号不用密码)
​
#修改主机名称
hostname(查看主机名称)
hostname 修改成的名称(临时修改名称,服务器重启后恢复以前的名称)
hostnamectl 子命令(hostname;tab间查看所有子命令) 名称
注:ssh中得断开远程登录后名称才会生效;虚拟机中得关闭终端后再打开才会生效
​
#修改计算机时间
date (设置、获取时间信息)
设置:
date -s '时间字符串例:20101112 13:14'
显示时间设置(有'+'号,+后面的字符串表示以某种格式显示时间)
​
#查看时间:
date +'%Y-%m+%d'
​
date +'%Y-%m+%d %H(24小时,h是12小时):%M:%S'
​
date +'%Y%m%d%H:%M:%S'(用来记录文件夹的生成,应为时间往前走,不会重复)
​
#修改时区
timedatectl set-timezone Asia/Shanghai
​
#展示
timedatectl show
show(展示设备信息)
Timezone=Asia/Shanghai
LocalRTC=no
CanNTP=yes
NTP=yes
NTPSynchronized=yes
TimeUSec=Thu 2024-10-17 20:32:18 CST
RTCTimeUSec=Thu 2024-10-17 20:32:17 CST
​
timedatectl status
status(展示时间状态)
               Local time: Thu 2024-10-17 20:32:35 CST
           Universal time: Thu 2024-10-17 12:32:35 UTC
                 RTC time: Thu 2024-10-17 12:32:34
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

timedatectl命令

参数 作用
status 显示状态信息
list-timezones 列出已知时区
set-timezone 设置生效时区
set-time 设置系统时间
相关推荐
watermelonoops1 小时前
Deepin和Windows传文件(Xftp,WinSCP)
linux·ssh·deepin·winscp·xftp
疯狂飙车的蜗牛2 小时前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
远游客07134 小时前
centos stream 8下载安装遇到的坑
linux·服务器·centos
马甲是掉不了一点的<.<4 小时前
本地电脑使用命令行上传文件至远程服务器
linux·scp·cmd·远程文件上传
jingyu飞鸟4 小时前
centos-stream9系统安装docker
linux·docker·centos
超爱吃士力架5 小时前
邀请逻辑
java·linux·后端
cominglately7 小时前
centos单机部署seata
linux·运维·centos
魏 无羡7 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
CircleMouse7 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
木子Linux8 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算