RHCA考试基础(二)

练习环境

每个学员机上有三台预先配置好的虚拟机

server —— 作为练习用服务器  172.25.0.11

desktop —— 作为练习用客户机  172.25.0.10

classroom —— 提供网关/DNS/软件素材等资源  172.25.0.254

虚拟机Server

    P地址:172.25.0.11

    主机名:server0.example.com

    系统版本:RHEL 7.0

虚拟机Desktop

    IP地址:172.25.0.10

    主机名:desktop0.example.com

    系统版本:RHEL 7.0

 

真机远程管理

    Ctrl+Shift+t : 新开一个终端

    ssh -X 登陆对方的用户名@IP地址 

    [root@localhost ~]# ssh [email protected]

    [root@server0 ~]# exit        #退出远程管理

 

简单的软件包管理

RPM Package Manager,RPM包管理器

    rpm -q   软件名...        //查看软件是否安装

    rpm -ivh 软件名-版本信息.rpm...      //安装软件

    rpm -e   软件名...      //卸载软件

举例:

    [root@server0 ~]# rpm -q vsftpd     #查看vsftpd软件包是否安装

    [root@server0 ~]# rpm -ivh /dvd/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm 

    [root@server0 ~]# rpm -e vsftpd     #卸载软件包

 

了解内容:导入红帽光盘包的签名信息

    [root@server0 ~]# rpm --import /dvd/RPM-GPG-KEY-redhat-release 

 

Yum软件包仓库配置及使用自动解决依赖关系

服务:为客户端自动解决依赖关系,并且安装软件

服务端虚拟机classroom 搭建完成Web服务,共享光盘所有内容

验证:浏览器中http://classroom.example.com/content/rhel7.0/x86_64/dvd/

 

客户端:虚拟机server

    修改配置文件,指定服务端位置/etc/yum.repos.d/*.repo

    注:正确的文件与错误的文件会相互影响

    [root@server0 ~]# rm -rf /etc/yum.repos.d/*      //清空yum源目录

    [root@server0 ~]# vim /etc/yum.repos.d/dvd.repo

        [rhel7]                          #仓库标识

        name=nsd rhel7          #仓库描述信息

        baseurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd/     #服务端具体位置路径

        enabled=1                                                            #是否启用该文件

        gpgcheck=0                                                         #是否检测软件包签名信息

    [root@server0 ~]# yum repolist                                #列出仓库信息

    [root@server0 ~]# yum -y install httpd                     #安装软件

    [root@server0 ~]# yum list sssd                                #列软件

    [root@server0 ~]# yum  remove  软件名      #卸载软件 

    [root@server0 ~]# yum clean all                               #清缓存

 

配置网络地址

永久配置主机名 

    [root@server0 ~]# vim /etc/hostname

配置IP地址

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

连接管理:nmcli    

1.查看nmcli命令识别的网卡名字

    [root@A ~]# nmcli connection show

2.配置ip地址

    [root@server0 ~]# nmcli connection modify 'System eth0'   \

                   > ipv4.method manual  \                               

                   > ipv4.addresses '172.25.0.110/24 172.25.0.254'   \      

                   > connection.autoconnect yes

格式:

    #nmcli 连接网络配置 '网卡识别的名字'       

    #ipv4.method 配置ip地址的方法  //auto自动获取 manual手工配置

    #ipv4.addresses 'ip地址/子网掩码 网关地址'         

    #connection.autoconnect yes      //每次开机自动启用

3.激活配置

    [root@server0 ~]# nmcli connection up 'System eth0'

    [root@server0 ~]# ifconfig    #查看ip地址

    [root@server0 ~]# route       #查看网关地址   gateway

DNS-Domain Name Server服务器配置

作用: 域名解析为对应IP地址

DNS服务器虚拟机classroom

配置文件: /etc/resolv.conf 

 

虚拟机Server

    [root@server0 ~]# vim /etc/resolv.conf 

    nameserver  172.25.254.254

    [root@server0 ~]# nslookup desktop0.example.com

 

查找文本内容

根据字符串模式提取文本行

    grep [选项] '匹配模式'    文本文件...

    -v,取反匹配

    -i,忽略大小写

    [root@server0 ~]# grep 'root'  /etc/passwd

    [root@server0 ~]# grep -i 'ROOT'  /etc/passwd   #忽略大小写

    [root@server0 ~]# grep -v 'root'  /etc/passwd   #不要包含root

    ^word  以字符串word开头

    word$  以字符串word结尾

    [root@server0 ~]# grep '^root' /etc/passwd    #root开头的行

    [root@server0 ~]# grep 'root$' /etc/passwd    #root结尾的行

重定向输出

    > : 覆盖重定向      #将前面命令的输出,写入文本文件中自带touch功能

    >> : 追加重定向  

    [root@server0 ~]# grep 'bash$' /etc/passwd > /opt/nsd.txt

    [root@server0 ~]# hostname  >>  /opt/1.txt 

echo  字符串输出

  [root@server0 ~]# echo hello world

  [root@server0 ~]# echo 123456 > /opt/1.txt

  [root@server0 ~]# echo server0.example.com >  /etc/hostname

  [root@server0 ~]# echo nameserver 172.25.254.254 > /etc/resolv.conf

 

管理用户和组

唯一标识: UID 编号 GID 编号

管理员用户rootUID 0

普通用户UID:从UID 1000

组:基本组(私有组)  附加组(从属组 公共组)   

 

添加用户

用户基本信息存放在 /etc/passwd 文件

    [root@server0 ~]# head -1 /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    用户名:密码占位符:UID:GID:用户描述信息:家目录:解释器程序(shell)

useradd  添加用户命令

常用命令选项

    -u 用户id-d 家目录路径、-s 登录Shell解释器 、-G 附加组、-g 基本组

    [root@server0 ~]# useradd -d /mnt/abc nsd06        #指定家目录创建用户

    [root@server0 ~]# useradd -u 1100 nsd02               #指定UID创建用户

    [root@server0 ~]# useradd -s /sbin/nologin nsd07  #指定解释器,禁止用户登陆操作系统

    [root@server0 ~]# groupadd tarena                        #创建tarena

bc Linux计算器  

    [root@server0 ~]# bc

    1+1         #加法

    2*3          #乘法

    10/3        #除法

    10%3       #取余数运算,余数一定小于被除数

    [root@server0 ~]# quit  #退出计算器

管道操作  |

作用:将前面命令的输出结果,交由后面命令处理,最后输出最后命令的结果

    [root@server0 ~]# cat -n /etc/passwd | head -12 | tail -5

    [root@server0 ~]# ifconfig | head -2

    [root@server0 ~]# grep 'root' /etc/passwd | grep 'bash'

 passwd:密码设置命令

 用户密码信息存放在 /etc/shadow 文件

    [root@server0 ~]# passwd harry

    [root@server0 ~]# su - harry         #临时切换用户身份

    [harry@server0 ~]$ passwd          

    [root@server0 ~]# echo 123 | passwd --stdin harry   #非交互式设置密码

usermod  更改用户信息

    -u 用户id-d 家目录路径、-s 登录Shell解释器、-G 附加组、-g 基本组

    [root@server0 ~]# usermod -u 1300 -d /opt/abc -s /sbin/nologin -G root natasha

    [root@server0 ~]# grep 'natasha' /etc/passwd

    [root@server0 ~]# id natasha

补充: 也可以vim修改/etc/passwd 文件内容更改用户信息

userdel  删除用户

    -r:连同用户家目录一并删除

    [root@server0 ~]# userdel -r nsd01

管理组账号

组基本信息存放在 /etc/group 文件

    [root@server0 ~]# groupadd stugrp

    [root@server0 ~]# tail -1 /etc/group

    stugrp:x:1002:

    组名:组的密码占位符:本组的GID编号:本组成员的列表

    [root@server0 ~]# useradd kenji 

使用gpasswd命令

    gpasswd -a 用户名 组名     #用户加入组

    gpasswd -d 用户名 组名     #从组中删除用户

    [root@server0 ~]# gpasswd -a kenji stugrp

    [root@server0 ~]# gpasswd -d tom stugrp

    [root@server0 ~]# grep 'stugrp' /etc/group

groupdel  删除组命令

    [root@server0 ~]# groupadd stugrp    //删除组stugrp

 

tar备份与恢复

归档的含义

    将许多零散的文件整理为一个文件

    文件总的大小基本不变

压缩的含义

    按某种算法减小文件所占用空间的大小

    恢复时按对应的逆向算法解压

 

Linux独有的压缩工具 

    gzip -------> *.gz

    bzip2 ------> *.bz2

    xz ----------> *.xz

    [root@server0 opt]# gzip /opt/group 

    [root@server0 opt]# bzip2 /opt/passwd 

    [root@server0 opt]# xz /opt/shadow 

tar 集成备份工具

    tar  [选项] tar包名字  被归档的文件

    [root@server0 /]# tar -cPf test01.tar  /home/  /mnt/

    [root@server0 /]# tar -xf /opt/file01.tar -C /nsd/


    -c:创建归档   -P:保持路径不变进行归档   -f:指定归档包的名字

    -x: 释放归档  -C:指定释放位置       -t:查看tar包内容

     [root@server0 /]# tar -tf /root/test.tar     #查看tar包里面内容

     [root@server0 /]# tar -xPf /root/test.tar    #绝对路径释放


    -z-j-J : 调用 .gz.bz2.xz 格式的工具进行处理

    [root@server0 ~]# tar -zcPf /opt/nsd.tar.gz  /home/

    [root@server0 ~]# tar -jcPf /opt/abc.tar.bz2  /home/

    [root@server0 ~]# tar -JcPf /opt/home.tar.xz  /home/

    [root@server0 ~]# tar -xf /opt/nsd.tar.gz -C /mnt/

 

查看日期时间

    [root@server0 ~]# date

    2018年 03月 14日 星期三 17:21:38 CST

    [root@server0 ~]# date +%F          #显示年--

    [root@server0 ~]# date +%Y          #显示年

    [root@server0 ~]# date +%m         #显示月

    [root@server0 ~]# date +%d          #显示当天是多少号

    [root@server0 ~]# date +%H          #显示时

    [root@server0 ~]# date +%M         #显示分

修改时间

    [root@server0 ~]# date -s "--日 时:分:秒"

 

NTP时间同步

NTP-Network Time Protocol网络时间协议

NTP服务器为客户机提供标准时间

NTP客户机需要与NTP服务器保持沟通

    服务端:服务端软件,classroom.example.com  NTP服务器

    客户端:客户端软件.虚拟机server

1.安装客户端同步时间的软件chrony

    [root@server0 ~]# yum -y install chrony      

2.修改配置文件指定服务端位置

    [root@server0 ~]# vim /etc/chrony.conf

    server classroom.example.com iburst

3.重启服务

   [root@server0 ~]# systemctl restart chronyd   #重起服务

   [root@server0 ~]# systemctl enable chronyd    #开机启动

4.验证:

   [root@server0 ~]# systemctl restart chronyd

   [root@server0 ~]# date

 

cron计划任务

用途:按照设置的时间间隔为用户反复执行某一项固定的系统任务

软件包:croniecrontabs  系统服务:crond  日志文件:/var/log/cron

编写crontab任务记录

    * * * * * COMMAND

    分 时 日 月 周 命令

    *:匹配范围内任意时间    ,:分隔多个不连续时间点

    -:制定连续的时间范围    /n:指定时间频率

 

使用crontab命令

crontab -e [-u 用户名]

    [root@server0 ~]# crontab -e -u root

    *  *  *  *  *    date >> /opt/time.txt

    [root@server0 ~]# cat /opt/time.txt

 

find 按条件查找文件

根据预设的条件递归查找对应的文件

find [目录] [条件1] [-a|-o] [条件2] ...

    -type 类型(f文件、d目录、l快捷方式)

    -name "文档名称"

    -size +|-文件大小(kMG)

    -user 所有者

    -group 所属组

    [root@server0 ~]# find /boot/ -type l     #查找是快捷方式

    [root@server0 ~]# find /boot/ -type d     #查找是目录

    [root@server0 ~]# find /boot/ -type f     #查找是文本文件

    [root@server0 ~]# find /root/ -name "nsd*"  #文件名称查找

    [root@server0 ~]# find /boot/ -size +300k   #文件大小查找

    [root@server0 ~]# find / -user wangwu       #用户名称查找


举例:请显示/etc目录下以.conf结尾的?(包含子目录)

    [root@server0 ~]# find /etc  -name  "*.conf"

举例:请显示/etc目录下以.conf结尾的?(不包含子目录)

    [root@server0 ~]# ls /etc/*.conf


使用find命令的-exec 操作

    find .. .. -exec 处理命令 {} \;

    优势{} 代替每一个结果,逐个处理\; 结束

    [root@server0 ~]# find /boot/ -size +300k -exec cp -r {} /opt \;

    [root@server0 ~]# find / -user student -type f -exec cp {} /root/findfile \;

 根据名称查找忽略大小写

    -iname

    [root@server0 ~]# find /etc/ -name "PASSWD"

    [root@server0 ~]# find /etc/ -iname "PASSWD"

根据账号名称或所属组

    -user-group

    [root@server0 ~]# find /home/ -group student

限制目录查找的深度(最大层数)

    -maxdepth

    [root@server0 ~]# find /etc/ -maxdepth  1  -name  "*.conf"

    [root@server0 ~]# find /etc/ -maxdepth  2  -name  "*.conf"

你可能感兴趣的:(RHCA)