02关于RHCE考试基础命令行操作你需要了解这些

一、文章大纲

  • 文章大纲

  • 环境说明

  • 配置类

    • 修改主机名

    • 配置Yum源

    • 安装命令行提醒

    • 配置网络

    • 配置NTP时间同步

    • 配置sudo

  • 命令类

    • 创建多个文件

    • 匹配文件内容

    • 查找文件

    • 创建用户

  • 操作类

    • 找回密码

二、环境说明

  1. 报考后培训机构老师会提供用于学习和练习的虚拟机环境,老师提供练习环境由一个虚拟机里面嵌套多个子虚拟机,对机器配置要求比较,个人不太喜欢使用,后面操作演示使用自己搭建虚拟机环境。

  2. RHCE考试使用是RHEL8版本操作系统,这里为了测试和方便使用CentOS7版本系统。镜像可以在这里下载:http://mirrors.aliyun.com/centos-vault/7.2.1511/isos/x86_64/CentOS-7-x86_64-Minimal-1511.iso

  3. 虚拟机管理软件使用微软Hyper-V,当然也可以使用VMware或者VirtualBox,使用自己熟悉就好。

  4. 远程终端工具使用免费版本MobaXterm,使用Xshell、Putty、SecureCRT都可以,MobaXterm下载地址:https://mobaxterm-en.mobatek.net/download-home-edition.html

MobaXterm

三、配置类

修改主机名

修改主机名方式很多常用比如直接修改/etc/hostname文件,这里推荐使用工具修改。

#查看当前主机名
[root@localhost ~]# hostname
localhost.localdomain
#使用工具hostnamctl set-hostname <主机名>
[root@localhost ~]# hostnamectl  set-hostname centos7
#执行bash命令,刷新
[root@localhost ~]# bash
#再次查看,主机名称已更改
[root@centos7 ~]# hostname
centos7
#查看etc下文件,主机名称已更改
[root@centos7 ~]# cat /etc/hostname
centos7
[root@centos7 ~]#

配置Yum源

场景:

提供BaseOS和AppStream地址,完成服务器Yum配置

BaseOS:http://xxx/dvd/BaseOS

AppStream:http://xxx/dvd/AppStream

#yum源配置在/etc/yum.repos.d/目录下,以repo扩展名结尾
[root@centos7 ~]# vi /etc/yum.repos.d/rhel.repo
[rhel-baseos]
baseurl = http://xxx/dvd/BaseOS
enabled = true
gpgcheck = false
name = rhel baseos

[rhel-appstream]
baseurl = http://xxx/dvd/AppStream
enabled = true
gpgcheck = false
name = rhel appstream

#配置完毕后对配置进行检查
yum repolist

yum makecache

这里测试使用centos7环境,我直接配置阿里在线的yum源。阿里镜像源配置地址:https://developer.aliyun.com/mirror/centos

#切换配置路径
[root@centos7 yum.repos.d]# cd /etc/yum.repos.d/
#先备份默认配置
[root@centos7 yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak
#配置阿里源
[root@centos7 yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2523  100  2523    0     0   7708      0 --:--:-- --:--:-- --:--:--  7739
#清除已有缓存
[root@centos7 yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors
#更新缓存
[root@centos7 yum.repos.d]# yum makecache
#查看源配置情况
[root@centos7 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
repo id                                         repo name                                                               status
base/7/x86_64                                   CentOS-7 - Base - mirrors.aliyun.com                                    10,072
extras/7/x86_64                                 CentOS-7 - Extras - mirrors.aliyun.com                                     515
updates/7/x86_64                                CentOS-7 - Updates - mirrors.aliyun.com                                  4,926
repolist: 15,513

安装命令行提醒

[root@centos7 ~]# yum install bash-completion

配置网络

配置网络方式和工具有很多,笔者此前常使用方式是编辑 /etc/sysconfig/network-scripts/下cfg文件,这种方式比较直接,但是容易出错,出错后会导致服务器无法联网,不推荐。

场景:

当前服务器IP地址为172.20.186.232,掩码255.255.240.0,网关172.20.176.1,DNS 172.20.176.1将IP修改为172.20.186.233,DNS修改为114.114.114.114

#查看当前服务器IP,使用nmcli命令,ifconfig命令包会在后续的版本中淘汰
[root@centos7 ~]# nmcli
eth0: connected to eth0
        "The Linux Foundation Ethernet"
        ethernet (hv_netvsc), 00:15:5D:1F:39:00, hw, mtu 1500
        ip4 default
        inet4 172.20.186.232/20
        route4 0.0.0.0/0
        route4 172.20.176.0/20
        inet6 fe80::7a48:9fd5:991:9371/64
        route6 fe80::/64
        route6 ff00::/8

lo: unmanaged
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

DNS configuration:
        servers: 172.20.176.1
        domains: mshome.net
        interface: eth0

Use "nmcli device show" to get complete information about known devices and
"nmcli connection show" to get an overview on active connection profiles.

Consult nmcli(1) and nmcli-examples(5) manual pages for complete usage details.

#查看网络配置
[root@centos7 ~]# nmcli connection
NAME  UUID                                  TYPE      DEVICE
eth0  6471e464-b752-4418-97c3-94bac80d8ff9  ethernet  eth0

#查看硬件设备
[root@centos7 ~]# nmcli device
DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  eth0
lo      loopback  unmanaged  --

#添加新的网卡配置
[root@centos7 ~]# nmcli connection add con-name eth0-new ifname eth0 type ethernet ipv4.method manual ipv4.addresses 172.20.186.233/20 ipv4.gateway 172.20.176.1 ipv4.dns 114.114.114.114 autoconnect yes
Connection 'eth0-new' (e7c5636f-3b2e-4976-a71b-795d1ea1aa59) successfully added.
#参数说明:
con-name eth0-new #接口名称,可以随意设置
ifname eth0 #设备名称
type ethernet #类型为以太网
ipv4.method manual #手工指定静态IP
ipv4.addresses 172.20.186.233/20 #需要配置的静态IP和掩码,千万别忘记了掩码!!! 
ipv4.gateway 172.20.176.1 #网关地址
ipv4.dns 114.114.114.114 #DNS服务器地址
autoconnect yes #是否自动连接

#查看配置
[root@centos7 ~]# nmcli connection
NAME      UUID                                  TYPE      DEVICE
eth0      6471e464-b752-4418-97c3-94bac80d8ff9  ethernet  eth0
eth0-new  e7c5636f-3b2e-4976-a71b-795d1ea1aa59  ethernet  --

#切换配置为刚添加配置,切换后由于变更IP会断网
[root@centos7 ~]# nmcli connection up eth0-new

#重新登陆服务器,使用变更后的IP地址
ssh root@172.20.186.233
root@172.20.186.233's password:
'
#查看配置,可以看到已启用新添加的配置
[root@centos7 ~]# nmcli connection
NAME      UUID                                  TYPE      DEVICE
eth0-new  e7c5636f-3b2e-4976-a71b-795d1ea1aa59  ethernet  eth0
eth0      6471e464-b752-4418-97c3-94bac80d8ff9  ethernet  --
#查看network-scripts目录,发现多了一个配置文件
[root@centos7 ~]# cd /etc/sysconfig/network-scripts/
[root@centos7 network-scripts]# cat ifcfg-eth0-new
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=172.20.186.233
PREFIX=20
GATEWAY=172.20.176.1
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0-new
UUID=e7c5636f-3b2e-4976-a71b-795d1ea1aa59
DEVICE=eth0
ONBOOT=yes

#使用delete将旧的配置删除掉
[root@centos7 network-scripts]# nmcli connection delete eth0
Connection 'eth0' (6471e464-b752-4418-97c3-94bac80d8ff9) successfully deleted.
#查看
[root@centos7 network-scripts]# nmcli connection
NAME      UUID                                  TYPE      DEVICE
eth0-new  e7c5636f-3b2e-4976-a71b-795d1ea1aa59  ethernet  eth0

配置NTP时间同步

配置服务器的时间同步。

#安装包
[root@centos7 ~]# yum install chrony
#配置
[root@centos7 ~]# vi /etc/chrony.conf
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
#启动服务
[root@centos7 ~]# systemctl start chronyd
#配置开机自启,切记,如果忘记配置重启后服务没起来考试不给分
[root@centos7 ~]# systemctl enable chronyd
#检查自启配置
[root@centos7 ~]# systemctl is-enabled chronyd
enabled
#检查ntp配置是否生效
[root@centos7 ~]# chronyc  sources -v
210 Number of sources = 2

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 203.107.6.88                  2   6    37    59   +656us[-2276us] +/-   43ms
^- 120.25.115.20                 2   6    67    56  +7841us[+7841us] +/-   12ms
[root@centos7 ~]# ping ntp.aliyun.com
PING ntp.aliyun.com (203.107.6.88) 56(84) bytes of data.
64 bytes from 203.107.6.88 (203.107.6.88): icmp_seq=1 ttl=49 time=67.8 ms

配置sudo

#添加test用户
[root@centos7 ~]# useradd test
#切换test用户,并查看用户身份
[root@centos7 ~]# su test
[test@centos7 root]$ whoami
test
#配置sudo
[root@centos7 ~]# visudo
test ALL=(root) NOPASSWD: /usr/bin/whoami
#用户名   登陆者来源主机名=(可以切换身份:身份所属于组)无需密码:使用命令
#切换用户并使用sudo免密执行whoami
[root@centos7 ~]# su test
[test@centos7 root]$ sudo whoami
root

四、命令类

创建多个文件

#创建文件1,2,3
[root@centos7 ~]# touch {1..3}
#创建文件a,b,c,d,e
[root@centos7 ~]# touch {a..e}
[root@centos7 ~]# ll
total 4
-rw-r--r--. 1 root root    0 May 15 16:54 1
-rw-r--r--. 1 root root    0 May 15 16:54 2
-rw-r--r--. 1 root root    0 May 15 16:54 3
-rw-r--r--. 1 root root    0 May 15 16:54 a
-rw-------. 1 root root 1258 May 14 09:59 anaconda-ks.cfg
-rw-r--r--. 1 root root    0 May 15 16:54 b
-rw-r--r--. 1 root root    0 May 15 16:54 c
-rw-r--r--. 1 root root    0 May 15 16:54 d
-rw-r--r--. 1 root root    0 May 15 16:54 e

匹配文件内容

#匹配文件内容包含root的行
[root@centos7 ~]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
#匹配以root开头的文件行
[root@centos7 ~]# grep -P "^root" /etc/passwd
root:x:0:0:root:/root:/bin/bash

查找文件

#查找/etc目录下,文件名为passwd的文件
[root@centos7 ~]# find /etc -type f -name 'passwd'
/etc/pam.d/passwd
/etc/passwd
[root@centos7 home]# touch {a..f}
[root@centos7 home]# ls
a  b  c  d  e  f
[root@centos7 home]# mkdir /tmp/test
#查找/home目录下用户为root的文件,并将文件复制到/tmp/test目录下
[root@centos7 home]# find /home/ -type f -user root -exec cp -a {} /tmp/test/ \;
[root@centos7 home]# ls /tmp/test/
a  b  c  d  e  f
#查找/usr目录下大小范围在10-50K之间并且组id不为root的文件 
[root@centos7 home]# find /usr  -size -50k -size +10k -gid +0
/usr/bin/wall
/usr/bin/write
/usr/libexec/utempter/utempter
#查看文件属性
[root@centos7 home]# ll /usr/bin/wall
-r-xr-sr-x. 1 root tty 15344 Jun 10  2014 /usr/bin/wall

创建用户

[root@centos7 home]# mkdir work
#添加test用户并指定家目录
[root@centos7 home]# useradd -d /home/work/ test
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

[root@centos7 home]# id test
uid=1000(test) gid=1000(test) groups=1000(test)
#添加abc用户,并指定为test用户组,不可登陆
[root@centos7 home]# useradd -G test -s /sbin/nologin abc
[root@centos7 home]# cat /etc/passwd|grep abc
abc:x:1001:1001::/home/abc:/sbin/nologin
[root@centos7 home]#
#修改用户test密码
[root@centos7 home]# echo 123456 | passwd --stdin test
Changing password for user test.
passwd: all authentication tokens updated successfully.

五、操作类

找回密码

1、重启服务器,在开机后的启动项页面按e键

2、找到linux开头项,从行尾删除直至ro(ro也要删除掉)


找到对应行

3、删除完后,添加rd.break。(如下图),添加完成后按ctrl + x

修改结果

4、等待一段时间,执行下面命令

#将分区挂载为可读写
mount -o rw,remount /sysroot/
#将sysroot设置为根
chroot /sysroot/
#修改密码
echo 123456 | passwd --stdin root
#重新生成selinux标签
touch /.autorelabel
#退出 
exit
#重启
reboot
修改密码过程
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容