RHCSA课程(持续更新)

本文详细介绍了如何通过虚拟机进行远程连接,包括设置SSH、重置root密码、Linux基础命令操作(如切换用户、查看发行版本、时间管理等),以及文件类型、目录结构和路径解析的相关知识。
摘要由CSDN通过智能技术生成

第一章入门的基础知识

1.利用虚拟机进行远程连接

在开始输入命令之前,先要进行远程连接

先要启动虚拟机,登录root账户,在这个界面

点击左上角的活动,正下方会出现一类导航类的东西有一个小黑板的东西,点开,会出现一个类似于命令框的东西。

点开  输入  ip a 回车,下面就可以找到我们建立的虚拟机的IP地址

下面到xshell 7上进行远程控制

[C:\~]$ ssh 192.168.78.136      后面是自己创建虚拟机的IP地址

在输入IP地址后,会进行一些认证,将之前安装虚拟机上的root账户和密码进行授权即可,就可以开始远程操作虚拟机。

2.root的密码在虚拟机上的强制重置
 

在开启虚拟机时,可能会因为账户密码的遗忘,导致虚拟机不能成功启动

所以我们有一种方法可以,重置虚拟机root用户的密码如:

在虚拟机开启的这个界面,按  E  键,进入另外一个界面

再在光标所在的位置(看不见的话就在倒数第二段最后那个位置)输入  rd.break  然后按ctrl+x

 进入下一个界面

进入这个界面后,按照图中的命令进行输入,

在输入新密码时,密码并不会显示出来,这是正常现象

如下,密码修改成功,(在一排排小方格中间有一个8,是因为我们设置的新密码位数不满8位)

mount -o remount,rw /sysroot

chroot /sysroot

passwd

touch /.autorelabel

exit

exit

3.一些基础的Linux指令
基础知识:

root远程控制连接好后默认进入家目录,类似于windows的桌面

root 管理员,root用户   根用户  

@   用于分隔用户和主机名

localhost 主机名

~         家目录   root的家目录 /root   /home/redhat

#         root用户的命令提示符

一般看见的[  ] 都代表可选,可写也可以不写那种

ctrl+c   用于停止一个进程

[root@imm ~]# logout       这条命令会直接结束远程连接建立起来的回话

/         根目录

Ctrl+“+”        可以放大命令框                Ctrl+“-”        可以缩小名命令框

双击这个可以建立一个完全相同的命令框,这里的一样和手机上的分身差不多,连接的虚拟机和IP都是同一个。

[root@localhost ~]# poweroff

同时,在我们需要关机的时候,也可以在这个界面输入poweroff  进行虚拟机的关机

因为我们直接关闭虚拟机的软件可能会导致虚拟机的损坏

拍摄快照(类似于存档)

在建立虚拟机的软件里找到拍摄快照(会记录下当时虚拟机的状态和含有的内置文件及目录)

给快照命名,区分当时建立的快照下,虚拟机的状态有没有什么不同

查看当前目录

[root@localhost ~]# pwd
/root
查看现在的在哪个目录      例子是root的家目录

切换用户(普通用户和root用户)

[root@localhost ~]# su - xnj1       (switch user 的缩写)
[xnj1@localhost ~]$ 

切换到用户  xnj1

[xnj1@localhost ~]$ exit    主要和ssh回话有关,可能有返回上一个回话的意思

返回前一个会话窗口,如果这是唯一  一个会话,那么就会退出终端,也就是退出远程控制
[root@imm ~]# logout   这条命令会直接结束回话

修改主机名

[root@localhost ~]# hostnamectl 

查看主机的名称及一些ID

[root@localhost ~]# hostnamectl 
   Static hostname: (unset)                                 
Transient hostname: mm
         Icon name: computer-vm
           Chassis: vm 🖴
        Machine ID: d70afb974e5d47b9bc7c61953895df15
           Boot ID: 692468337ecc4cf1b4b2215303a12ef1
    Virtualization: vmware
  Operating System: Red Hat Enterprise Linux 9.3 (Plow)     
       CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
            Kernel: Linux 5.14.0-362.8.1.el9_3.x86_64
      Architecture: x86-64
   Hardware Vendor: VMware, Inc.
    Hardware Model: VMware Virtual Platform
  Firmware Version: 6.00


了解:

  • Static hostname: 系统的静态主机名。
  • Icon name: 系统的图标名称。
  • Chassis: 系统的机箱类型。
  • Machine ID: 系统的唯一机器ID。
  • Boot ID: 当前启动会话的ID。
  • Virtualization: 虚拟化技术,如果有的话。
  • Operating System: 操作系统名称和版本。
  • CPE OS Name: 操作系统的CPE名称。
  • Kernel: 内核版本。
  • Architecture: 系统架构

[root@localhost ~]# hostname mm
临时修改主机名称  此时还不会改名字,当重新接入的时候,就会看见名字

[root@localhost ~]# hostname hostname whale
此命令永久将主机名称修改 

用户名    主机名

(这里的主机名字不是用户名,用户名一直是在虚拟机里面设置的那个)

查看该目录的信息

[root@whale ~]# ll        和  [root@whale ~]# ls -l     等效

用来列出当前目录下的文件和文件夹的详细信息

(此行为只能在root用户下,才有详细内容,大多数指令都只能在root用户下才能生效)

对于一个文件内容的理解

[root@haha2 ~]# ls -d -l /root

d   r-xr-x---.   14 root root 4096  3月 29 18:04   /root

1     2           3   4   5     6          7        8

1:文件类型  

2:文件对应的权限

3:硬链接次数

4:文件所属用户

5:文件所属组

6:文件大小 b

7:文件的时间

8:文件名称

切换目录

[root@whale ~]# cd
改变当前工作目录   在后面不指定目录时,他自己切换到当前用户的家目录

用户 xnj1 的家目录

拓展知识(查发发行版本和内核等)

查看当前linux的发行版本和名称

[root@imm ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 9.3 (Plow)

查看linux内核

[root@imm ~]# uname -r
5.14.0-362.8.1.el9_3.x86_64


linux发行版=kernel内核+实用工具+应用程序

在xshell上修改root的密码

[root@mm ~]# passwd -d xnj1
清除用户的密码 xnj1
passwd: 操作成功
[root@mm ~]# passwd xnj1
更改用户 xnj1 的密码 。
新的密码:                                                        这里密码同样不会显示出来
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。

判断命令是内部命令还是外部命令

root@mm ~]# type -a   
在-a时,会显示所有匹配的命令,包括别名、内置命令和可执行文件。

[root@mm ~]# type -a su
su 是 /usr/bin/susu     不是内置命令  而是一个位于 /usr/bin 目录下的独立程序,这个表示路径
[root@mm ~]# type -a cd
cd 是 shell 内建
cd 是 /usr/bin/cd

查看可用的shell类型

[root@mm ~]# cat /etc/shells    (查看shell下的内容)
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

查看当前用户的 shell 名称

[root@mm ~]# echo $SHELL

/bin/bash 

第二章 linux中执行命令

命令通常由是三个部分组成

             主命令   选项     参数

例如:     su        -l        xnj1

/   根目录           root  根用户(管理员工用户,权限很高)

cd ~      #切换到家目录

cd         #切换到家目录

pwd      #打印当前工作目录

ll           #列出当前目录的内容(=ls -l)

cat        #查找

帮助的命令
查询一个命令后面可以跟哪些选项

[root@whale ~]# help

查看可用的内置命令有哪些 (如果不是内置命令的话,会报错,好像也可以借此来验证是否为内置命令)

                                                             

也可以用于查询对一些命令的用法如:

[root@whale ~]# help cd 

tab 键       

可以帮助补全   和HCIA的效果差不多 (按两下可以查看,以这几个字母开头的命令还有哪些)

man 手册

此命令在用户界面也可以使用

[root@imm ~]# man passwd
以命令passwd为例

q即可退出man手册

关于时间的命令

date

 查看当前时间

[root@whale ~]# date
2024年 04月 01日 星期一 12:49:51 CST    后面的是中国标准时间的意思

以月/日/年 的格式呈现时间

[root@whale ~]# date  +%D     后面是跟的格式 (加格式要打“+”号)   
04/01/24
[root@whale ~]# date +%Y/%m/%d 
2024/04/01

[root@whale ~]# date +%Y/%m/%d %H:%M   
date: 额外的操作数 “%H:%M”
请尝试执行 "date --help" 来获取更多信息。(没有引号的错误示例)

[root@whale ~]# date "+%Y/%m/%d %H:%M"
2024/04/01 12:56

在进行长段输出时,要加引号,不然,系统不能识别,且是英文输入法下的引号

[root@whale ~]# date +%j
092
 


 


timedatectl   (这里比较昏,但大多数涉及后面的课程)到这4.11 17.18

同步是时间服务器?

重启时间服务器

[root@whale ~]# systemctl restart chronyd                  用于同步系统时钟
[root@whale ~]# systemctl status chronyd                   用于查看 chronyd 服务的当前状态
● chronyd.service - NTP client/server
     Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; pre>
     Active: active (running) since Mon 2024-04-01 12:58:12 CST; 22s ago
       Docs: man:chronyd(8)
             man:chrony.conf(5)
    Process: 4003 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, statu>
   Main PID: 4005 (chronyd)
      Tasks: 1 (limit: 10684)
     Memory: 1.0M
        CPU: 32ms
     CGroup: /system.slice/chronyd.service
             └─4005 /usr/sbin/chronyd -F 2

4月 01 12:58:12 whale systemd[1]: Starting NTP client/server...
4月 01 12:58:12 whale chronyd[4005]: chronyd version 4.3 starting (+CMDMON>
4月 01 12:58:12 whale chronyd[4005]: Frequency -4.778 +/- 3.967 ppm read f>
4月 01 12:58:12 whale chronyd[4005]: Using right/UTC timezone to obtain le>
4月 01 12:58:12 whale chronyd[4005]: Loaded seccomp filter (level 2)
4月 01 12:58:12 whale systemd[1]: Started NTP client/server.
4月 01 12:58:19 whale chronyd[4005]: Selected source 139.199.215.251 (2.rh>
4月 01 12:58:19 whale chronyd[4005]: System clock TAI offset set to 37 sec>

[root@whale ~]# timedatectl                     用于查询和更改系统时间和日期的命令行工具
               Local time: 一 2024-04-01 12:59:39 CST
           Universal time: 一 2024-04-01 04:59:39 UTC
                 RTC time: 一 2024-04-01 04:59:39
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

[root@whale ~]# timedatectl set-timezone Asia/Shanghai     用于将系统时区设置为亚洲/上海时区
[root@whale ~]# timedatectl
               Local time: 一 2024-04-01 13:03:15 CST
           Universal time: 一 2024-04-01 05:03:15 UTC
                 RTC time: 一 2024-04-01 05:03:15
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

UTC+8h =CST

查看目录下的文件    ls

[root@whale ~]# ll /root                查看root目录的内容(也是root的家目录)

以上选项先看其作用,在敲的时候,在选项之间没有矛盾的情况下可以写多个选项,无先后顺序之分。如:ls -dl     ls   -d -l        ls -ld             ls -l -d        其本质都是一样的
常见选项可能出现的矛盾: http://t.csdnimg.cn/KZoPF

重点学习加粗的选项,主要是用来看文件

[root@haha2 ~]# ls -d -l /root

dr-xr-x---. 14 root root 4096 3月 29 18:04 /root   这里的单位是字节    最小的存储单位是比特byte

[root@haha2 ~]# ls -d -l -h /root

dr-xr-x---. 14 root root 4.0K 3月 29 18:04 /root

[root@haha2 ~]# ls -d -i /dir2/dir3/dir4/

19017279 /dir2/dir3/dir4/                     前面的是文件的节点号

[root@haha2 ~]# ls -d -i -l /dir2/dir3/dir4/

19017279 drwxr-xr-x. 3 root root 18 3月 29 18:20 /dir2/dir3/dir4/

[root@haha2 ~]# ls -l -i /bin/sh

17432400 lrwxrwxrwx. 1 root root 4 11月 24 2022 /bin/sh -> bash  ‘

后面的不得号是有建立链接的,有点像指针,后面会学习

[root@haha2 ~]# ls -l -i /bin/bash

17432388 -rwxr-xr-x. 1 root root 1388904 11月 24 2022 /bin/bash

[root@haha2 ~]# ls -l -i /usr/bin/bash

17432388 -rwxr-xr-x. 1 root root 1388904 11月 24 2022 /usr/bin/bash

[root@haha2 ~]# ls -l -i /usr/bin/sh

17432400 lrwxrwxrwx. 1 root root 4 11月 24 2022 /usr/bin/sh -> bash

#文件排序

[root@haha2 ~]# ls -S

anaconda-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面 dir1

[root@haha2 ~]# ls -S -s

总用量 4

4 anaconda-ks.cfg 0 公共 0 模板 0 视频 0 图片 0 文档 0 下载 0 音乐 0 桌面 0 dir1

ls -s    是显示出文件的大小,但是这里的文件大小指的是硬盘块

#ls带多个选项(多个文件)的写法

[root@haha2 ~]# ls / /root

/:

afs boot dir2 home lib64 mnt proc run srv tmp var

bin dev etc lib media opt root sbin sys usr

/root:

公共 视频 文档 音乐 anaconda-ks.cfg

模板 图片 下载 桌面 dir1

[root@haha2 ~]# ls -l -d / /root

dr-xr-xr-x. 19 root root 268 3月 29 18:20 /

dr-xr-x---. 15 root root 4096 3月 29 18:31 /root

#cat查看多个文件

cat只能查看普通文件,但是可以看多个文件(好像还可以查看一些特殊文件)

[root@haha2 ~]# cat anaconda-ks.cfg /etc/shells

[root@haha2 dev]# ls -l /dev/sr0

brw-rw----+ 1 root cdrom 11, 0 3月 29 18:02 /dev/sr0

[root@haha2 dev]# ls -l /dev/tty

crw-rw-rw-. 1 root tty 5, 0 3月 29 18:01 /dev/tty

#查找根目录下的所有套接字类型的文件

[root@haha2 dev]# find / -type s

[root@haha2 dev]# find / -type b

第三章 linux文件类型和根目录结构

文件类型:

p    管道文件      用于两个进程之间的通讯

s    套接字文件  主要包含  IP  端口号和网络协议

相同类型的文件大多数都在一个目录下

系统的目录结构:

查看日志信息:

cat     /var/log/message

实时查看日志信息:

tail -f  /var/log/message

. 当前工作目录
[root@haha2 ~]# ls .
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg
[root@haha2 ~]# pwd
/root

.. 当前目录的上一级目录(父目录)

[root@haha2 ~]# ls ..

afs bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv

sys tmp usr var

[root@haha2 ~]# ls /

afs bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv

sys tmp usr var

两种命令的表现方式:

[root@haha2 ~]# /usr/bin/cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

上面这个命令是找到我们需要程序的路径,然后对后面的内容进行命令

[root@haha2 ~]# cat /etc/shells

这个是直接调用命令

二者都可以

绝对路径:从根开始

[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

相对路径:从当前目录开始

[root@localhost ~]# cd /etc
[root@localhost etc]# cat shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash

相对路径的区别在于,绝对路径会从根开始开始写要进入文件的路径,对这个路径进行指令,而相对路径是顺着路径进入目标文件里在这个文件里对目标进行指令

目录的简记和重点

/ :存放的系统内所有文件

/boot :系统启动相关的文件

/root

/home

/bin /sbin /usr 存放二进制文件的目录

/etc 系统和服务相关的配置文件

/var 日志文件存放的目录

/dev 设备文件存放的目录

/mnt 挂载点目录

  • 40
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值