时间管理
# 1 centos 7 新增方式 systemd的一部分
timedatectl # 查看日期与时间
timedatectl set-time 23:06:45 # 更新系统时间与硬件时间
timedatectl set-time YYYY-MM-DD 23:06:45 # 更新日期
systemctl restart systemd-timedated.service # 重启时间,使修改生效
timedatectl list-timezones|grep Asia # 列出时区
timedatectl set-timezone Asia/Hong_Kong # 更改时区
timedatectl set-ntp yes/no # 远程自动同步开启/关闭
timedatectl set-local-rtc yes/no # yes使用本地时间 no使用UTC时间
# 2 软件时间
date
date -R
date "+%Y-%m-%d %H:%M:%S"
date -s "2019-10-03 23:00:00" #修改时间
# 3 硬件时间(real-time clock)RTC 建议使用UTC
hwclock
hwclock --set --date "21 Oct 2019 17:53" --utc # 修改硬件时间,并设置为utc
hwclock --systohc --utc # 硬件时钟与系统时间同步,并设置为UTC时间
hwclock --systohc --localtime # 硬件时钟与系统时间同步,并设置为本地时间
hwclock -w --localtime
# 操作
date # 查看系统时间
hwclock # 查看硬件时间
timedatectl set-timezone Asia/Shanghai # 更新时区
timedatectl set-time 2017-06-13 18:18:00 # 更新日期时间
timedatectl set-local-rtc 1 # 更新硬件时间与系统时间一致
hwclock --systohc --localtime # 更新硬件时间与系统时间一致
clock –w # 日期写入cmos
主机名称
# 主机配置
hostname # 查看主机名称
hostneme 【名称】 # 修改主机名称(临时修改,重启后失效)
vim /etc/sysconfig/network # 永久修改主机名称(重启后生效) centos 6
# NETWORKING=yes
# HOSTNAME=hadoop01
hostnamectl set-hostname 【名称】 # 修改主机名称,立刻永久生效 centos 7
# 主机映射:给别的机器起别名,也可以给自己起化名
# linux vim /etc/hosts
# win c:\\windows\system32\drivers\etc\hosts
# 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
# ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
# 192.198.2.101 centos01
# 192.168.2.102 centos02
系统启动级别
# 系统启动级别
# poweroff.target 0 关机(不要设置为默认)
# rescue.target 1 单用户(救援模式)
# multi-user.target 2 多用户无网络(2和3一致,只是没有网络)
# multi-user.target 3 全功能多用户
# 4 未使用
# graphical.target 5 图形界面
# reboot.target 6 重启(不要设置为默认)
# centos 7 操作
systemctl get-default # 查看默认的target
systemctl set-default multi-user.target # 修改启动级别为level3启动
systemctl rescue # 进入救援模式,会加载驱动
systemctl emergency # 进入救援模式,不会加载驱动系统服务
# centos 6 操作
runlevel # 查看用户启动级别
vim /etc/inittab # 系统启动级别配置文件
系统开机自启动服务
# 系统开机自启服务
# centos 7 操作
systemctl list-unit-files --type service # 查所有服务
systemctl list-dependencies --after # 指定服务的依赖服务
systemctl list-dependencies --before # 指定服务的服务对象
systemctl is-enabled name.service # 查服务是否自启
systemctl status name.service # 查服务状态
systemctl enable/disable name.service # 启用/停用
# centos 6 操作
chkconfig --list
chkconfig --list name
chkconfig name on/off
用户与用户组
# 用户是权限的集合,用户组是权限容器
who # 查看登陆用户
w 【用户名】 # 查看某一用户
last # 查看登陆历史记录
# 用户分类
# 管理员用户 root uid --> 0
# 系统用户 保证系统正常运行,没有密码 uid --> 1-499
# 普通用户 权限受限用户 uid --> 500-60000
cat /etc/passwd # 查看用户 cat /etc/shadow 密码文件
user add 【用户名】 # 添加用户
passwd 【用户名】 # 修改密码 --> 后续根据提示操作
user mod 【选项】【用户名】 # 修改用户属性
user del 【用户名】 # 删除用户
# 配置sudoer 权限(普通用户临时拥有系统权限)
su 【用户名】 #切换用户
# root用户下操作:
vim /etc/sudoers
# root ALL=(ALL) ALL
# 普通用户名 ALL=(ALL) ALL
# 配置后,普通用户 做root权限操作,需要用sudo开头
sudo useradd 【用户名】
exit 退出用户(切换多次用户,换的时候可以退出当前用户)
# 用户组分类
# 系统组
# 私有组
# 普通用户组
cat /etc/group # 查看组 cat /etc/gshadow
groupadd
groupmod
groupdel
gpasswd -a/-d 【用户名】【组名】
系统进程管理
# 系统进程管理
# 状态:
# 1 就绪状态 除了cpu资源,其他的都已经就绪了
# 2 运行状态 就绪进程获得了cpu资源
# 3 阻塞状态
ps -aux | grep aaa # 查看进程状态
pstree # 查看进程树
top # 查看动态进程状态 # q退出
jps # java中的命令,查看jvm中的进程
kill -9 pid # 强制杀死进程(不可滥用,能正常关闭的不要用kill)
pidof 程序 # 查看某个程序的pid
ctrl+c # 终止进程
crtl+z # 挂起进程(暂停执行)
jobs # 查看任务,后台运行的进程
fg # 转换到前台运行
bg # 转换到后台运行
uptime # 系统负载
lsof # 查看进程打开的文件,打开文件的进程,进程打开的端口
screen # 会话管理 # 用于远程登陆,CRT长时间连接,超时断开后脚本也会停止运行
计划任务
# 服务启动 centos 7
systemctl status crond # 查看计划任务状态
yum install crontabs # 安装 crontabs
systemctl start crond # 启动crond服务
systemctl enable crond # 设为开机启动
vi /etc/crontab # 设置用户自定义定时任务
# * * * * * user-name command to be executed
crontab /etc/crontab # 使生效
crontab -l # 查看计划任务
crontab -u 用户名 -l # 列出用户的定时任务列表
# centos 6
yum install -y crontabs
service crond start/status
# 2 编辑计划任务
crontab -e # 分 时 日 月 星期(0-6) command
# 每分钟执行 # * * * * *date>>/home/a.txt
# 0,30 * * 6
cd /var/spool/cron/ # 用户级计划任务
crontab -r # 删除计划任务
网络管理
# 网络管理
# 网络通讯模式(三种)
# 桥接模式 宿主机的物理网卡和虚拟交换机之间通过虚拟网桥建立连接
# (主机数有限,不利于搭建大型集群)
# NAT模式 两条路:
# 虚拟网卡(vmnet8)和虚拟交换机(vmnet8)之间建立连接;
# 虚拟交换机(vmnet8)和物理网卡通过NAT设备建立连接。
# 通过虚拟NAT设备相连:用于网络地址转换
# 仅主机模式 没有外部网络连接,相当于NAT模式中去掉了虚拟NAT设备
# 实操
# NAT 虚拟网络设置子网IP:192.168.2.0
# 查到此时的子网网关(192.168.2.2)
# linux 图形设置
# method:manual
# address:192.168.2.101
# nwtmask:255.255.255.0
# gateway:192.168.2.2
# DNS server:192.168.2.2
serveice network restart
# 命令行设置
inconfig # 查看网络接口信息,找到网卡名称(ens33)
ip addr # centos 7 查 ip地址信息
ifconfig ens33 up/dowm # 开启/关闭网卡
vim /etc/sysconfig/network-scripts/ifcfg-网卡名称
# device=ens33 # 网卡名称
# uuid= # 网卡标识
# onboot=yes/on # 是否开机自动连接
# bootproto=dhcp/static/none # 动态协议/静态/静态
# hwaddr= # mac地址
# ipaddr=192.168.2.101 # ip地址
# gateway=192.168.2.2 # 网关
# dns1=192.168.2.2 # dns
# netmask= # 子网掩码
service network restart # 设置完成后重启服务
# 网络管理命令
ping # 测试网络联通状态
host # 根据域名查看IP
netstat # 查看程序端口占用情况
netstat -nltp # 查看正在监听TCP协议的程序,(端口相关篇有介绍)
ssh免密登陆
# ssh免密登陆
# 安全外壳协议,实现计算机之间的加密传输。
scp -r /etc/hosts root@centos01 /etc/hosts # 发送文件给01主机的root用户
# 配置免密登陆
# 1 生成密钥对
ssh-keygen
# 2 发送公钥到对方授权池
ssh-copy-id centos01 # 发送给01机 # 发送前先要做主机映射
集中日志管理
# yum install rsyslog logrotate (默认已安装)
# systemctl start rsyslog.service //启动
软件 安装
# 软件安装方式:
# 1 二进制发布包 :已经根据平台编译并打包,只需要解压和配置即可使用
# 2 rpm发布包 :采用redhat的包管理规范进行打包。rpm包使用rpm命令安装
# 缺点 :不能解决包依赖的问题
# 3 yum在线安装 · :前端包管理的工具 会检测包依赖并自动下载安装
# 同时提供搜索,以及处理依赖问题
# 4 源码编译安装 :以源码工程方式发布,需要先编译 再安装部署
# rpm 查询与卸载
rpm -q 程序 #
rpm -qa | grep -i 程序 # 查询已安装包
rpm -ql 程序 # 安装位置
rpm -e 程序包 # 卸载
--nodeps # 依赖
--force # 强制
rpm -ivh 程序 # 安装
rpm -uvh 程序 # 升级
# yum 在线安装
yum install 程序 # 安装
yum remove 程序 # 卸载
yum update 程序 # 更新
yum -y install/remove/update # 无需询问,直接安装/卸载/更新
# yum源 配置
cd /etc/yum.repos.d/ # repo文件配置了软件的下载路径
yum repolist # yum源列表
yum list # yum源的软件列表
yum list | grep jdk
# 自建本地yum源
# 1 搭建服务器
service httpd start
# httpd 资源路径:/var/www/html/
# httpd 配置文件目录:/etc/httpd/conf.d/
# 2 存放rpm软件到服务器
ln -s /mnt/cdrom/ /var/www/html/
# 3 在yum源配置文件中添加访问路径
cp # 配置文件模板复制 然后修改模板
【local】
name=
baseurl=
gpgcheck=0
enabled=1
# 4 使用
# java安装流程
# 1 获取安装包
# wget http://.......
# CRT 带有ftp插件 alt+p 调出 用 put -r 命令上传 还有 rz sz 命令进行上传下载
# 查看是否安装软件(java)
java -version
rpm -qa | grep -i jdk # 查看系统是否安装了java -i忽略大小写
rpm -e --nodeps 软件包 # 卸载软件包
# 2 解压
# 3 配置
/etc/profile # 全局配置
vi /etc/profile # 打开配置文件
# G到最后一行
# 添加:export JAVA_HOME=/opt/... export 是提升为全局变量的意思
# 添加: export PATH=${JAVA_HOME}\bin:${PATH} PATH注意不能直接等于,要不然会把path原来的路径覆盖掉,要用追加
source /etc/profile # 重新加载文件
/home/用户名/.bash_profile or bashrc # 用户的配置
# 4 测试
# mysql rpm包安装流程
# 1 查看系统是否已经安装mysql
rpm -qa | grep -i mysql # 查询
rpm -e --nodeps 包名称 # 卸载
# 2 获取安装包并解压
# 3 使用命令安装 server 和 client
rpm -ivh 包名
# 安装信息中有东西需要注意:
# 默认密码 :/root/.mysql_secret
# 修改密码:SET password
# 配置文件:/usr/my.cnf
# 4 启动服务
service mysql start
# 5 连接mysql
cat /root/.mysql_secret # 查看默认密码
mysql -uroot -p
set password=password('root');
# 6 配置
# 授权所有数据库的权限给到root用户
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option
# *.* 数据库名,这个代表所有数据库
# @'%' 是指所有远程地址
# identified by 'root' 这个root是root原密码,也可以直接写密码
flush privileges; # 刷新权限
# 其他配置
vim /usr/my.cnf