开始学习之前 将三台虚拟机按顺序全部重置一次 以免昨天输入的内容对今天的学习产生影响
rht-vmctl reset classroom #昨天的博客 vmctl写成了vmclt
rht-vmctl reset server 更正一下~
rht-vmctl reset desktop
为虚拟机server配置以下静态参数
– 主机名:server0.example.com
– IP地址:172.25.0.11
– 子网掩码:255.255.255.0
– 默认网关:172.25.0.254
– DNS服务器:172.25.254.254
vim /etc/resolv.conf
====>vim 中 nameserver 172.25.254.254
退出vim
测试DNS解析命令
[root@server0 ~]# nslookup server0.example.com
#####################################################
搭建YUM仓库
[root@server0 ~]# rm -rf /etc/yum.repos.d/*
[root@server0 ~]# vim /etc/yum.repos.d/abc.repo
http://172.25.254.254/content/rhel7.0/x86_64/dvd/
[root@server0 ~]# yum clean all
[root@server0 ~]# yum repolist
#################################################
查看文本文件内容
cat : 适合查看内容较少的文件
less : 适合查看内容较多的文件
看文本文件部分内容
head -n : 头几行
tail -n : 尾几行
查看时间
date
计算器
bc
######################################################
管道 : 将前面命令的输出结果,交由后面命令处理,当作后面命令的参数
显示/etc/passwd文本内容8--12行?
[root@server0 /]# head -12 /etc/passwd | tail -5
[root@server0 /]# cat -n /etc/passwd | head -12 | tail -5
[root@server0 /]# cat -n /etc/passwd | less
[root@server0 /]# echo 1+1 | bc
[root@server0 /]# echo 8*8 | bc
[root@server0 /]# ifconfig | head -2
######################################################
grep:查看文本文件内容, 显示包含指定“字符串”的行
– grep [选项] ‘匹配字符串‘ 文本文件...
[root@server0 /]# grep ‘root‘ /etc/passwd
[root@server0 /]# grep ‘man‘ /etc/man_db.conf
[root@server0 /]# grep ‘Root‘ /etc/passwd
[root@server0 /]# grep -i ‘Root‘ /etc/passwd #忽略大小写
[root@server0 /]# grep ‘root‘ /etc/passwd
[root@server0 /]# grep -v ‘root‘ /etc/passwd #取反,不包含
#################################################
– ^word 以字符串word开头
– word$ 以字符串word结尾
[root@server0 /]# grep ‘^root‘ /etc/passwd
[root@server0 /]# grep ‘root$‘ /etc/passwd
[root@server0 /]# grep ‘bash$‘ /etc/passwd
匹配空行
[root@server0 /]# grep ‘^$‘ /etc/default/useradd
去除空行,显示
[root@server0 /]# grep -v ‘^$‘ /etc/default/useradd
正则表达式 : 用描述的语言去表达心中所想
去除注释与空行,显示有效数据:
# grep -v ‘^#‘ /etc/login.defs | grep -v ‘^$‘
#####################################################
find 按条件查找文件
根据预设的条件递归查找对应的文件
– find [目录] [条件1]
– 常用条件表示:
-type 类型(f 文件、d 目录、l 快捷方式)
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
[root@server0 /]# find /boot/ -type l
[root@server0 /]# ls /boot/grub/menu.lst
[root@server0 /]# ls -l /boot/grub/menu.lst
[root@server0 /]# find /boot/ -type f
[root@server0 /]# find /boot/ -type d
[root@server0 /]# find /etc/ -name "passwd"
[root@server0 /]# find /etc/ -name "*tab*"
[root@server0 /]# mkdir /root/install
[root@server0 /]# touch /root/install.log
[root@server0 /]# touch /root/install.bak
[root@server0 /]# find /root -name "install*"
[root@server0 /]# find /root -name "install*" -type d
[root@server0 /]# find /root -name "install*" -type f
[root@server0 /]# find /boot/ -size +10M
[root@server0 /]# find /boot/ -size -10M
使用find命令的 --exec 操作
– find .. .. -exec 处理命令 {} \;
# find /boot/ -size +10M
# find /boot/ -size +10M -exec cp -r {} /opt/ \;
# ls /opt
# find /etc/ -name "*tab"
# find /etc/ -name "*tab" -exec cp -r {} /mnt/ \;
# ls -A /mnt
##################################################
# mkdir /root/findfiles
# find / -user student -type f -exec cp -r {} /root/findfiles/ \;
###################################################
用户与组管理
用户账户:
1.可以登陆操作系统
2.可以进行访问控制(不同的用户权限不同)
组账户: 方便管理用户账户(权限)
用户账户 与 组账户 唯一标识: UID GID
管理员 UID为:0
组账户: 基本组 附加组(公共组 从属组)
##################################################
使用 useradd 命令
– useradd [选项]... 用户名
常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -g 基本组、-G 附加组
[root@server0 /]# id nsd01
[root@server0 /]# grep ‘nsd01‘ /etc/passwd #用户基本信息
nsd01:x:1002:1002::/home/nsd01:/bin/bash
用户名:密码占为符:UID:GID:用户的描述信息:家目录:解释器
[root@server0 /]# useradd nsd01
[root@server0 /]# id nsd01
[root@server0 /]# grep ‘nsd‘ /etc/passwd
[root@server0 /]# useradd -u 1100 nsd02 #指定UID
[root@server0 /]# grep ‘nsd‘ /etc/passwd
[root@server0 /]# useradd -d /op/haha nsd03 #指定家目录
[root@server0 /]# grep ‘nsd‘ /etc/passwd
指定登陆的解释器程序
[root@server0 /]# useradd -s /sbin/nologin nsd04
[root@server0 /]# grep ‘nsd‘ /etc/passwd
如果用户的解释器程序为/sbin/nologin则不能登陆操作系统
[root@server0 /]# useradd -g nsd01 nsd09
[root@server0 /]# id nsd09
[root@server0 /]# useradd -G nsd01 nsd10
[root@server0 /]# id nsd10
#############################################
用户密码信息存放在 /etc/shadow 文件
使用 passwd 命令
– passwd [用户名]
– echo ‘密码‘ | passwd --stdin 用户名
补充命令:命令临时切换用户身份
[root@server0 /]# su - 用户名
[root@server0 /]# echo 123 | passwd --stdin nsd01
[root@server0 /]# echo 123 | passwd --stdin nsd02
[root@server0 /]# su - nsd01
[nsd01@server0 ~]$ passwd
[nsd01@server0 ~]$ exit #退回到root
[root@server0 /]#
####################################################
修改用户属性
使用 usermod 命令
– usermod [选项]... 用户名
常用命令选项
– -u 用户id、-d 家目录路径、-s 登录Shell
– -g 基本组、
– -G 附加组
[root@server0 /]# useradd nsd11
[root@server0 /]# grep ‘nsd11‘ /etc/passwd
# usermod -u 1200 -d /opt/test -s /sbin/nologin nsd11
[root@server0 /]# grep ‘nsd11‘ /etc/passwd
#####################################################
删除用户
使用 userdel 命令
– userdel [-r] 用户名 #并且删除家目录
常见提示:权限不足
Permission denied
#####################################################
组账户管理
添加组
组基本信息存放在 /etc/group 文件
[root@server0 ~]# head -1 /etc/group
root:x:0:
组名:密码占位符:GID:组成员列表
使用 groupadd 命令
– groupadd [-g 组ID] 组名
[root@server0 ~]# useradd kenji
[root@server0 ~]# useradd tom
[root@server0 ~]# useradd kaka
[root@server0 ~]# useradd henter
[root@server0 ~]# groupadd tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
tarena:x:1110:
使用 gpasswd 命令
– gpasswd -a 用户名 组名
– gpasswd -d 用户名 组名
– gpasswd -M ‘用户名,用户名‘ 组名 #可以添加多个
[root@server0 ~]# grep ‘tarena‘ /etc/group #查看组信息
[root@server0 ~]# gpasswd -a kenji tarena #加入组成员
[root@server0 ~]# id kenji
[root@server0 ~]# gpasswd -a tom tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -a kaka tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -d kenji tarena #删除组成员
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -M ‘kenji,henter‘ tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -M ‘kenji,kaka,tom,henter‘ tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
[root@server0 ~]# gpasswd -M ‘‘ tarena
[root@server0 ~]# grep ‘tarena‘ /etc/group
删除组
使用 groupdel 命令
– groupdel 组名
#########################################################
归档及压缩
1.节约空间
2.方便对零散文档的管理
tar 集成备份工具
– -c:创建归档
– -x:释放归档
– -f:指定归档文件名称
– -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
– -C(大写) :指定释放位置
– -t:显示归档中的文件清单
– -P(大写) :保持归档内文件的绝对路径
[root@server0 ~]# rm -rf /opt/*
[root@server0 ~]# rm -rf /mnt/*
# tar -zcf /opt/file.tar.gz /boot/ /etc/passwd
[root@server0 ~]# ls /opt
[root@server0 ~]# tar -xf /opt/file.tar.gz -C /mnt
[root@server0 ~]# ls /mnt
[root@server0 ~]# ls /mnt/etc
[root@server0 ~]# ls /mnt/boot
使用 tar -c ... 命令
– tar -zcf 备份文件.tar.gz 被备份的文档....
– tar -jcf 备份文件.tar.bz2 被备份的文档....
– tar -Jcf 备份文件.tar.xz 被备份的文档....
[root@server0 ~]# tar -tf /opt/file.tar.gz
以绝对路径方式,利用bzip2压缩方式,打包并压缩
# tar -Pjcf /root/backup.tar.bz2 /usr/local/
# ls /root/
# tar -tf /root/backup.tar.bz2 #查看包里面内容
-z 代表gzip压缩格式
-j 代表bzip2压缩格式
-J 代表xz压缩格式
###################################################
NTP网络时间协议
Network Time Protocol
– NTP服务器为客户机提供标准时间
– NTP客户机需要与NTP服务器保持沟通
装包、配置、起服务
一、服务端,Linux系统上一款软件
NTP时间同步服务器,classroom
二、客户端server,安装客户端软件
RHEL7客户端的校时服务
– 软件包 : chrony
– 配置文件 : /etc/chrony.conf
– 系统服务 : chronyd
[root@server0 ~]# rpm -q chrony
chrony-1.29.1-1.el7.x86_64
[root@server0 ~]# vim /etc/chrony.conf
#server 0.rhel.pool.ntp.org iburst #注释
#server 1.rhel.pool.ntp.org iburst #注释
#server 2.rhel.pool.ntp.org iburst #注释
server 172.25.254.254 iburst #指定服务端IP地址
.......
[root@server0 ~]# systemctl restart chronyd #重起服务
[root@server0 ~]# systemctl enable chronyd #设置开机自起
验证:
[root@server0 ~]# date
[root@server0 ~]# date -s "2008-09-08 11:11:11" #修改时间
[root@server0 ~]# date
[root@server0 ~]# systemctl restart chronyd #重起服务,同步
[root@server0 ~]# date #此处大概需要10秒才会成功
[root@server0 ~]# date
[root@server0 ~]# date
原文地址:http://13405801.blog.51cto.com/13395801/1977155