重启Rocky后,会出现如下图所示黑框,提示我们登录。这个登录界面没有出现任何图形,因为我们没有安装与图形相关的程序包。如果你想使用图形,可以在进入系统后安装图形套件,然后切换到图形界面就可以了。

linux使用教程第9章(第一次和Linux亲密接触)(1)

3.1 初次使用命令行登录

在如上图所示的黑框里点击鼠标,在localhost login: 后面输入root并回车,然后输入先前设置的ROOT密码,进入Rocky系统,请注意,在你输入密码时你看不到任何信息,这并不是你没有输入成功,你尽管输入即可。

3.2 设置网络

前面创建虚拟机时,我们已经将这台机器设置成NAT网络模式,后续的操作都是基于NAT模式,如果是桥接模式操作基本类似。

请运行如下命令(注意,前面这个警号为命令前置修饰符,请忽略):

# ip add

它将返回如下图所示的信息。

linux使用教程第9章(第一次和Linux亲密接触)(2)

ip add命令就是用来查看IP地址的。这里请大家注意英文字母的大小写,Linux操作系统是区分大小写的。从上图中可以看出,这台机器有两个网卡。第一个网卡地址127.0.0.1是回环地址,网卡名字叫作lo,Windows操作系统也有该地址,用来自己和自己通信。第二个网卡,ens33就是它的名字,你的网卡名字也不一定是ens33,这个也是没有关系的。下面阿铭教你怎么看VMware NAT网络模式的网段是多少。

首先同时按下Ctrl和Alt这两个键,释放你的鼠标,然后点击VMware虚拟机左上角菜单栏中的“编辑”,选择“虚拟网络编辑器”,选中VMnet8(NAT模式),此时下面就可以看到子网IP为192.168.195.0,子网掩码为255.255.255.0。然后点击右侧的“NAT 设置”按钮,此时会出现如下图所示的界面。

linux使用教程第9章(第一次和Linux亲密接触)(3)

在这个界面中,我们会看到网关为192.168.195.2。请大家记住这个网关地址,因为接下来还会用到它。

在日常的运维工作中,我们是需要手动给Linux系统设置IP地址的。下面阿铭教你如何手动设置IP地址。输入如下命令:

# vi /etc/sysconfig/network-scripts/ifcfg-ens33

请大家注意,在Linux系统下,命令后面是需要带空格的,这里的vi是一个用来编辑文本的命令,后面会详细介绍它。它后面跟一个空格(当然跟多个空格也没错),再后面是一个文件的路径。这个文件就是网卡的配置文件,要修改IP地址,就得编辑这个文件。你的网卡配置文件名字(ifcfg-ens33)可能和阿铭的不一样,这个主要是看你的网卡名字是什么。回车后,进入如下图所示的界面。

linux使用教程第9章(第一次和Linux亲密接触)(4)

进入网卡配置文件后,我们可以使用上、下、左、右方向键去移动光标,但不能直接去修改文件内容。要想修改文件内容,只需按字母i键。我们需要修改的内容有,将BOOTPROTO="dhcp"改为BOOTPROTO="static",并增加如下几行字符:

IPADDR=192.168.195.101 NETMASK=255.255.255.0 GATEWAY=192.168.195.2 DNS1=119.29.29.29

这里需要说明的是,BOOTPROTO用来设置网卡的启动类型,dhcp表示自动获取IP地址,static表示手动设置静态IP地址。IPADDR指定IP地址(请不要设置的和阿铭的一样,你的IP地址取决于前面你自动获取到的地址),NETMASK指定子网掩码,GATEWAY指定网关(这个网关就是刚刚阿铭让大家记住的网关地址),DNS1指定上网用的DNS IP地址,这个119.29.29.29是国内DNSpod公司提供的一个公共DNS。完成以上的更改后,按一下Esc键,紧接着输入“:wq”并回车,退出刚才的文档。然后重启网卡,运行如下两条命令:

# nmcli c reload ens33 # nmcli d reapply ens33

上面第一条命令作用是重新加载网卡配置文件,但它并不会马上生效,第二条命令作用是使其马上生效。然后再查看一下IP地址:

# ip add

如果正确的话,你看到的结果如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(5)

当然,还需要再测试一下网络连通性,此时输入如下命令进行测试:

# PING -c 4 www.aminglinux.com

出现类似如下结果,才算正常联网。

PING www.aminglinux.com (192.225.226.43) 56(84) bytes of data. 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=1 ttl=128 time=211 ms 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=2 ttl=128 time=218 ms 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=3 ttl=128 time=211 ms 64 bytes from 192.225.226.43 (192.225.226.43): icmp_seq=4 ttl=128 time=211 ms --- www.aminglinux.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3006ms rtt min/avg/max/mdev = 210.806/212.708/217.906/3.055 ms

3.3 学会使用快捷键

在日常运维管理工作中,快捷键可以大大提高工作效率。在Linux系统中,常用的快捷键如下。

linux使用教程第9章(第一次和Linux亲密接触)(6)

3.4 学会查询帮助文档—— man

man命令用于查看命令的帮助文档,其格式为man命令。例如,输入如下命令:

# man ls

这样可以查看ls命令的帮助文档,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(7)

如果屏幕不能显示完整,可以按空格键下翻,或者按上下方向键前后移动文本。若想退出帮助文档,按字母键q。当然,想要看明白这个文档,还需要你有一定的英文阅读能力。这个man命令非常实用。尤其是对于初学者来讲,我们刚刚学一个命令时,总是记不住它的各个选项的用法,记不清时,随手man一下,就可以看到了,非常方便!同时,阿铭相信经常查看英文的文档也会提升你的英文阅读能力。

3.5 Linux系统目录结构

登录Linux系统后,在当前命令窗口下输入如下命令:

# ls /

此时将会出现如下图所示的界面:

linux使用教程第9章(第一次和Linux亲密接触)(8)

你的结果可能和阿铭的有所不同,不要紧,目前我们探讨的并不是差异,而是相同的地方。其中,ls是list的缩写,该命令用于列出指定目录或者文件。/是Linux操作系统里面最核心的一个目录,所有的文件和目录全部在它下面,所以称它为“根目录”。前面讲磁盘分区时,阿铭也是单独给它分了一个区的。大家要逐渐适应Linux系统的特性,毕竟它和Windows有太多的差异。

通过上一节中提到的命令man ls,可以了解ls命令具体的用法。对于ls这个最常用的命令,阿铭在这里举几个简单的例子帮你快速掌握其用法:

# ls anaconda-ks.cfg # ls -a . .. anaconda-ks.cfg .bash_logout .bash_profile .bashrc .cshrc .tcshrcy # ls -l 总用量 4 -rw-------. 1 root 1435 12月 26 08:10 anaconda-ks.cfg # ls anaconda-ks.cfg anaconda-ks.cfg # ls /var/ account adm cache crash db empty ftp games gopher kerberos lib local lock log mail nis opt preserve run spool tmp yp

说明:其中以#开头的行都是运行的命令,它下面的内容是命令运行后的结果。可能你的结果和阿铭的有所不同,但不要紧,这是因为你的系统和阿铭的系统是存在一些差异的。如果你有疑问,请联系阿铭获取帮助。下面阿铭来讲解一下以上几个小案例的含义。

其实,ls命令的可用项还有很多,不过阿铭只介绍了最常用的选项。因为在日常工作和学习中,这些已经足够。如果实在遇到不懂的选项,可以用man命令来查看帮助文档。

下面我们接着来讨论Linux的目录结构。

在Linux系统中,有几个重要的目录需要注意,不要误删除或者随意更改其内部文件。下面阿铭再简单总结一下这几个重要的目录。

3.6 如何正确关机、重启

Linux主要用在服务器领域,而在服务器上执行一项服务是永无止境的,除非遇到特殊情况,否则不会关机。和Windows不同,在 Linux系统下,很多进程都是在后台执行的。在屏幕背后,可能有很多人同时在工作。如果直接按下电源开关关机,其他人的数据可能就此中断。更严重的是,若不正常关机,严重的话,可能会造成文件系统损坏,从而导致数据丢失。

如果要关机,必须要保证当前系统中没有其他用户在登录系统。我们可以使用who命令查看是否还有其他人在登录,或者使用命令ps -aux 查看是否还有后台进程运行。shutdown、halt、poweroff都为关机的命令,我们可以使用命令man shutdown查看其帮助文档。例如,可以运行如下命令关机(//符号后面的内容为解释性文字):

# shutdown -h 10 //计算机将在10分钟后关机,且会显示在登录用户的当前屏幕中 # shutdown -h now //立即关机 # shutdown -h 20:25 //系统会在20:25关机 # shutdown -h 10 //10分钟后关机 # shutdown -r now //立即重启 # shutdown -r 10 //10分钟后重启 # reboot //重启,等同于shutdown -r now # halt //关闭系统,等同于shutdown -h now和poweroff

不管是重启系统还是关闭系统,首先要运行sync命令,它可以把当前内存中的数据写入磁盘中,防止数据丢失。

再来总结一下,关机的命令有shutdown -h now、halt、poweroff和init 0,重启系统的命令有shutdown -r now、reboot和init 6。

3.7 忘记root密码怎么办

以前阿铭忘记了Windows的管理员密码,当时不会用光盘清除密码,最后只能重装系统。现在想来那是多么愚笨的一件事情。同样,如果你忘记了Linux系统的root密码,该怎么办呢?重新安装系统吗?当然不用!你只需要进入emergency mode更改root密码即可。在CentOS 6时,我们是进入单用户模式修改root密码的,其实在CentOS 7和Rocky 8已经没有单用户模式了,而是这个emergency模式,具体操作步骤如下。

1)重启系统

3秒钟内按向下的方向键,目的是为了不让它进入系统,而是停留在开机界面,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(9)

按方向键移动光标,定位在第一行,按字母e编辑它,然后进入另外一个界面,此时会出来很多字符,这些都是Rocky8启动选项,那么这些字符有什么用呢?我们暂时先放一放不用太过关心。移动向下的方向键,把光标定位到linux开头的行。

2)进入emergency模式

按向右的方向键,将光标移动到ro这里,把ro改成rw init=/sysroot/bin/bash,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(10)

然后同时按Ctrl和x这两个键,系统就会进入如下图所示的界面,这样就正式进入emergency模式。

linux使用教程第9章(第一次和Linux亲密接触)(11)

3)修改root密码

首先切换到原始系统,然后再修改密码,操作过程如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(12)

其中chroot命令用来切换系统,后面的/sysroot目录就是原始系统(也就是我们的Rocky 8系统),在这个下面才可以修改root密码。passwd命令就是修改root密码的命令,后续章节还会介绍它。但运行后,返回的结果很奇怪,出现了很多小方块,俗称乱码。其实这些小方块本来是汉字的,但是在VMware里面它并不支持中文。如果大家知道这个命令的用法,此时你连续输入两次新密码就ok了。但作为新用户,第一次看到肯定会不知所措。请跟着阿铭一起输入LANG=en,这个命令就是把当前终端的语言设置为英文。再次运行passwd命令,就可以正常显示字符了。

密码虽然修改完了,但是还需要一个额外的操作,相关命令如下:

# touch /.autorelabel

注意,这个文件名字一定要写对,否则更改的密码将不能生效。执行这一步的作用是让SELinux生效,如果不执行,则我们修改的密码是不会生效的。也就是说,即使你输对了密码,也无法登录。至于SELinux是什么,后续会详细介绍。执行完该命令后,同时按Ctrl D这两个键,再输入命令reboot,这样系统会重启,等待几秒后,出现登录界面,此时使用我们新设置的密码登录即可。

3.8 学会使用救援模式

救援模式即rescue模式,这个模式主要应用于系统无法进入的情况,比如grub损坏或者某一个配置文件修改出错。那么,如何使用rescue模式呢?具体的操作方法如下。

1)光盘启动

首先检查你的光驱是否是开机启动。具体方法是把鼠标挪到VMware右下角的小光盘图标处,点击它,此时会出现两个选项,选择“设置”选项,会弹出“虚拟机设置”对话框,看一下右侧的“设备状态”,要保证两个对勾都是打上的,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(13)

但此时,重启系统并不会进入光驱启动界面,这还需要我们设置一个VMware的BIOS。由于VMware启动很快,往往我们还没有来得及按F2键(要进入BIOS,需要按F2键),它就已经进入系统的启动界面了。这里有一个技巧,首先把Rocky 8关机,然后在VMware左侧选中这台虚拟机并右击,从中选择“电源”→“启动时进入固件”,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(14)

进入BIOS后,按向右方向键,选择Boot,然后按-或者 调节各个启动对象,其中有硬盘、光驱、网卡等,总之让CD-ROM在最前面,也就是让它第一个启动。最终的结果如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(15)

设置完这步之后,直接按F10键保存设置并退出。

2)进入rescue模式

随后进入光驱启动界面,使用上下方向键选择Troubleshooting,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(16)

回车后,又出现如下图所示的界面,使用向下方向键选择Rescue a Rocky Linux system。

linux使用教程第9章(第一次和Linux亲密接触)(17)

敲回车后,会出现如下图所示的界面。

linux使用教程第9章(第一次和Linux亲密接触)(18)

其中有一些提示,它告诉我们,初始系统在/mnt/sysimage下面,其实这和上一节的/sysroot类似。这里有4个选项:选择第1项将会继续往下走;选择第2项将会把初始的系统挂载为只读模式,我们不能写磁盘,也就意味着不能再修改配置文件,也不能更改root密码;选择第3项会直接出现一个shell;而选择第4项则会重启。

这里选择第1项,所以输入数字“1”回车,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(19)

它又再一次告诉我们:初始系统已经挂载到了/mnt/sysimage下面,要想进入初始系统下面,需要执行chroot /mnt/sysimage命令,再次按回车获取到shell。进入初始系统后,执行修改root密码的命令passwd,如下图所示。

linux使用教程第9章(第一次和Linux亲密接触)(20)

其实,执行完chroot命令之后,你会发现命令行前后有一处变化,即原来的sh-4.4变成了bash-4.4,这就是因为环境变量发生了变化,后面我们还会再讨论这个知识点。当然,救援模式并非只有改root密码这么简单的作用,我们还可以在救援模式下处理一些故障、修复数据等。要想退出救援模式也很简单,先使用Ctrl D组合键退出原始系统,然后执行reboot命令即可。但是重启后你会发现,它依然进入光驱启动界面。所以,我们还需要再设置一遍BIOS,让硬盘第一个启动。这里还有一种方法,设置VMware,关闭光驱即可。

,