linux常见运维指令和运维脚本使用介绍
摘要:Linux运维本身就是一种整理系统逻辑的过程,属于逻辑思维范畴。在Linux运行过程中,使用最多的是top、ps、df、free、find、grep以及systemctl等命令,这些就是就是寻找系统问题所在。Linux上的程序就是由这些因果关系组成的,比如系统空间是否足够?软件是否正常启动?防火墙是否设置好策略?Selinux有没有开启设置等等,进而决定能否执行相关应用程序达到理想的效果。所以,理顺各个事件之间的逻辑关系,是linux运维之前必须精心做好的准备工作。
一、登陆Linux系统
1、登陆Linux

2、查看Linux系统最近一次启动时间和连续运行时间
(1)uptime指令
Uptime可以显示系统已经运行了多长时间,依次显示下列信息:当前时间、系统已经运行了多长时间、有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。如下图

(2)查看/proc/uptime文件计算系统启动时间

说明:输出: 5464537.00 21830120.57第一数字即是系统已运行的时间5464537.00秒,运用系统工具date即可算出系统启动时间。
执行脚本# date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"

(3)查看/proc/uptime文件计算系统运行时间
执行脚本# cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'

二、Linux常用运维指令
1、关机重启指令
Shutdown –h now | 关闭系统 |
Shutdown –r now | 重启系统 |
Reboot | 重启 |
Logout | 注销 |
2、查看系统信息的指令
Cat /proc/cpuinfo | 显示CPU信息 |
Cat /proc/meminfo | 显示内存信息 |
Cat /proc/version | 显示内核版本 |
Uname -a | 显示操作系统版本号 |
Date | 显示系统日期 |
Cal | 显示当月日历 |
3、文件和目录的操作指令
Pwd | 查看当前文件所在路径 |
Ls -al | 显示文件和目录的详细信息 |
Cd .. | 返回上一级目录 |
Mkdir test1 test2 | 创建test1和test2两个目录 |
Rm -rf dir | 彻底删除dir目录及其内容 |
Cp -a dir1 dir2 | 复制一个目录 |
Mv dir1 dir2 | 重命名一个目录 |
4、文件搜索指令
Find / -name file1 | 在/目录搜索文件和目录file1 |
Find /usr -type f -atime +10 | 搜索过去10天未被使用的文件 |
Find / -user jason | 搜索属于jason的文件和目录 |
Locate *.ps | 寻找后缀为ps的文件 |
Which file1 | 显示执行文件file1完整路径 |
Whereis file1 | 显示配置文件file1的位置 |
5、查看磁盘空间的指令
Df -h | 显示已挂载的分区列表 |
Df -Th | 显示分区列表详细信息 |
Du -sh /root | 估算目录/root已经使用的空间 |
Du -sk *|sort -rn | 按容量大小显示当期目录大小 |
6、系统账户和密码管理指令
Passwd root | 修改root密码 |
Useradd jason | 创建新用户jason |
Userdel -r jason | 删除用户Jason及其主目录 |
三、Linux常用运维脚本
1、将系统进程按CPU占用大小排列显示
执行指令# ps -e -o "%C:%p:%z:%a"|sort -nr

2、将系统进程按内存占用大小排列显示
执行指令# ps -e -o "%C:%p : %z : %a"|sort -k5 -nr

3、显示所有运行级别为3并开机启动的服务
执行指令# ls /etc/rc3.d/S* |cut -c 15-

4、取得ens192网卡的IP地址
执行指令# ifconfig ens192 |grep "inet" |awk '{print $2}'|cut -c 1-

5、TCP抓包工具分析80端口数据流
执行指令# tcpdump -c 10000 -i ens192 -n dst port 80

6、删除10天前的文件
执行指令# find /data -mtime +10 -type f -exec rm -rf{} \;

7、强制踢出终端用户
执行指令# who查看终端用户

执行指令# pkill -kill -t pts/1踢出终端用户

8、编写脚本每周日凌晨零点零分定期备份/user/backup到/tmp目录下
执行指令# crontab -e 命令创建crontab文件。格式如下:
0 0 * * sun cp -r /user/backup /tmp