一、网络管理
1.Centos 7服务管理命令
- systemctl status 服务名+d:查看服务状态
systemctl status sshd 查看ssh服务状态 systemctl status mysqld mysql服务 systemctl status firewalld 防火墙服务 d意思是后台服务进程 - systemctl stop 服务名+d:停止服务
systemctrl stop mysqld systemctl stop firewalld - systemctl start 服务名+d:开启服务
systemctrl start mysqld systemctl start firewalld - systemctrl enable 服务名+d:设置服务开机自启
systemctrl enable mysqld - systemctrl disable 服务名+d:设置服务开机不自启
systemctrl disable mysqld
2.Centos 6服务管理命令
- service 服务名 start (功能描述:开启服务)
- service 服务名 stop (功能描述:关闭服务)
- service 服务名 restart (功能描述:重新启动服务)
- service 服务名 status (功能描述:查看服务状态)
- chkconfig (功能描述:查看所有服务器自启配置)
- chkconfig 服务名 off (功能描述:关掉指定服务的自动启动)
- chkconfig 服务名 on (功能描述:开启指定服务的自动启动)
- chkconfig 服务名 --list (功能描述:查看服务开机启动状态)
3.主机名和域名映射
主机名,是一台主机的字符串名称标识 域名,是为了方便网络访问者(请求方),不需要直接通过ip地址来指定被访问者(被请求方)
(1)在windows系统上修改域名映射
访问C:\Windows\System32\drivers\etc\hosts.ics,添加或修改域名映射
192.168.133.11 linux1
192.168.133.22 linux2
192.168.133.33 linux3
(2)在linux上修改域名映射
vi /etc/hosts
192.168.133.11 linux1
192.168.133.22 linux2
192.168.133.33 linux3
(3)修改linux主机名
有两种方法:
- vi /etc/sysconfig/network
需要写:hostname=修改后的主机名 - vi /etc/hostname
直接写修改后的主机名
4.netstat:检测主机的网络配置和状况
英文:network statistics
命令路径:/bin/netstat
执行权限:所有用户
作用:主要用于检测主机的网络配置和状况
参数 :
- -a all显示所有连接和监听端口
- -t (tcp)仅显示tcp相关连接
- -u (udp)仅显示udp相关连接
- -n 使用数字方式显示地址和端口号
- -l (listening)显示监控中的服务器的socket
- -p port
eg:# netstat -tlnu 查看本机监听的端口
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
协议 待收数据包 待发送数据包 本地ip地址:端口 远程IP地址:端口
#netstat -au 列出所有 udp 端口
#nestat -at 列出所有tcp端口
netstat –nltp | grep 端口:查看端口占用情况
二、系统命令
1、su:切换用户
Linux su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
使用权限:所有使用者。
su 用户名:切换用户 whoami:显示当前用户 exit:退出到原来的用户
2、sync:将数据由内存同步到硬盘中
sync:将数据由内存同步到硬盘中 Linux 系统中欲写入硬盘的资料有的时候为了效率起见,会写到 filesystem buffer 中,这个 buffer 是一块记忆体空间,如果欲写入硬盘的资料存于此 buffer 中,而系统又突然断电的话,那么资料就会流失了,sync 指令会将存于 buffer 中的资料强制写入硬盘中。
3、reboot:重启
参数:
- -n : 在重开机前不做将记忆体资料写回硬盘的动作
- -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里
- -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)
- -f : 强迫重开机,不呼叫 shutdown 这个指令
- -i : 在重开机之前先把所有网络相关的装置先停止
无参数则正常重启
4、halt:关机
参数:
- -n : 在关机前不做将记忆体资料写回硬盘的动作
- -w : 并不会真的关机,只是把记录写到 /var/log/wtmp 文件里
- -d : 不把记录写到 /var/log/wtmp 文件里(-n 这个参数包含了 -d) -f : 强迫关机,不呼叫 shutdown 这个指令
- -i : 在关机之前先把所有网络相关的装置先停止
- -p : 当关机的时候,顺便做关闭电源(poweroff)的动作
无参数则正常关机
5、shutdown:定时关机
参数 :
- -k 不执行任何关机操作,只发出警告信息给所有用户
- -r 重新启动计算机
- -h 关机并彻底断电
- -f 快速关机且重启动时跳过fsck
- -n 快速关机不经过init程序
- -c 取消之前的定时关机
eg:shutdown -h now:立即关机 shutdown -r now:立即重启 注意,此处的now不能省略,算是特殊用法。 shutdown -h n:n分钟后关机 此时,如果希望取消定时关机,则直接按Ctrl+C强制终止命令即可。 shutdown -h 20:13:20:13关机
6、du:用于查看文件或目录的大小(磁盘使用空间)
作用:用于查看文件或目录的大小(磁盘使用空间)
语法:du [-abhs] [文件名目录]
- -a 显示每个子文件的大小
- -h以易读的方式显示 KB,MB,GB等
- -s summarize 统计总占有量
eg:
du -a(all) /home 显示/home 目录下每个子文件的大小,默认单位为kb
du -b /home 以bytes为单位显示/home文件夹大小
du -h /home 以K,M,G为单位显示/home文件夹大小
du -ah /home 以K,M,G为单位显示/home文件夹下各个子目录的大小
du -sh /home 以常用单位(K,M,G)为单位显示/home 目录的总大小 -s summarize
7、df:显示目前在 Linux 系统上的文件系统磁盘使用情况统计
作用:用于查看Linux文件系统的状态信息,显示各个分区的容量、已使用量、未使用量及挂载点等信息。看剩余空间
语法:df [-hkam] [挂载点]
- -h(human-readable)根据磁盘空间和使用情况 以易读的方式显示 KB,MB,GB等
- -k 以KB 为单位显示各分区的信息,默认
- -M 以MB为单位显示信息
- -a 显示所有分区包括大小为0 的分区
df命令和du命令的区别:
df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。
du命令面向文件,只计算文件或目录占用的空间。
8、free:查看内存及交换空间使用状态
作用:查看内存及交换空间使用状态
语法: free [-kmg]
选项:
- -k: 以KB为单位显示,默认就是以KB为单位显示
- -m: 以MB为单位显示
- -g: 以GB为单位显示
清理缓存命令: echo 1 > /proc/sys/vm/drop_caches
> 或 >> ,叫做重定向,作用:将左边命令的标准(错误)输出,重定向到右边所指定的文件
> 覆盖
>> 追加内容
9、top:查看系统的负载情况以及每个进程的资源耗费情况
作用:查看系统的负载情况以及每个进程的资源耗费情况,显示当前系统中耗费资源最多的进程,以及系统的一些负载情况。 语法:top [选项]
- -d 秒数,指定几秒刷新一次,默认3秒(动态显示)
三、进程管理
1、kill:关闭进程
作用:关闭进程
语法:kill [-选项] 进程id
- kill -9 进程号(强行关闭) 常用
- kill -1 进程号(重启进程)
2、ps:查看系统中的进程信息
作用:查看系统中的进程信息
语法:ps [-auxle]
常用选项
- a:显示所有用户的进程
- u:显示用户名和启动时间
- x:显示没有控制终端的进程
- e:显示所有进程,包括没有控制终端的进程
- l:长格式显示
# ps aux #查看系统中所有进程,使用BSD操作系统格式,unix
# ps -le #查看系统中所有进程,使用Linux标准命令格式
ps应用实例
# ps -u or ps -l 查看隶属于自己进程详细信息
# ps aux | grep sam 查看用户sam执行的进程
# ps -ef | grep init 查看指定进程信息
3、pstree:查看当前进程树
手动安装:yum -y install psmisc
作用:查看当前进程树
语法:pstree [选项]
[root@linux01 ~]# pstree
init─┬─auditd───{auditd}
├─6*[mingetty]
├─mysqld_safe───mysqld───9*[{mysqld}]
├─portreserve
├─rsyslogd───3*[{rsyslogd}]
├─sshd───sshd───bash───pstree
└─udevd───2*[udevd]
4、进程后台执行
(1)挂起到后台
ctrl +z 可以把一个前台运行的程序挂起到后台(挂起,就意味着程序被暂停了)
(2)运行在后台
将一个程序放后台运行的标准写法: nohup sh back.sh 1>/dev/null 2>&1 &
1>/dev/null : 表示将程序的标准输出重定向到/dev/null 文件 2>&1 : 表示将程序的标准错误输出,重定向到“标准输出通道” & : 表示将程序放在后台执行 nohup : 表示不要挂起
(3)查看后台进程
jobs 查看当前在后台挂起的程序 fg job_id 将指定id的job放回前台继续运行
四、linux软件安装
1、rpm包管理器
RPM软件包也称为二进制软件包 RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的发行版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便
rpm的常用参数
- i:安装应用程序(install)
- vh:显示安装进度;(verbose hash)
- U:升级软件包;(update)
- qa: 显示所有已安装软件包(query all)
- e:卸载应用程序(erase)
注意:如果其它软件包有依赖关系,卸载时会产生提示信息,可使用–nodeps强行卸载。 查询所有安装的rpm包: # rpm –qa 查询mysql相关的包: # rpm –qa | grep mysql 安装:rpm -ivh jdk.rpm 卸载: rpm –e mysql* 强行卸载:rpm –e mysql* --nodeps 图形化界面,手动挂载
缺点 :依赖关系 (手动的解决)
2、yum包管理器
yellowdog updater modified 软件包管理工具
应用yum的好处: 1、自动解决软件包依赖关系 2、方便的软件包升级
yum工具的工作原理: 根据你命令中指定的软件包名称,去软件仓库服务器(yum源)上下载并安装
软件仓库服务器,yum是如何知道的? 它是看 /etc/yum.repos.d/ xx.repo 配置文件来知道的 我们也可以在该目录下添加centos以外的别的公司所提供的软件仓库地址配置
(1)基本命令
- yum list:查询所有可用软件包列表
- yum search 关键字:搜索服务器上所有和关键字相关的包
可以通过yum info 关键字 来查找包名 - yum -y install 包名:安装
-y 自动回答yes - yum -y update 包名:升级
注意:如果不加包名,就升级所有的,包括内核。必须加包名升级单个软件包,慎用升级所有的 - yum check-update:检测升级
- yum -y remove 包名:卸载
- yum --help、man yum:帮助
- yum clean all:清除缓存和旧的包
- yum repolist:查看当前可用的yum源
- yum deplist httpd: 列出一个包所有依赖的包
(2)更换国内镜像源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
wget -nc http://mirrors.aliyun.com/repo/Centos-7.repo
mv Centos-7.repo CentOS-Base.repo
sudo yum clean all
sudo yum list
国内的yum源
阿里yum源:http://mirrors.aliyun.com/repo/
网易yum源:http://mirrors.163.com/.help/
搜狐yum源:http://mirrors.sohu.com/
五、ssh工具包
1.ssh工具包简介
ssh是用于远程登录的工具(CRT,xshell本质是就是一个ssh客户端程序,windows版本的) ssh是一个工具包中(open-ssh)的登录命令 open-ssh工具包中,不光包含ssh客户端命令,还包含sshd这个服务端进程,还包含scp等便利工具;
2.ssh登录
- 从linux1登录到linux2
ssh linux2 - 指定身份lxl,从linux1登录到linux3
ssh lxl@linux3
linux1、linux2、linux3均为主机名,需要配好主机名和域名映射 exit退出登录,若是从linux1登录到linux2,输入exit并回车后,会退出到linux1
2.ssh远程执行指令
ssh 主机名或ip 指令 ssh linux2 mkdir /a/c/d
3.scp远程拷贝
语法: scp 要拷贝的文件路径 目标主机名:目标路径
- 拷贝文件:
scp /a/c.txt linux2:/a/d.txt 将linux1的a文件夹下的c.txt拷贝到linux2的a文件夹下,并改名为d.txt - 拷贝文件夹:
scp -r aaa linux2:/root/
4.ssh免密登录配置
安全验证机制有两种:
远程登录进行操作指令的时候都要输入密码,为了方便,设置免密登录
过程:请求方需要事先创建一对密钥(公钥,私钥; 私钥自己持有,公钥交给目标机器) 以上图为例,A服务器将自己的公钥交给B服务器后,当A向B发送ssh请求时,B会用A的公钥加密一个随机字符串生成密文,并发送给A,A用自己的私钥解密密文,生成字符串再返回给B,B通过对比这两个字符串是否相同来决定是否建立连接
实现步骤:
- 在第1台机器上生成密钥对:
ssh-keygen 回车 - 将生成好的公钥注册给目标机器(doit01,doit02,doit03):
ssh-copy-id linux1 ssh-copy-id linux2 ssh-copy-id linux3
以后再进行连接这些目标机器的时候或者是在发送指令的时候就不需要在输入密码了 注意:公钥也需要发给自己一份,因为有时候也需要连接自己的服务,如mysql
六 、时间管理
1、时间命令
(1)date显示当前时间
- 基本语法
(1)date (功能描述:显示当前时间) (2)date +%Y (功能描述:显示当前年份) (3)date +%m (功能描述:显示当前月份) (4)date +%d (功能描述:显示当前是哪一天) (5)date “+%Y-%m-%d %H:%M:%S” (功能描述:显示年月日时分秒) - 案例实操
(1)显示当前时间信息
[root@hadoop101 ~]# date
2017年 06月 19日 星期一 20:53:30 CST
(2)显示当前时间年月日
[root@hadoop101 ~]# date +%Y%m%d
20170619
(3)显示当前时间年月日时分秒
[root@hadoop101 ~]# date "+%Y-%m-%d %H:%M:%S"
2017-06-19 20:54:58
(2)date显示非当前时间
- 基本语法
(1)date -d ‘1 days ago’ 或 date -d ‘-1 day’ (功能描述:显示前一天时间) (2)date -d ‘-1 days ago’ 或 date -d ‘1 day’ (功能描述:显示明天时间) - 案例实操
(1)显示前一天
[root@hadoop101 ~]# date -d '1 days ago'
2017年 06月 18日 星期日 21:07:22 CST
(2)显示明天时间
[root@hadoop101 ~]#date -d '-1 days ago'
2017年 06月 20日 星期日 21:07:22 CST
(3)显示明天时间并指定日期格式
date -d '1 day' +%Y-%m-%d
(4)其他
date -d '-1 month'
date -d '-1 hour'
date -d '1 year'
(3)date设置系统时间
- 基本语法
date -s 字符串时间 - 案例实操
设置系统当前时间 [root@hadoop101 ~]# date -s “2021-07-17 20:52:18”
2、时间同步客户端
yum -y install ntpdate
ntpdate time.windows.com
ntpdate time.aliyun.com
ntpdate time.apple.com ?
3、时间同步服务
- 首先,安装时间同步服务
yum install npt -y - 启动服务
systemctl start ntpd systemctl enable ntpd - 配置时间同步服务器
[root :linux1 ~]# vi /etc/ntp.conf #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server npt1.aliyun.com server time.windows.com server time.apple.com
小提示:
为了让集群中的所有节点都保持时间同步
可以把所有节点都安装上ntpd,并且配好时间同步服务器
或者,也可以,只让节点1去向public同步服务器同步,其他节点向节点1同步
[root :linux3 ~]# systemctl start ntpd
[root :linux3 ~]# systemctl enable ntpd
[root :linux3 ~]# vi /etc/ntp.conf
server linux1.com
|