日志
查看动态日志
tail -f logs/catalina.out
查找日志
less logs/catalina.out
进入后
# g 到达第一行
# G 到达最后一行
# / 向下查询
# ? 向上查询
# n 向下翻页
# N 向上翻页
清理 journalctl 日志
日志位置:
清理命令如下:
journalctl --vacuum-size=10M
参考: https://blog.csdn.net/weixin_36198878/article/details/116666419
进程管理
查看tomcat进程
ps aux | grep tomcat
杀死进程
kill -9 pid
通过进程ID查看文件路径
ls -l /proc/进程ID
pwdx PID
ll /proc/PID/cwd
查看Linux每个进程的流量和带宽
- 安装 iftop
# 安装 iftop 类似于top的实时流量监控工具
yum install iftop
# 安装 lsof (https://www.jianshu.com/p/a3aa6b01b2e1)
yum install lsof
- 查看
iftop -i eth0 -P
找到 占用带宽高的 进程
# 根据占用端口,查询到对应的进程
[root@iZds6un5pg2k5aZ ~]# lsof -i:37050
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 14248 root 89u IPv4 389402700 0t0 TCP iZds6un5pg2k5aZ:us-cli->219.138.255.25:37050 (ESTABLISHED)
# 查看进程id 对应文件的所在目录
[root@iZds6un5pg2k5aZ ~]# pwdx 14248
14248: /usr/local/pro_tomcat/tomcat-8.0_manage/bin
端口管理
firewall
添加
firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload # 重新载入,更新防火墙规则
查看
firewall-cmd --zone= public --query-port=80/tcp
查看开启的端口
firewall-cmd --list-ports
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
参数解释
–add-service #添加的服务
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
iptables
开放端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 保存
/etc/rc.d/init.d/iptables save
查看打开的端口
/etc/init.d/iptables status
查看指定的端口号的进程情况
netstat -tunlp |grep 端口号
查看哪些端口被打开
netstat -anp
查看服务占用的端口
ss -nutlp | grep java
参考
https://www.cnblogs.com/heqiuyong/p/10460150.html
文件管理
文件浏览
# ll 显示列表
# linux 中 ll 命令显示 的大bai小 是以“字节du”为单位的。
# ll显示的是字节,可以zhi使用-h参数来提高文件大小的可读性,另dao外ll不是命令,是ls -l的别名
ls -alh = ll -h # 以kb显示
查找文件
find / -iname "*redis*"
复制文件
cp -r 不保存目录属性
移动文件
mv abc/demo.txt cde/
强制覆盖: /bin/mv abc/demo.txt cde/
原理如下:
vi ~/.bashrc
如果你看到如下内容,以下命令都会用别名执行了,就是说自动加了 -i 参数
alias rm=’rm -i’ alias cp=’cp -i’ alias mv=’mv -i’ |
---|
加了 -i 就是说明,如果有相同的文件,需要输入 y 进行确认覆盖
直接使用原始命令 /bin/mv 就可以不用确认了
查看各文件夹大小
du -h --max-depth=1du
查看文件夹个数
统计当前文件夹下文件的个数
ls -lR|grep "^d"|wc -l
ls -l |grep "^d"|wc -l
查看磁盘占用
- 通过
df -h
命令查看磁盘情况
df -lh
- 获取硬盘设备名称
fdisk -l
nginx
启动、关闭、重载
# 关闭命令:相当于找到nginx进程kill。
./nginx -s stop
# 退出命令:
./nginx -s quit
# 等程序执行完毕后关闭,建议使用此命令。
# 动态加载配置文件
./nginx -s reload
# 可以不关闭nginx的情况下更新配置文件。
系统信息
查看linux系统版本
lsb_release -a
查看系统运行时长
# 查看最后一次系统启动的时间。
who -b
# 查看当前系统运行时间
who -r
# Linux系统历史启动的时间
last reboot
# 如果只需要查看最后一次Linux系统启动的时间
last reboot | head -1
用户与权限
修改密码
# 没有忘记自己的密码,进行修改:
$ passwd //之后会提示输入新密码 输入之后修改成功!
# 以root身份修改一般用户的密码:
$ passwd username(要更改密码的用户名)
更改文件拥有者 (chown )
# 对于目录权限修改之后,默认只是修改当前级别的权限
sudo chown root html
# 如果子目录也要递归需要加R参数
sudo chown -R root html
改变文件的用户组用命令 chgrp
[root@linux ~]# chgrp 组名 文件或目录
其他工具
带宽测试
wget https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest.py
./speedtest.py
通过公网IP查询ip所在位置信息
curl http://ip-api.com/json/117.64.250.29?lang=zh-CN
返回数据格式如下:
{
"status": "success",
"country": "中国",
"countryCode": "CN",
"region": "AH",
"regionName": "安徽",
"city": "蓉城",
"zip": "",
"lat": 30.6007,
"lon": 117.925,
"timezone": "Asia/Shanghai",
"isp": "Chinanet",
"org": "Chinanet AH",
"as": "AS4134 CHINANET-BACKBONE",
"query": "117.64.250.29"
}
nmap常用的扫描命令
# 安装 https://www.linuxprobe.com/10-nmap.html
yum install nmap
# 在网络寻找所有在线主机
nmap-sP 10.42.0.0/24
# 查询不在线主机
nmap -v -sP 10.42.0.0/24 |grep down
jobs 查看后台运行服务
(1)fg命令
功能:将后台中的命令调至前台继续运行
如果后台中有多个命令,可以先用jobs查看job,然后用 fg %jobnum 将选中的命令调出。
测试磁盘的读写速率
- 通过
df -h
命令查看磁盘情况
df -lh
- 获取硬盘设备名称
fdisk -l
- 通过
hdparm
测试读取速率
hdparm -tT /dev/vda1
- hdparm -h 查看帮助
-a<快取分区> 设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<0或1> 启动或关闭读取文件时的快取功能。
-c<I/O模式> 设定IDE32位I/O模式。
-C 检测IDE硬盘的电源管理模式。
-d<0或1> 设定磁盘的DMA模式。
-f 将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g 显示硬盘的磁轨,磁头,磁区等参数。
-h 显示帮助。
-i 显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I 直接读取硬盘所提供的硬件规格信息。
-k<0或1> 重设硬盘时,保留-dmu参数的设定。
-K<0或1> 重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数> 设定硬盘多重分区存取的分区数。
-n<0或1> 忽略硬盘写入时所发生的错误。
-p<PIO模式> 设定硬盘的PIO模式。
-P<磁区数> 设定硬盘内部快取的分区数。
-q 在执行后续的参数时,不在屏幕上显示任何信息。
-r<0或1> 设定硬盘的读写模式。
-S<时间> 设定硬盘进入省电模式前的等待时间。
-t 评估硬盘的读取效率。
-T 评估硬盘快取的读取效率。
-u<0或1> 在硬盘存取时,允许其他中断要求同时执行。
-v 显示硬盘的相关设定。
-W<0或1> 设定硬盘的写入快取。
-X<传输模式> 设定硬盘的传输模式。
-y 使IDE硬盘进入省电模式。
-Y 使IDE硬盘进入睡眠模式。
-Z 关闭某些Seagate硬盘的自动省电功能。
https://www.cnblogs.com/sylar5/p/6651784.html
查看外网IP
curl members.3322.org/dyndns/getip
curl icanhazip.com
curl ifconfig.me
curl curlmyip.com
curl ip.appspot.com
curl ipinfo.io/ip
curl ipecho.net/plain
curl www.trackip.net/i
alias 别名
# 查看所有别名
alias
# 新增别名
alias dakai='cd'
# 删除别名
unalias dakai
上传与下载
# 安装 lrzsz
yum install -y lrzsz
# 上传
rz
# 下载
sz filename
查看关机时间
last -x|grep shutdown
查看日历
cal
检测网站是否应用了 CDN
nslookup alibaba.com
SSH 远程操作
【例1】
将HOME/src/目录下面的所有文件,复制到远程主机的
$ cd && tar czv src | ssh user@host 'tar xz'
# tar 命令简介
# c : create 建立新的备份文件
# z : 通过gzip指令处理备份文件
# v : 显示指令执行过程
# x : 从备份文件中还原文件
【例2】
将远程主机$HOME/src/目录下面的所有文件,复制到用户的当前目录。
$ ssh user@host 'tar cz src' | tar xzv
【例3】
查看远程主机是否运行进程httpd。
$ ssh user@host 'ps ax | grep tomcat'
linux命令管道符
linux 多命令
;
多个命令互相不影响a && b
a命令执行成功才执行b命令a || b
a成功不执行b a失败执行b
# 可用来判断第一个命令是否成功
ifconfig && echo "成功" || echo “失败”
# 管道命令将第一个命令的执行结果给第二个命令
# 查看etc文件内容是否包含pass,并输出
ls /etc | grep pass
软件安装
Java
yum install java-1.8.0-openjdk
宝塔
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh