centos yum lsof(centos怎么安装软件包)
Linux系统查看端口占用命令
要了解如何在Linux系统中查看端口是否被占用,您首先需要确保已安装必要的工具。对服务器的理解类似于拥有高性能的PC电脑,配置越高,性能越强。以下是一些命令安装步骤:
在CentOS系统中,使用以下命令安装net-tools:
# yum install net-tools
在Ubuntu或Debian系统中,执行:
# apt-get install net-tools
若要安装lsof,请执行:
在CentOS系统中,输入:
# yum install lsof
在Ubuntu或Debian系统中,执行:
# apt-get install lsof
netstat命令用于在内核中访问网络信息,可显示协议统计和当前TCP/IP网络连接。使用以下命令查看所有端口:
netstat-ntlp
通过lsof命令,可以列出当前系统中打开的文件。要查看所有端口情况,使用:
# lsof-i
要查询特定端口,例如80端口,执行:
# lsof-i:[端口]#如查询 80端口# lsof-i:80
更多命令示例如下:
查看8080端口占用情况:lsof-i:8080
显示开启文件abc.txt的进程:lsof abc.txt
显示abc进程现在打开的文件:lsof-c abc
列出进程号为1234的进程所打开的文件:lsof-c-p 1234
显示归属gid的进程情况:lsof-g gid
显示目录下被进程开启的文件:lsof+d/usr/local/
搜索目录下的目录(时间较长):lsof+D/usr/local/
显示使用fd为4的进程:lsof-d 4
显示所有打开的端口和UNIX domain文件:lsof-i-U
在查到端口占用的进程后,使用kill命令可以杀掉对应的进程:
# [pid]换成在上述命令中获得的进程PID#例如杀掉pid为6010的进程kill-9 6010
Linux命令神器lsof
在Linux环境中,lsof(list open files)是一款强大的系统监控和诊断工具,它能列出所有系统中进程打开的文件,包括网络套接口。尤其在系统运维中,lsof发挥着不可或缺的作用。本文将详细介绍lsof的安装、使用方法以及实战应用。
lsof的安装与基本使用
在Centos系统中,通过yum命令安装lsof:yum-y install lsof。在终端中输入`lsof--h`可查看使用指南,基本命令如`lsof`将显示所有打开的文件。
实战训练
1.解决Device is busy问题
遇到磁盘卸载失败的提示,可以利用lsof找出占用磁盘的进程,例如`lsof-i`查看网络连接,找出特定端口的进程,如`lsof-i:22`。找到后,可以杀死进程以解除磁盘繁忙状态。
2.解决文件已删除空间未释放问题
磁盘空间占用100%时,可能由于已删除文件被进程占用。使用`lsof-n| grep delete`检查占用文件的进程,然后杀死进程以释放空间,避免重启系统。
3.恢复已删除文件
利用lsof,若进程仍存在,可以尝试恢复系统日志,如创建一个文件并启动后台进程,通过查看进程的文件描述符,可以尝试恢复已删除的文件。
【实用】CentOS 7系统优化脚本
作为一名运维人员,部署操作系统的任务经常重复,操作内容大同小异。为此,可以将相同的操作制作成统一执行的脚本,通过手动输入不同部分实现自动化操作,节省大量时间。最近发现了一款好用的shell源码,稍作修改后分享给大家。
脚本主要实现系统优化功能,包括修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等。
脚本结构如下:
1.主菜单
2.二级菜单
主要实现系统优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具和加快ssh登录等功能。
脚本代码如下:
sh
#!/bin/sh
./etc/rc.d/init.d/functions
exportLANG=zh_CN.UTF-8
#一级菜单
menu1(){
clear
cat</etc/locale.conf</dev/null
echo'#firewall-cmd--state'
firewall-cmd--state
systemctldisablefirewalld.service&>/dev/null
echo'#systemctllist-unit-files|grepfirewalld'
systemctllist-unit-files|grepfirewalld
action"完成禁用firewalld,生产环境下建议启用!"/bin/true
echo"==========================================================="
sleep5
}
#精简开机启动
chkset(){
echo"=======================精简开机启动========================"
systemctldisableauditd.service
systemctldisablepostfix.service
systemctldisabledbus-org.freedesktop.NetworkManager.service
echo'#systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'
systemctllist-unit-files|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"
action"完成精简开机启动"/bin/true
echo"==========================================================="
sleep2
}
#修改文件描述符
limitset(){
echo"======================修改文件描述符======================="
echo'*-nofile65535'>/etc/security/limits.conf
ulimit-SHn65535
echo"#cat/etc/security/limits.conf"
cat/etc/security/limits.conf
echo"#ulimit-Sn;ulimit-Hn"
ulimit-Sn;ulimit-Hn
action"完成修改文件描述符"/bin/true
echo"==========================================================="
sleep2
}
#安装常用工具及修改yum源
yumset(){
echo"=================安装常用工具及修改yum源==================="
yuminstallwget-y&>/dev/null
if[$?-eq0];then
cd/etc/yum.repos.d/
\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)
ping-c1mirrors.aliyun.com&>/dev/null
if[$?-eq0];then
wget-O/etc/yum.repos.d/CentOS-Base.repo
yumcleanall&>/dev/null
yummakecache&>/dev/null
else
echo"无法连接网络"
exit$?
fi
else
echo"wget安装失败"
exit$?
fi
yum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/null
action"完成安装常用工具及修改yum源"/bin/true
echo"==========================================================="
sleep2
}
#优化系统内核
kernelset(){
echo"======================优化系统内核========================="
chk_nf=`cat/etc/sysctl.conf|grepconntrack|wc-l`
if[$chk_nf-eq0];then
cat>>/etc/sysctl.conf</dev/null
if[$?-eq0];then
/usr/sbin/
echo"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/root
else
echo"ntpdate安装失败"
exit$?
fi
action"完成设置时间同步"/bin/true
echo"==========================================================="
sleep2
}
#history优化
historyset(){
echo"========================history优化========================"
chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`
if[$chk_his-eq0];then
cat>>/etc/profile<<'EOF'
#设置history格式
exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoami|awk'{print$NF}'|sed-r's#[()]##g'`]:"
#记录shell执行的每一条命令
exportPROMPT_COMMAND='\ if[-z"$OLD_PWD"];then exportOLD_PWD=$PWD; fi; if[!-z"$LAST_CMD"&&["$(history1)"!="$LAST_CMD"];then logger-t`whoami`_shell_dir"[$OLD_PWD]$(history1)"; fi; exportLAST_CMD="$(history1)"; exportOLD_PWD=$PWD;' EOF
source/etc/profile
else
echo"优化项已存在。"
fi
action"完成history优化"/bin/true
echo"==========================================================="
sleep2
}
main(){
menu1
case$num1in
1) localeset selinuxset firewalldset chkset limitset yumset kernelset sshset restartset ntpdateset historyset;;
2) menu2
case$num2in
1) localeset;;
2) selinuxset;;
3) firewalldset;;
4) chkset;;
5) limitset;;
6) yumset;;
7) kernelset;;
8) sshset;;
9) restartset;;
10) ntpdateset;;
11) historyset;;
12) main;;
13) exit;;
*) echo'Pleaseselectanumberfrom[1-13].';;
esac
;;
3) exit;;
*) echo'Err:Pleaseselectanumberfrom[1-3].' sleep3 main;;
esac
}
main$*
将脚本保存为init.sh,赋予执行权限并执行即可。
chmod+xinit.sh&&./init.sh
通过一键命令执行,同样能达到脚本的效果:
bash-c"$(curl-Ls.aaa.al/init.sh)"
如需新增功能,可在脚本基础上进行修改实现。
本书从实用角度出发,结合实际应用案例,模拟真实的系统环境,介绍电脑的使用方法与技巧,旨在帮助读者全面、系统地掌握电脑的应用。书中“高手支招”板块提供大量实用技巧,解决日常工作中遇到的常见问题。