Zabbix配置常用Linux命令
1.zabbix查询端口是否通
./zabbix_get -s 10.120.6.83 -k net.tcp.listen[9980]
2.只列出所有监听 tcp 端口
netstat -ltnp
3.启动zabbix服务
systemctl start zabbix-agent.service
service zabbix-agent start
zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf
4.当前目录备份文件
cp -r bakName newName
5. 查看指定端口是否开放
lsof -i:端口号
6.查找文件
find -name test.file
7.清理文件
cat /dev/null > file 或者 echo “” > file
8.查看磁盘空间
df -h
9.查找空间较大文件
du -sh * | grep G
du -h --max-depth=1
10.动态查看输出日志
cd logs
tail -f catalina.out
11.查看端口
netstat -tnlp | grep 8.00
ss -nltp | grep 8.00
netstat -lnpt 8080
12.修改root密码
echo "hjp123"|passwd --stdin root
13.Oracle修改用户密码
alter user apps identified by 123456;
14.查看进程PID
ps -ef | grep 进程名
15.系统信息
arch #显示机器的处理器架构(1)
uname -m #显示机器的处理器架构(2)
uname -r #显示正在使用的内核版本
dmidecode -q #显示硬件系统部件 - (SMBIOS / DMI)
hdparm -i /dev/hda #罗列一个磁盘的架构特性
hdparm -tT /dev/sda #在磁盘上执行测试性读取操作
cat /proc/cpuinfo #显示CPU info的信息
cat /proc/interrupts #显示中断
cat /proc/meminfo #校验内存使用
cat /proc/swaps #显示哪些swap被使用
cat /proc/version #显示内核的版本
cat /proc/net/dev #显示网络适配器及统计
cat /proc/mounts #显示已加载的文件系统
lspci -tv #罗列PCI设备
lsusb -tv #显示USB设备
16.显示系统日期
cal 2007 #显示2007年的日历表
date 041217002007.00 #设置日期和时间 - 月日时分年.秒
clock -w #将时间修改保存到 BIOS
17.less 命令
语法:
less [参数] 文件
参数说明:
- -b <缓冲区大小> 设置缓冲区的大小
- -e 当文件显示结束后,自动离开
- -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
- -g 只标志最后搜索的关键词
- -i 忽略搜索时的大小写
- -m 显示类似more命令的百分比
- -N 显示每行的行号
- -o <文件名> 将less 输出的内容在指定文件中保存起来
- -Q 不使用警告音
- -s 显示连续空行为一行
- -S 行过长时间将超出部分舍弃
- -x <数字> 将"tab"键显示为规定的数字空格
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
- b 向上翻一页
- d 向后翻半页
- h 显示帮助界面
- Q 退出less 命令
- u 向前滚动半页
- y 向前滚动一行
- 空格键 滚动一页
- 回车键 滚动一行
- [pagedown]: 向下翻动一页
- [pageup]: 向上翻动一页
ps查看进程信息并通过less分页显示
ps -ef |less
关机 (系统的关机、重启以及登出)
shutdown -h now #关闭系统(1)
init 0 #关闭系统(2)
telinit 0 #关闭系统(3)
shutdown -h hours:minutes & #按预定时间关闭系统
shutdown -c #取消按预定时间关闭系统
shutdown -r now #重启(1)
reboot #重启(2)
logout #注销
文件和目录
cd /home #进入 '/ home' 目录'
cd .. #返回上一级目录
cd ../.. #返回上两级目录
cd #进入个人的主目录
cd ~user1 #进入个人的主目录
cd - #返回上次所在的目录
pwd #显示工作路径
ls #查看目录中的文件
ls -F #查看目录中的文件
ls -l #显示文件和目录的详细资料
ls -a #显示隐藏文件
ls *[0-9]* #显示包含数字的文件名和目录名
tree #显示文件和目录由根目录开始的树形结构(1)
lstree #显示文件和目录由根目录开始的树形结构(2)
mkdir dir1 #创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 #同时创建两个目录
mkdir -p /tmp/dir1/dir2 #创建一个目录树
rm -f file1 #删除一个叫做 'file1' 的文件'
rmdir dir1 #删除一个叫做 'dir1' 的目录'
rm -rf dir1 #删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 #同时删除两个目录及它们的内容
mv dir1 new_dir #重命名/移动 一个目录
cp file1 file2 #复制一个文件
cp dir/* . #复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . #复制一个目录到当前工作目录
cp -a dir1 dir2 #复制一个目录
ln -s file1 lnk1 #创建一个指向文件或目录的软链接
ln file1 lnk1 #创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 #修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l #列出已知的编码
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print
文件搜索
find / -name file1 #从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 #搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin #在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 #搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 #搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; #搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm #搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps #寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt #显示一个二进制文件、源码或man的位置
which halt #显示一个二进制文件或可
挂载一个系统
mount /dev/hda2 /mnt/hda2 #挂载一个叫做hda2的盘 - 确定目录 '/ mnt/hda2' 已经存在
umount /dev/hda2 #卸载一个叫做hda2的盘 - 先从挂载点 '/ mnt/hda2' 退出
fuser -km /mnt/hda2 #当设备繁忙时强制卸载
umount -n /mnt/hda2 #运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
mount /dev/fd0 /mnt/floppy #挂载一个软盘
mount /dev/cdrom /mnt/cdrom #挂载一个cdrom或dvdrom
mount /dev/hdc /mnt/cdrecorder #挂载一个cdrw或dvdrom
mount /dev/hdb /mnt/cdrecorder #挂载一个cdrw或dvdrom
mount -o loop file.iso /mnt/cdrom #挂载一个文件或ISO镜像文件
mount -t vfat /dev/hda5 /mnt/hda5 #挂载一个Windows FAT32文件系统
mount /dev/sda1 /mnt/usbdisk #挂载一个usb 捷盘或闪存设备
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share #挂载一个windows网络共享
磁盘空间
df -h #显示已经挂载的分区列表
ls -lSr |more #以尺寸大小排列文件和目录
du -sh dir1 #估算目录 'dir1' 已经使用的磁盘空间'
du -sk * | sort -rn #以容量大小为依据依次显示文件和目录的大小
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
#以大小为依据依次显示已安装的rpm包所使用的空间 (fedora, redhat类系统)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
#以大小为依据显示已安装的deb包所使用的空间 (ubuntu, debian类系统)
查看端口是否启动
netstat -ntlup|grep 端口号
将进程挂载到后台
nohup ./startWebLogic.sh &
验证post接口
curl -d’app_key=govern-hncom-dock&method=hngv.com.dist.info×tamp=20210423095701&v=1.0&sign=AFAE9BB5C206BC6BE6EAA1F1DA161706’ http://59.110.88.214:8777/govern-hncom-dock/api/getAway
修改用户密码
echo 密码|passwd --stdin 用户名
后台执行sh文件
nohup sh xxx.sh &
解析域名
nslookup zfb.ssczhyy.com
启动mysql服务
/etc/init.d/mysql start
删除当前目录下的所有文件
rm -f *
Xsehll上传文件
rz -be
rpm安装软件
rpm -ivh 包名.rpm
RedHat关闭防火墙
service iptables stop
Centos7关闭防火墙
systemctl status firewalld.service
重新加载配置profile文件
source /etc/profile
unzip防中文乱码解压zip文件
unzip -O CP936 xxx.zip (用GBK, GB18030也可以)
当前目录下查找某个文件
find . -name “opencv2.framework”
服务器间跳转
ssh root@IP
crontab定时任务重新载入
/etc/init.d/crond restart
重新载入crontab
service crond reload
关闭weblogic进程
ps -ef |grep weblogic | grep -v grep | awk '{print $2}' | xargs kill
内存使用情况查看
#按照不同单位查看
free -h
free -m
free -g
释放缓存
echo 3 > /proc/sys/vm/drop_caches
Linux 查看内存使用率命令
free -m | sed -n '2p' | awk '{print "used mem is "$3"M,total mem is "$2"M,used percent is "$3/$2*100"%"}'
自动清理内存shell脚本
#!/bin/bash
#系统分配的区总量
mem_total=`free -m | awk 'NR==2' | awk '{print $2}'`
#当前剩余的大小
mem_free=`free -m | awk 'NR==3' | awk '{print $4}'`
#当前已使用的used大小
mem_used=`free -m | grep Mem | awk '{print $3}'`
if (($mem_used != 0)); then
#如果已被使用,则计算当前剩余free所占总量的百分比,用小数来表示,要在小数点前面补一个整数位0
mem_per=0`echo "scale=2;$mem_free/$mem_total" | bc`
DATA="$(date -d "today" +"%Y-%m-%d-%H-%M") free percent is : $mem_per"
echo $DATA >> /var/log/mem_detect.log
#设置的告警值为20%(即使用超过80%的时候告警)。
mem_warn=0.20
#当前剩余百分比与告警值进行比较(当大于告警值(即剩余20%以上)时会返回1,小于(即剩余不足20%)时会返回0 )
mem_now=`expr $mem_per \> $mem_warn`
#如果当前使用超过80%(即剩余小于20%,上面的返回值等于0),释放内存
if (($mem_now == 0)); then
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
#将release memory OK !写入temp文件夹的memstat_日期.log日志中
echo "--->release memory OK ! " >>temp/memstat_$(date +%Y%m%d_%H%M%S).log
fi
fi
查看占用内存较高的进程
ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
查看端口是否被占用
netstat -anp |grep 端口号
linux根据pid查询程序位置
查出进程的pid
ps aux | grep 程序
cd /proc/程序pid
rpm安装当前目录下的所有rpm包
rpm -ivh *.rpm --nodeps --forceps
压缩文件
tar czvf 压缩包名称 被压缩文件名
linux 下查看进程占用端口:
(1)查看程序对应的进程号: ps -ef | grep 进程名字
(2)查看进程号所占用的端口号: netstat -nltp | grep 进程号
ubuntu :查看进程占用端口号:netstat -anp | grep pid
linux 下查看端口号所使用的进程号:
(1)使用 lsof 命令:lsof -i:端口号
根据进程号查程序位置
-
先根据端口号查找pid(进程号)[或者程序名称]
netstat -nlp | grep 22 ps-ef |grep 程序名称(或者程序类型)
-
再根据进程号查找路径,如下:
ll /proc/进程号/cwd
查看某路径下文件正在被哪些进程打开使用
lsof +d path
递归查看打开某目录及其子目录下文件的所有进程信息
lsof +D path
VIM常用命令
dd:删除游标所在的一整行
Centos7下查看ssh服务
查看状态:
systemctl status sshd.service
启动服务:
systemctl start sshd.service
重启服务:
systemctl restart sshd.service
开机自启:
systemctl enable sshd.service
RedHat7查看ssh服务
# 启动ssh服务
service sshd start
/etc/init.d/sshd start
#设置开机自启
chkconfig sshd on
把某文件目录赋权给某用户
chown -R pg:pggroup/opt
修改指定用户密码
pgpasswd pg
Linux下查看已安装字体的方法
fc-list :lang=zh
jar包启动控制内存
java -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M -jar a.jar
linux查看主板型号及内存硬件信息,及硬盘测速
查看主板型号:
sudo dmidecode |grep -A16 "System Information$"
内存槽及内存条:
sudo dmidecode |grep -A16 "Memory Device$"
硬盘:
sudo fdisk -l
sudo smartctl -a /dev/sda //需要安装
网卡:
sudo mii-tool //我没有
修改句柄数
修改配置文件
vim /etc/profile
添加/或者修改:
ulimit -SHn 100000
然后使修改生效:
source /etc/profile
然后再ulimit -a
tar命令压缩文件
tar -czvf oracle.bak1126.tar.gz oracle.bak1126
查看系统位数
getconf LONG_BIT
vim 中跳到第一行和最后一行
gg 跳到第一行
shift+g 跳到文件最后一行
vim跳转到指定行数
:n(n为行数)
关键字查找日志文件
cat error-2022-08-01.log | grep "验签失败"
查看端口占用情况(根据PID)
netstat -lntp
远程文件传输
scp -r root@10.120.4.176:/usr/localtelnet/* /usr/local/telnet/
启动jar包
#初始内存:-Xms 最大内存:-Xmx
nohup java -Xms128M -Xmx128M -jar test.jar --spring.profiles.active=prod --server.port=端口号 >> /dev/null &
根据关键字查看后10行日志
cat info.log | grep "新增用户" -A 10