Linux学习第二天

embedded/2024/10/21 7:36:01/
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 CSTUniversal time: Thu 2024-10-17 12:32:35 UTCRTC time: Thu 2024-10-17 12:32:34Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yesNTP service: activeRTC in local TZ: no

timedatectl命令

参数作用
status显示状态信息
list-timezones列出已知时区
set-timezone设置生效时区
set-time设置系统时间

http://www.ppmy.cn/embedded/129209.html

相关文章

WSL2配置代理解决git网络不通畅的问题

简述 书接上文&#xff0c;在WSL2下使用CrossSim&#xff0c;git的时候网络很差&#xff0c;通过代理解决这个问题。 旧版的解决方案一般是通过cat /etc/resolv.conf获取IP然后配置主机的端口&#xff0c;这样有时候并不能访问&#xff0c;并且一般会出现该问题&#xff1a;ws…

【人工智能-初级】第3章 k-最近邻算法(KNN):分类和Python实现

文章目录 一、KNN算法简介二、KNN算法的工作原理2.1 欧氏距离 三、K值的选择四、KNN算法的优缺点4.1 优点4.2 缺点 五、Python实现KNN分类5.1 导入必要的库5.2 加载数据集并进行预处理5.3 创建KNN分类器并进行训练5.4 模型预测与评估5.5 可视化K值对模型性能的影响 六、总结6.1…

《京东金融APP的鸿蒙之旅系列专题》鸿蒙工程化:Hvigor构建技术

作者&#xff1a;京东科技 杨拓 一、构建工具概述 Hvigor构建工具是一款基于TypeScript实现的构建任务编排工具&#xff0c;专为提升构建和测试应用的效率而设计。它主要提供以下关键功能&#xff1a; 1.任务管理机制&#xff1a;包括任务注册和编排&#xff0c;帮助开发者高效…

外包干了3周,技术退步太明显了。。。。。

先说一下自己的情况&#xff0c;大专生&#xff0c;21年通过校招进入武汉某软件公司&#xff0c;干了差不多3个星期的功能测试&#xff0c;那年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我才在一个外包企业干了3周的功…

个人主页模版(源代码开源)

个人主页模版&#xff08;源代码开源&#xff09; 项目预览地址&#xff1a;My Website Github仓库地址&#xff1a;personal_page_public Hello,这里是个人主页模版代码的开源页。 源代码自取&#xff0c;就在项目文件中。当然&#xff0c;你也可以在 r e l e a s e s rel…

【无标题】react组件封装

子组件制作 import { useState,useRef, useEffect} from "react"const Table (data)> {const {value ,option} dataconsole.log(value)const [stata,setValue] useState()const useRefs useRef(value)useEffect(()> {useRefs.current.value value })c…

11.useComponentDidMount

在 React 的函数组件中,有时我们需要在组件首次挂载后执行某些操作,这在类组件中通常通过 componentDidMount 生命周期方法来实现。useComponentDidMount 钩子提供了一种简洁的方式来在函数组件中实现相同的功能。这个自定义钩子使得在组件挂载后执行一次性操作变得简单直观。…

vite的vue3项目配置

在使用 Vite 进行项目开发时&#xff0c;可以通过配置文件 vite.config.js 或 vite.config.ts 来自定义项目的构建和开发流程。以下是常见的 Vite 项目配置及其说明&#xff1a; 基本配置 // vite.config.js import { defineConfig } from vite; import vue from vitejs/plug…