2021-03-19

1、使用w查看当前系统的负载
2、查看服务器有几个cpu:cat /proc/cpuinfo |head -n20,proc/cpuinfo记录了cpu的详细信息
查看当前系统有几个CPU,可以使用这个命令: grep -c ‘processor’ /proc/cpuinfo。而如何看几颗物理CPU呢,需要查看关键字physical id。
3、使用vmstat监控系统的额状态
w查看的是系统整体上的负载,通过vmatat就可以知道具体是哪里有压力
vmstat命令打印的结果共分为6部分:procs、memory、swap、io、system、 cpu. 请重点关注一下r、b、si、so、bi、bo几列。
1)procs显示进程相关信息
● r:表示运行和等待CPU时间片的进程数,如果长期大于服务器CPU的个数,则说明CPU不够用了;
● b:表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了。
(2)memory内存相关信息
● swpd:表示切换到交换分区中的内存数量 ;
● free:当前空闲的内存数量;
● buff:缓冲大小,(即将写入磁盘的);
● cache:缓存大小,(从磁盘中读取的)。
(3)swap内存交换情况
● si:由交换区写入到内存的数据量;
● so:由内存写入到交换区的数据量。
(4)io磁盘使用情况
● bi:从块设备读取数据的量(读磁盘);
● bo:从块设备写入数据的量(写磁盘)。
(5)system显示采集间隔内发生的中断次数
● in:表示在某一时间间隔中观测到的每秒设备中断数;
● cs:表示每秒产生的上下文切换次数。
(6)CPU 显示CPU的使用状态
● us:显示了用户下所花费CPU时间的百分比;
● sy:显示系统花费CPU时间百分比;
● id:表示CPU处于空闲状态的时间百分比;
● wa:表示I/O等待所占用CPU时间百分比;
● st:表示被偷走的CPU所占百分比(一般都为0,不用关注)
如果磁盘io压力很大时,bi以及bo的数值会比较高。另外当si、so两列的数值比较高,并且在不断地变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,者往往对系统的信念更能影响比较大
4、top显示进程所占的系统资源,这个命令用于动态监控京城所占系统资源,每隔3秒变一次。这个命令的特点是把占用系统资源(cpu、内存、磁盘io等)最高的进程放到最前面。top命令打印了很多信息,包括系统负载、进程数、cpu使用情况、内存使用情况以及交换分区使用情况。top重点查看的还是下面的进程使用系统资源详细状况。RES这一项为进程所占内存大小,而%MEM为使用内存百分比。在 top 状态下,按Shift +M键可以按照内存使用大小排序。按数字“1”键可以列出各颗CPU的使用状态。
top -bnl:非动态打印系统资源使用情况,和 top 命令唯一的区别就是,它一次性全部把所有信息输出出来而非动态显示。
5、free查看内存使用状况,加-m 或者-g选项分别以M或G为单位打印内存使用状况
6、ps:查看系统进程,ps命令是在工作中用得非常多的命令之一,所以请记住它吧。关于ps命令的使用,经常会连同管道符一起使用,用来查看某个进程或者它的数量。
7、netstat:查看网络状况
netstat命令用来打印网络连接状况、系统所开放端口、路由表等信息
netstat -lnp (打印当前系统启动哪些端口)
netstat -an (打印网络连接状况)
netstat -an |grep 80命令查看当前连接Web服务的有哪些IP了
8、如果linux上有多个网卡,而只想重启一个网卡的话可以使用
[root@VM_10_10_centos ~]# ifdown eth0; ifup eth0
ifdown 即停掉网卡,ifup即启动网卡。有一点要提醒你的是,如果我们远程登录服务器,当使用ifdown eth0这个命令的时候,很有可能后面的命令ifup eth0不会被运行,这样导致我们断网而无法连接服务器,所以请尽量使用 service network restart 这个命令来重启网卡。

9、更改主机名:hostname,并且可以知道你的主机名是什么
[root@VM_10_10_centos ~]# hostname Linux
[root@VM_10_10_centos ~]# hostname
Linux
下次登录时就会把命令提示符 [root@localhost ~] 中的 localhost 更改成 Linux, 不过这样修改只是保存在内存中,下次重启还会变成未改之前的主机名,所以需要你还要去更改相关的配置文件 /etc/sysconfig/network,示例代码如下:
[root@VM_10_10_centos ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=Linux.localdomain
10、设置DNS,DNS是用来解析域名用的
在Linux下面设置DNS非常简单,只要把DNS地址写到一个配置文件中即可。这个配置文件就是/etc/resolv.conf。
[root@VM_10_10_centos ~]# vim /etc/resolv.conf
;generated by /sbin/dhclient-script
nameserver 202.106.46.151
resolv.conf有它固有的格式,一定要写成 nameserver IP 的格式,上面那行以“;”为开头的行是一行注释,没有实际意义,建议写两个或多个namserver ,默认会用第一个namserver去解析域名,当第一个解析不到时,会使用第二个。在Linux下面有一个特殊的文件/etc/hosts也能解析域名,不过是需要我们手动在里面添加IP+域名这些内容,它的作用是临时解析某个域名
[root@VM_10_10_centos ~]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain
::1 localhost.localdomain localhost
10.10.10.10 master root
/etc/hosts 的格式很简单,每一行作为一条记录,分成两部分,第一部分是IP,第二部分是域名。关于hosts文件,有几点需要注意:
① 一个IP后面可以跟多个域名,可以是几十个甚至上百个;
② 每行只能有一个IP,也就是说一个域名不能对应多个IP;
③ 如果有多行中出现相同的域名(前面IP不一样),会按最前面出现的记录来解析。
11、linux的防火墙
SELinux是Redhat/CentOS系统特有的安全机制
关闭SELinux的方法为,使 SELINUX=disabled,默认为 enforcing。
vim /etc/sysconfig/seLinux(若没有vim要用yum install vim 下载)
保存该配置文件后,重启机器方可生效,临时关闭SELinux的命令,可以使用setenforce 0。我们可以使用 getenforce 命令获得当前SELinux的状态
[root@VM_10_10_centos ~]# getenforce
Disabled
如果SELinux早就关闭了,默认会输出enforcing,当使用setenforce 0这个命令后,再使用getenforce命令会输出permissive
12、linux系统任务计划
crontab:定时处理脚本任务
cron:定时执行某一脚本
关于cron任务计划功能的操作都是通过crontab这个命令来完成的,常用选项有:
● -u:指定某个用户,不加-u选项则为当前用户;
● -e:制定计划任务;
● -l:列出计划任务;
● -r:删除计划任务。
使用crontab -e来编写任务计划,这实际上时使用了vim工具打开了crontab的配置文件
查看已经设定的任务计划使用crontab -l
13、在Linux系统下数据备份的工具很多,但笔者就只用一种,那就是rsync。从字面上的意思可以理解为remote sync (远程同步)这样可以让用户理解的更深刻一些。rsync不仅可以远程同步数据,当然还可以本地同步数据(类似于cp),但rsync不像cp/scp一样会覆盖以前的数据(如果数据已经存在),它会先判断已经存在的数据和新数据有什么不同,只有不同时,才会把不同的部分覆盖掉。如果Linux没有rsync命令请使用 yum install -y rsync 安装
[root@VM_10_10_centos ~]# rsync -av sync.txt /tmp
sending incremental file list
sync.txt

sent 1799 bytes received 31 bytes 3660.00 bytes/sec
total size is 1723 speedup is 0.94
上面例子表示把当前目录下的test.txt同步到/etc/tmp/目录下,也可以更改目标文件的名字, rsync -av sync.txt /tmp/newsync.txt,如果是远程拷贝的话就是这样的形式了:IP:path(如:10.0.2.34:/root/)。
[root@VM_10_10_centos ~]# rsync -av sync.txt 118.89.199.110:/tmp/newsync.txt
root@118.89.199.110’s password:
rsyuc常用选项:
● -a:归档模式,表示以递归方式传输文件,并保持所有属性,等同于-rlptgoD。-a选项后面可以跟一个–no-OPTION,这个表示关闭-rlptgoD中的某一个。例如 -a–no-l等同于-rptgoD;
● -v:打印一些信息出来,比如速率,文件数量等;
● --delete:删除那些DST中SRC没有的文件;
● --exclude=PATTERN:指定排除不需要传输的文件,等号后面跟文件名,可以是万用字符模式(如*.txt);
14、日志主要的功能有:审计和监测,还可以实时的监测系统状态、监测和追踪侵入者等等。
用户常查看的日志文件为/var/log/message, 它是核心系统日志文件,包含了系统启动时的引导消息,以及系统运行时的其他状态消息
这里的xxxxxxxx就是按照日期的格式生成的文件。这是通过logrotate工具的控制来实现的,它的配置文件是/etc/logrotate.conf。如果没有特殊需求请不要修改这个配置文件。
/var/log/messages是由rsyslog这个守护进程产生的,如果停掉这个服务则系统不会产生/var/log/messages,所以这个服务不要停。rsyslog服务的配置文件为/etc/rsyslog.conf,这个文件定义了日志的级别
除了关注/var/log/messages外,还应该多关注一下dmesg这个命令,它可以显示系统的启动信息,如果某个硬件有问题(比如说网卡)用这个命令也是可以看到的,
安全方面的日志:last
last命令用来查看登录Linux历史信息,从左至右依次为账户名称、登录终端、登录客户端IP、登录日期及时长。last命令输出的信息实际上是读取了二进制日志文件/var/log/wtmp,只是这个文件不能直接使用cat、vim、head、tail等工具查看。
/var/log/secure:和登陆信息有关的日志文件为/var/log/secure,该日志文件记录验证和授权等方面的信息,比如ssh登陆系统成功或者失败,都会把相关信息记录在这个日志里。
15、xargs与exec工具结合其他命令来实现业务需求。
[root@VM_10_10_centos ~]# echo “121212121212” > 123.txt
[root@VM_10_10_centos ~]# ls 123.txt | xargs cat
121212121212
它的作用就是把管道符前面的输出作为xargs后面的命令的输入。它的好处在于可以把本来两步或者多步才能完成的任务简单一步就能完成。xargs常常和find命令一起使用,比如,查找当前目录创建时间大于10天的文件,然后再删除,示例代码如下:
[root@VM_10_10_centos ~]# find . -mtime +10 |xargs rm
查找当前目录下所有.txt的文件,然后把这些.txt的文件变成.txt_bak。正常情况下,不得不写脚本去实现,但是使用xargs就一步,示例代码如下:
[root@VM_10_10_centos ~]# mkdir test
[root@VM_10_10_centos ~]# cd test
[root@VM_10_10_centos ~]# touch 1.txt 2.txt 3.txt 4.txt 5.txt
[root@VM_10_10_centos ~]# ls
1.txt 2.txt 3.txt 4.txt 5.txt
[root@VM_10_10_centos ~]# ls *.txt |xargs -n1 -i{} mv {} {}_bak
[root@VM_10_10_centos ~]# ls
1.txt_bak 2.txt_bak 3.txt_bak 4.txt_bak 5.txt_bak
xargs -n1 -i{}类似for循环,-n1意思是一个一个对象的去处理,-i{}把前面的对象使用{}取代,mv {} {}_bak相当于mv 1.txt 1.txt_bak。
16、-exec了,可以达到和xargs同样的效果。比如,查找当前目录创建时间大于10天的文件并删除
[root@VM_10_10_centos ~]# find . -mtime +10 -exec rm -rf {} ;
这个命令中也是把{}作为前面find出来的文件的替代符,后面的\为;的脱意符,不然Shell会把分号作为该行命令的结尾。
(1)使用nohup
[root@VM_10_10_centos ~]# cat /usr/local/sbin/sleep.sh
#!/bin/bash
sleep 1000
[root@VM_10_10_centos ~]# nohup sh /usr/local/sbin/sleep.sh&
[1]19997
直接加一个“&”虽然丢到后台了,但是当退出该终端时很有可能这个脚本也会退出的,而在前面加上nohup就没有问题了,nohup的作用就是不挂断地运行命令。
(2)screen工具的使用
简单来说,screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器。screen中有会话的概念,用户可以在一个screen会话中创建多个screen窗口,在每一个screen窗口中就像操作一个真实的ssh连接窗口那样。下面将介绍screen的一个简单应用。
① 打开一个会话,直接输入screen命令然后回车,进入screen会话窗口。如果你没有screen命令,请用 yum install -y screen 安装,示例代码如下:
[root@VM_10_10_centos ~]# screen
② screen -ls 查看已经打开的screen会话,示例代码如下:
[root@VM_10_10_centos ~]# screen -ls
There is a screen on:
20990.pts-0.Linux (Attached)
1 Socket in /var/run/screen/S-root.
③ 按Ctrl+A再按D键退出该screen会话,只是退出,并没有结束。结束的话,按Ctrl +D 键或者输入exit。
④ 退出后还想再次登录某个screen会话,使用sreen -r [screen 编号],这个编号就是上例中那个20900。当只有一个screen会话时,后面的编号是可以省略的。当有某个需要长时间运行的命令或者脚本时,就打开一个screen会话,然后运行该任务。按Ctrl+A再按D键退出会话,不影响终端窗口上的任何操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值