1.查看日志常用命令
tail:
-n 是显示行号;相当于nl命令;例子如下:
tail -100f test.log 实时监控100行日志
tail -n 10 test.log 查询日志尾部最后10行的日志;
tail -n +10 test.log 查询10行之后的所有日志;
head:
跟tail是相反的,tail是看后多少行日志;例子如下:
head -n 10 test.log 查询日志文件中的头10行日志;
head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
cat:
tac是倒序查看,是cat单词反写;例子如下:
cat -n test.log |grep "debug" 查询关键字的日志
用场景一:按行号查看—过滤出关键字附近的日志
1)cat -n test.log |grep “debug” 得到关键日志的行号
2)cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
2.系统的相关的查看命令
CPU的信息存放在/proc/cpuinfo中,cat /proc/cpuinfo 查看颗数和核数
physical id代表第几个CPU,编号从0开始,cpu cores 代表核数,可以看出是1颗1核的CPU,即CPU个数是1个。
grep -c ‘processor’ /proc/cpuinfo 查看CPU核数
free -h 查看内存使用情况
cat /proc/meminfo 查看内存信息命令
cat /etc/issue | grep Linux 查看系统版本
cat /proc/version 查看系统版本
cat /etc/system-release 查看系统版本
nore /peoc/cpuinfo 查看CPU详细信息
uname -a 查看内核版本
uptime 查看时间
cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 更改时区为东区
ntpdate us.pool.ntp.org 同步时间
date -s "2017-10-23 10:35:55"更改系统时间
hwclock --systohc 写入硬件
date 查看系统时间
hwclock 查看硬件时间
last命令
last
1
查看最近一次开机时间
who -b
或者
last -1 reboot
1
2
3
查看关机记录
last -x | grep shutdown #以关机时间段显示
1
查看失败登录记录, 来源以IP显示
sudo lastb -i
1
查看系统从上次开机到现在已经运行多久了
uptime
或者
w
————————————————
版权声明:本文为CSDN博主「袁行6」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014717036/article/details/71036562
3.网络相关
监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl
每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每个进程的带宽使用――nethogs
lspci | grep net , 查看网卡驱动是否启动
lsmod 查看网卡的模块是否加载,看看是否网卡驱动好了的意思
dmesg 查看是否检测到了网卡。
ifup eth0 激活 eth0网卡
ifdown eth0 停止eth0 网卡
lspci | grep -i net 查看网卡信息
service network restart 重启网络
netstat -l 查看所有端口
netstat -ntulp | grep 6551 查看6551端口
netstat -anp|grep mysqld 查看MySQL端口
route add default gw 192.168.21.1 (添加一个默认路由,所有数据包在找不到往哪儿走的时候全部经由该默认网关192.168.21.1出去)
route del default gw 192.168.21.1 (删除配置的默认路由)
route add -net 192.168.21.0 netmask 255.255.255.0 gw 192.168.21.1 dev eth0 (该条命令的作用是配置一条路由表项,其目的地址一个网段192.168.21.0,子网掩码是255.255.255.0,网关是192.168.21.1,经过的网卡设备是eth0,就是说去往192.168.21.0网段的数据包都是经过网卡eth0出去并由网关192.168.21.1转发出去)
route del -net 192.168.21.0 netmask 255.255.255.0 gw 192.168.21.1 dev eth0 (删除上述设置的路由表项)
route add -host 192.168.21.106 dev eth1 (该条命令作用是配置一条路由表项,其目的地址是192.168.21.106,数据包经过eth1网卡出去)
route del -host 192.168.21.106 dev eth1 (删除上述设置的路由表项)
route -n (显示当前配置的路由表内容)
4.硬盘相关
vi /etc/fstab 查看硬盘挂载目录
fdisk -l 查看硬盘信
lsblk 查看硬盘信息
blkid 查询分区UUID
mkfs.ext4 /dev/sdb 格式化小于2T的sdb硬盘
超过2T硬盘格式化举例:
这时系统里有一个sdb的磁盘,容量为2TB。
[root@localhost ~]# parted /dev/sdb
(parted) mklabel gpt # 将MBR磁盘格式化为GPT
(parted) mkpart primary 0 -1 #将整块磁盘划分为一个分区
警告: The resulting partition is not properly
aligned for best performance.
忽略/Ignore/放弃/Cancel? I #忽略警告
(parted) p #打印当前分区
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sdb: 2199GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name 标志
1 17.4kB 2199GB 2199GB primary
(parted) quit #退出
信息: You may need to update /etc/fstab.
再使用lsblk查看磁盘分区情况:
1 1024M 0 rom
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1G 0 part /boot
├─sda2 8:2 0 2G 0 part [SWAP]
└─sda3 8:3 0 47G 0 part /
sdb 8:16 0 2T 0 disk
└─sdb1 8:17 0 2T 0 part
格式化并挂载磁盘:
mkfs.ext4 /dev/sdb1
mount /dev/sdb1 /mnt
查看磁盘挂载情况:
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 47G 851M 43G 2% /
tmpfs 939M 0 939M 0% /dev/shm
/dev/sda1 976M 56M 870M 6% /boot
/dev/sdb1 2.0T 71M 1.9T 1% /mnt
OK!问题2完美解决!
1. 5.防火墙相关
为避免因防火墙限制导致使用问题,可将服务器的防火墙都关闭。
执行以下命令:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
systemctl list-unit-files | grep firewalld 再次查看firewalld服务的状态
systemctl enabled firewalld.service 打开开机自启
[root@sensenets3a148 ~]# reboot #重启服务器生效
5.1防火墙端口
firewall-cmd --list-ports 查看所有打开的端口
firewall-cmd --list-all 查看所有打开的端口
firewall-cmd --zone=public --add-port=1966/tcp --permanent centos7.5添加1966端口举例
firewall-cmd --reload 加入到防火墙文件中
/sbin/iptables -I INPUT -p tcp --dport 1966 -j ACCEPT centos6.5防火墙开放端口1966
/sbin/iptables -L -n //查看开放端口
6.其他
$ sudo yum install vsftpd --downloadonly --downloaddir=/tmp 安装包命令
(安装) (ftp) (安装包) (打包) (安装到/tmp目录下)
rpm -qa vsftpd 检验 vsftpd是否安装
unzip vnc.zip 解压vnc包
rpm -ivh /home/root4/tigervnc-1.1.0-18.el6.i686.rpm
(安装命令) (目录) (包名)
history 查看历史命
java -version 查看“JDK”版本
find / -name名字即可 //重根文件找起 找文件
LANG=“zh_CN.UTF-8”
LANG=zh_CH (默认语言) 修改语言
ls /record1/Data/20171225/Auto/ -alh|more 显示文件的开始时间
**
7.使程序在Linux下后台运行 (关掉终端继续让程序运行的方法)**
nohup ./test.sh & 说明:nohup命令可以让你的shell命令忽略SIGHUP信号,即可以使之脱离终端运行;“&”可以让你的命令在后台运行。
linux shell中"2>&1"含义
在计划任务中经常可以看到。例如我们公司的计划任务举例:
*/2 * * * * root cd /opt/xxxx/test_S1/html/xxxx/admin; php index.php task testOne >/dev/null 2>&1
*/2 * * * * root cd /opt/xxxx/test_S1/html/xxxx/admin; php index.php task testTwo >/dev/null 2>&1
对于& 1 更准确的说应该是文件描述符 1,而1标识标准输出,stdout。
对于2 ,表示标准错误,stderr。
2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null
可以把/dev/null 可以看作"黑洞". 它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到.
偶尔也可以把 & 在命令的最后加上,表示让程序后台执行。
为何2>&1要写在后面?
index.php task testOne >/dev/null 2>&1
我们可以理解为,左边是标准输出,好,现在标准输出直接输入到 /dev/null 中,而2>&1是将标准错误重定向到标准输出,所以当程序产生错误的时候,相当于错误流向左边,而左边依旧是输入到/dev/null中。
可以理解为,如果写在中间,那会把隔断标准输出指定输出的文件
你可以用
ls 2>1测试一下,不会报没有2文件的错误,但会输出一个空的文件1;
ls xxx 2>1测试,没有xxx这个文件的错误输出到了1中;
ls xxx 2>&1测试,不会生成1这个文件了,不过错误跑到标准输出了;
ls xxx >out.txt 2>&1, 实际上可换成 ls xxx 1>out.txt 2>&1;重定向符号>默认是1,错误和输出都传到out.txt了。