Linux 入门
Linux
centos下载地址:
网易镜像:https://mirrors.163.com/centos/7/isos/
搜狐镜像:https://mirrors.sohu.com/centos/7/isos/
Linux文件与目录
目录 | 含义 | 备注 |
---|---|---|
/bin | Binary的缩写,用来存二进制可执行文件,并且比较特殊的是/bin存放的是所有一般用户都能使用的可执行文件,如:cat、chmod、mv、mkdir、cd等常用指令 | |
/sbin | Super User的意思,存放一些只有root用户才有权限执行的可执行文件,如init,ip,mount等命令 | |
/boot | 主要存放开机时用到的引导文件,如linux内核文件和开机菜单与开机所有需要的配置文件 | |
/dev | device,任何设备都以文件的形式存放再这个目录中。例如硬盘、键盘、鼠标、光驱等各种设备文件。只要通过访问该目录的某个文件就相当于访问了对应的设备 | |
/etc | 配置文件、启动脚本等(etc)包含所有程序所需的配置文件以及系统的配置文件,如用户的账号密码文件,各个服务的起始文件等。也包含了用于启动/停止单个程序的启动和关闭shell脚本。一般来说,该目录下的文件属性是可以让用户查阅,但只有root管理员有权利修改 | |
/home | 系统默认的用户的家目录,每当新建一个用户系统都会在这个目录下创建以该用户名为名称的目录作为该用户的家目录。 | |
/lib | library,存放着系统开机时所需的函数库以及/bin和/sbin目录下的命令会调用的函数库 | |
/bin64 | 存放相对于/lib中支持64位格式的函数库 | |
/media | 存放可移除的媒体设备、如光盘,DVD等 | |
/mnt | mount,临时挂载的设备文件,临时安装目录,系统管理员可以挂载文件系统。时系统管理员临时安装文件的系统安装点。 | |
/opt | optional,可选的软件包,即第三方文件软件。我们可以将除了系统自带软件之外的其他软件安装到这个目录。 | |
/proc | 特殊的动态目录,用以 维护系统的信息和状态,包括当前运行中进程(processes)信息。包含系统进程的相关信息,是一个虚拟的文件系统,包含有关正在运行的进程的信息,系统资源以文本信息形式存在。 | |
/root | 系统管理员root的主目录 | |
/run | 最近一次开机后所产生的各项信息,如当前的用户和正在运行中的守护进程等。 | |
/srv | service,存放一些服务启动后所需的数据 | |
/sys | system,与/proc类似也是虚拟文件系统,存放系统核心与硬件相关信息管理设备文件。不占用硬件容量。 | |
/tmp | temporary, 存放系统运行过程中使用的一些临时文件,可以被所有就用户访问,系统重启时会清空该目录。 | |
/usr | 包含绝大部分所有用户(users)都能访问的应用程序和文件包含二进制文件,库文件。文档和二级程序的源代码。 | |
/var | 经常变化的(variable)文件,诸如日志或数据库等代表变量文件。在这个目录下可以找到内容可能增长的文件 |
VIM编辑器
一般模式
语法 | 功能描述 |
---|---|
yy | 复制光标当前一行 |
y数字y | 复制一段(从第几行到第几行) |
y(shift+4) | 复制当前光标到结尾的字符串 |
p | 箭头移动到目的行粘贴 |
u | 撤销上一步 |
dd | 删除光标当前行 |
d数字d | 删除光标(含)后多少行 |
x | 剪切一个字母,相当于del |
X | 剪切一个字母,相当于Backspace |
w | 切换到下一个词 |
e | 快速到下一个词尾 |
d | 跳转到上一个词 |
yw | 复制一个词 |
dw | 删除一个词 |
shift+6 | 移动到行头 |
shift+4 | 移动到行尾 |
gg | 移动到页头 |
G/L | 移动到页尾 |
数字+shift+g | 移动到目标行 |
b | 跳转到上一词 |
数字b | 跳转到上n个词 |
显示行号:Set nu
不显示行号:set nonu
插入模式
在一般模式中可以进行删除,复制,粘贴等动作,但是缺无法编辑文件内容。
-
进入编辑模式
按钮 功能 i 当前光标前 a 当前光标后 o 当前光标行的下一行 I 光标所在行最前 A 光标所在行最后 O 当前光标行的上一行 -
退出编辑
按【ESC】键退出编辑模式,之后所在的模式为一般模式
指令模式
在一般模式当中,输入【:/?
】3个中的任何一个按钮,就可以将光标移动到最底下的一行
在这个模式当中,可以提供【搜索】资料的动作,读取、淳朴、大量取代字符、离开vi、显示行号等动作是在此模式中达成的。
命令 | 功能 |
---|---|
:w | 保存 |
:q | 退出 |
:wq | 保存并退出 |
:q! | 不保存强制退出 |
/要查的词 | n查找下一个,N往上查找 |
:noh | 取消高亮显示 |
:set nu | 显示行号 |
:set nonu | 关闭显示行号 |
😒 /old/new | 替换当前行匹配到第一个old为new |
😒 /lod/new/g | 替换当前行匹配到所有old为new |
:%s/old/new | 替换文档中每一行匹配到的第一个old为new |
:%s/old/new/g | 替换文档中的所有的old为new 比较常用 |
网络配置和系统管理员操作
查看网络ip和网关
-
查看虚拟网络编辑
Windows查看ip:
ipconfig
-
虚拟机网卡配置
-
桥接模式
虚拟机直接连接外部物理网络的模式,主机起到了网桥的作用。这个模式下直接访问外部网络,并且对外部网络是可见的。(同一个路由器内都可见,占用局域网的ip)
-
NAT模式(Network Address Translation)
虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换(NAT)设备对IP进行转换。虚拟机通过该共享IP可以访问外部网络,但外部网络无法访问虚拟机。
-
仅主机模式
虚拟机只与主机共享一个专用网络,与外部网络无法通信。
-
-
查看网关
ifconfig
配置网络ip
修改为静态ip
cd /etc/sysconfig/network-scripts
vim ifcfg-#按tab键补充
说明:
ifcfg-
前缀的文件的可能会有好几种情况,例如:ifcfg-eth0
、ifcfg-ens33
、ifcfg-ens192
BOOTPROTO="dhcp"
修改为
BOOTPROTO="static"
#IP地址
IPADDR=192.162.202.100
# 网关
GATEWAY=192.168.202.2
# 域名解析器
DBS1=192.168.202.2
重启网络服务
server network restart
系统管理
Linux中的进程和服务
计算机中,一个正在执行的程序或命令,被叫做“进程”(Process)
启动之后一直存在,常驻内存的进程,一般被称为“服务”(service)
systemctl 使用
-
基本语法
systemctl start | stop | restart | status 服务名
-
经验技巧
查看服务的方法:ls -al /usr/lib/systemd/system
-
案例实操
-
查看防火墙状态
systemctl status firewalld
-
停止防火墙服务
systemctl stop firewalld
-
启动防火墙服务
systemctl start firewalld
-
重启防火墙服务
systemctl restart firewalld
-
systemctl 设置后台服务的自启配置
-
基本语法
systemctl list-unit-files (功能描述:查看服务开机启动状态)
systemctl disable service_name (功能描述:关掉指定服务的自动启动)
systemctl enable service_name (功能描述:开启指定服务的自动启动)
-
案例实操
开启/关闭(防火墙)服务的自动启动
systemctl enable firewalld.service systemctl disable firewalld.service
系统运行级别
-
Linux运行级别
Linux系统有7种运行级别(runlevel) 常用的级别3和5
- 0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
- 1:单用户工作状态,root权限,用于系统维护,禁止远程登录
- 2:多用户状态(没有NFS),不支持网络
- 3:安全的多用户状态(有NFS),登录后进入控制台命令行模式
- 4:系统未使用,保留
- 5:X11控制台,登陆后进入图形GUI模式
- 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
-
Centos7的运行级别简化为:
multi-user.target 等价于原运行级别3(多用户有网,无图形界面)
graphical.target 等价于原运行级别5(多用户有网,有图形界面)
-
查看当前运行级别
systemctl get-default
vim /etc/inittab
-
修改当前运行级别
system set-default TARGET.target (这里的TARGET取 multi-user 或者graphical)
关闭防火墙
临时关闭防火墙
# 查看防火墙状态
systemctl status firewalld
systemctl stop firewalld
开机启动时关闭防火墙
# 查看防火墙开机启动状态
systemctl enable firewalld.service
# 设置开机时关闭防火墙
systemctl disable firewalld.service
查看服务是否开机自启动
systemctl list-unit-files
关机重启命令
# 一分钟后关机
shutdown
# 三分钟后关机
shutdown 3
# 某个时间关机
shutdown 15:00
# 取消关机
shutdown -c
# 立刻关机
shutdown now
-
基本语法
- sync 将数据由内存同步到硬盘中
- halt 停机,关闭系统,但不断电
- poweroff 关机,断电
- reboot 重启,等同于 shutdown-r now
- shutdown 【选项】 时间
-
经验技巧
Linux系统中为了提高磁盘的读写效率,对磁盘采取了 “预读迟写’'操作方式。当用户 保存文件时,Linux核心并不一定立即将保存数据写入物理磁盘中,而是将数据保存在缓 冲区中,等缓冲区满时再写入磁盘,这种方式可以极大的提高磁盘写入数据的效率。但是, 也带来了安全隐患,如果数据还未写入磁盘时,系统掉电或者其他严重问题出现,则将导 致数据丢失。使用sync指令可以立即将缓冲区的数据写入磁盘。
-
案例实操
-
将数据由内存同步到硬盘中
sync
-
重启
reboot
-
停机(不断电)
halt
-
计算机将在一分钟后关机,并且会显示在登录用的的当前屏幕中
shutdown -h 1
-
立马关机
shutdown -h now
-
系统立马重启(等同于reboot)
shutdown -r now
-
常用基本命令
帮助命令
-
man 获取帮助信息
man [命令或者配置文件] 获取帮助信息
man -f cd cd (1) - bash built-in commands, see bash(1) cd (n) - Change working directory [root@lys ~]# man 1 cd # 1为上面的括号显示
-
显示说明
信息 功能 NAME 命令的名称和单行描述 SYNOPSIS 怎样使用命令 DESCRIPTION 命令功能的深入讨论 EXAMPLES 怎样使用命令的例子 SEE ALSO 相关主题(通常是手册页)
cat 查看文件内容
cat [选项] 要查看的文件
cat -n 文件名 显示所有行的行号,包括空行
more 文件内容分屏查看器
more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容,more指令中内置若干快捷键
操作 | 功能说 |
---|---|
空白键(space) | 代表向下翻一页 |
Enter | 代表向下翻一行 |
q | 立刻离开 more |
ctrl + F | 向下滚动一屏 |
ctrl + B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行行号 |
less分屏显示文件内容(查看大文件)
与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容是时,不是一次性将整个文件加载之后才显示,而是更具显示需要加载内容,对于显示大型文件具有较高的效率
less 文件名
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页 |
pagedown | 向下翻动一页 |
pageup | 向上翻动一页 |
/字符串 | 向下搜寻【字符串】的功能:n:向下查找 N:向上查找 |
?字符串 | 向上搜寻【字符串】的功能:n 向上查找 N 向下查找 |
q | 离开less这个程序 |
echo 输出内容到控制台
echo 【选项】【输出内容】
-e: 支持反斜线控制的字符转换
控制字符 | 作业 |
---|---|
\ | 输出\本身 |
\n | 换行符 |
\t | 制表符,也就是Tab键 |
查看系统环境变量
echo $ + Tab键
head显示文件头部内容
head用于显示文件的头部内容,默认情况下,head指令显示文件的前10行内容
基本语法:
head 文件名 查看文件头10行内容
head -n 5 文件名 查看文件头5行内容
tail 输出文件尾部
tail -n 5 文件名
tail -f 文件
- 按 Ctrl + s 可以暂停监听
- 按Ctrl + Q 可以继续监听
查看文件索引
ls -i web.log
输出重定向 和 >> 追加
-
ls -l > a.txt (功能描述:列表的内容写入文件 a.txt 中(覆盖写))
-
ls -al >> aa.txt (功能描述:列表的内容追加到文件 aa.txt 的末尾)
-
cat 文件 1 > 文件 2 (功能描述:将文件 1 的内容覆盖到文件 2)
-
echo “内容” >> 文件
软连接
软连接(link)也称为符号链接,类似于Windows里的快捷方式,有自己的数据块,主要存放了连接其他文件路径
-
创建软连接
[root@lys logs]# ln -s web.log web [root@lys logs]# ll total 7988 -rw-r--r-- 1 root root 115498 May 13 11:04 gateway.log lrwxrwxrwx 1 root root 7 May 16 00:36 web -> web.log # 软连接的前缀为l -rw-r--r-- 1 root root 8048944 May 16 00:36 web.log
-
直接进入软连接对应的地址
cd -P 软连接
-
删除软连接
rm -rf 软连接名,而不是rm -rf 软连接名/
如果使用rm -rf 软连接/删除,会把软连接对应的真实目录下内容删掉
硬连接
ln 文件名 连接名
history 查看已经执行过历史命令
# 查看历史命令
history
# 情况历史命令
history -c
用户管理命令
# useradd 用户名 添加新用户
useradd lys
# 可以在home目录看到创建的用户文件夹
cd /home
# 创建时修改主文件夹名称
useradd -d /home/dave david
# 设置密码
passwd lys
# 查看用户信息,可以验证是否存在
id lys
uid=1005(lys) gid=1005(lys) groups=1005(lys)
# 查看系统用户
less /etc/passwd
# 切换用户 su: switch user
su lys
# 在lys用户退出可回到root用户
exit
# 查看当前用户
who am i
# 删除用户
userdel lys
# 删除用户以及文件夹
userdel -r lys
# sudo设置普通用户具有root权限
vim /etc/sudoers
# 添加
lys ALL=(ALL) ALL
# 使用超级管理员权限
sudo lys
# 将用户添加入某个组
usermod -g 组名 用户名
用户组管理命令
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,不同Linux系统对用户组的规则有所不同
如Linux下的用户属于与它同名的用户组,这个用户在和创建用户时同时创建。
用户组的管理设计用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新
# 新增组
groupadd 组名
# 修改组名
groupmod -n 新组名 旧组名
# 删除用户组
groupdel 组名
文件权限类
文件属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。在Linux中我们可以使用ll 或者ls -l来显示一个文件的属性以及文件所属的用户和组
-
从左到右的10个字符标识
| 文件类型 | 属主权限 | 属组权限 | 其他用户权限 | | 0 | 1 2 3 | 4 5 6 | 7 8 9 | | d | r w x | r - w | r - w | | 目录文件 | 读 写 执行 | 读 写 执行 | |
chmod 改变权限
# 增加执行权限
chmod +x nginx.conf
# chmod [u|g|o|a] +-= {rwx} 文件或目录
chmod u+x nginx.conf
chmod u-x nginx.conf
chmod u=x nginx.conf
chmod a+x nginx.conf
chmod a=rwx nginx.conf
# r=4 w=2 x=1
# 直接用数字修改权限
chmod 777 nginx.conf
# 修改整个文件夹的所有这,所属组,其他用户都具有可读可写可执行权限
chmod -R 777 nginx.conf
chown 改变所有者
chown [选项] [最终用户] [文件或目录]
chown lys a.txt
# 获取递归改变文件所有者和所有组
chown -R lys dir
charp 改变所有组
chgrp [最终用户组] [文件或目录]
chgrp root a.txt
搜索查找类
find 查找文件或目录
find指令将从指定目录向下递归地遍历其各个子目录
find [搜索范围] [选项]
选项 | 功能 | 示例 |
---|---|---|
-name 查询方式 | 按照指定文件名查找模式查找文件 | find -name nginx.conf find /root -name nginx.conf # 按照后缀查找 # "*"匹配多个字段,"?"匹配单个字符 find -name "*.txt" |
-user 用户名 | 查找属于指定用户名所有文件 | # 按用户查找 find -user lys |
-size 文件大小 | 按照指定文件大小查找文件,单位为 b-块 (512字节) c- 字节 w-字 2字节 k - 千字节 M -兆字节 G-吉字节 | # 按大小查找 +大于 -小于 find -size +1M find -size +1M |
locate 快速定位文件路径
Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时时刻。
locate 搜索文件
由于locate指令基于数据库进行查询,所以第一此运行前,必须使用updatedb指令创建locate数据库
updatedb
locate nginx.conf
# 查看指令所在位置
which ls
whereis locate
压缩和压缩类
gzip / gunip 压缩
gunzip 文件.gz (解压缩文件命令)
- 只能压缩文件不能压缩目录
- 不保留原来的文件
- 同时多个文件会产生多个压缩包
gzip nginx.conf
gunzip nginx.conf
gzip nginx.conf nginx.conf2
zip/unzip压缩
zip压缩命令在window/linux都通用,可以压缩目录且保留源文件
zip [选项] XXX.zip 压缩文件和目录命令
unzip [选项] XXX.zip 解压缩文件
- zip -r 压缩目录
- unzip -d 指定解压后文件的存放目录
# 将logs压缩成logs.zip
zip -r logs.zip logs/
# 解压logs.zip
unzip -d ./tmp logs.zip
tar打包
tar [选项] XXX.tar.gz 打包目录,压缩后的文件格式 .tar.gz
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 执行压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解压.tar文件 |
-C | 解压到指定目录 |
# 压缩单个文件
tar -zcvf nginx.tar.gz nginx.conf
# 压缩多个文件
tar -zcvf nginx.tar.gz nginx.conf nginx.conf2
# 解压文件
mkdir tmp
tar -zxvf nginx.tar.gz -C tmp/
磁盘查看和分区类
du 查看文件和目录占用的磁盘空间
du: disk usage 磁盘占用情况
du 目录/文件 显示目录下每个子目录的磁盘使用情况
选项 | 功能 |
---|---|
-h | 以人们较易预读的G,M、k等格式自行显示 |
-a | 不进查看子目录大小,还要包括文件 |
-c | 显示所有的文件和子目录大小后,显示总和 |
-s | 只显示总和 |
-max-depth=n | 指定统计子目录的深度为第nc层 |
tree 工具
查看当前用户主目录占用的磁盘空间大小
du -sh # 查看当前路径文件大小
# 子查看一级子目录
du --max-depth=1 -ah
df查看磁盘空间使用情况
df: disk free 空余磁盘
df 选项 列出文件系统的整体磁盘使用量,检查文件系统的磁盘空间占用情况
df -h 以人们较阅读的格式自行显示
lsblk 查看设备挂载情况
- lsblk
- lsblk -f 查看详细的设备故障情况,显示文件系统信息
mount/umount 挂载/卸载
Linux中每个分区都是用来组成整个文件系统的一部门,它在用一种叫挂载的处理方法,它整个文件系统中包含了一整套的文件和目录,并将一个分区和一个目录联系起来,要载入的那个文件将它的存储空间在这个目录获得,
mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
umount 设备文件名或挂载点 (功能描述:卸载设备)
参数 | 功能 |
---|---|
-t vfstype | 指定文件系统的类型,通常不必指定。mount会自动选择类型。常用类型有:光盘或光盘镜像 DOS Windows9x fat32文件系统:vfat Windows NT ntfs 文件系统: ntfs Mount Windows 文件网络共享:smbfs UNIX(LINUX)文件共享:nfs |
-o options | 主要用来描述设备或档案的挂接方式。常用的参数有: loop 用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备 iocharset: 指定访问系统所用字符集 |
device | 要挂接的设备 |
dir | 设备在系统上的挂载点 |
fdisk分区
fdisk -l 查看磁盘分区详情
fdisk 硬盘设备名 (显示所有硬盘的分区列表)
-
Linux分区
Device:分区序列
Boot: 引导
start:从x磁柱开始
end:到y磁柱结束
Blocks:容量
id:分区类型ID
system:分区类型
-
分区操作按键说明
m:显示命令列表
p:显示当前磁盘分区
n:新增分区
w:写入分区信息并退出
q:不保存分区信息直接退出
进程管理类
进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用着一定的系统资源
ps 查看当前系统进程状态
ps: process status 进程状态
- ps aux | grep XXX 查看系统中带XXX的进程
- ps -ef | grep XXX 可以查看子父今后进程之间的关系
选项 | 功能 |
---|---|
a | 列出带有终端的所有用户的进程 |
x | 列出当前用户的所有今后进程,包括没有终端的进程 |
u | 面向用户友好的显示风格 |
-e | 列出所有进程 |
-u | 列出某个用户关联的所有进程 |
-f | 显示完整格式的进程列表 |
ls /usr/lib/systemd/system
# 带d.service的为守护进程
ls /usr/lib/systemd/system | grep d.service
ps aux | less
ps -ef | less
ps aux显示信息说明
USER:该进程是由哪个用户产生的
PID: 进程的ID号
%CPU: 该进程占用CPU资源的百分比,占用越高,进程越耗费资源;
%MEM: 该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ: 该进程占用虚拟内存的大小,单位KB;
RSS: 该进程占用实际物理内存的大小,单位KB;
TTY: 该进程是哪个终端中运行的。对于CentOS来说,tty1是图形化终端,tty2-tty5是本地的字符界面终端。pts/0-255代表虚拟终端。
STAT: 进程状态。常见的状态有:
R:运行状态 S:睡眠状态 T: 暂停状态 Z:僵尸状态 s:包含子进程 l: 多线程 +:前台显示 <:高优先级 N:低优先级
START: 该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间
COMMAND:产生此进程的命令名
ps -ef 显示信息说明
UID: 用户ID
PID: 进程ID
PPID: 父进程ID
C: CPU用于计算执行优先级的因子。数字越大,表明进程是CPU密集型运算,执行优先级会降低;数字越小,表明进程是I/O密级型运算,执行优先级会提高
STIME:进程启动的时间
TIY:完成的终端名称
TIME: CPU时间
CMD: 启动进程所用的命令和参数
如果是想查看进程CPU占用率和内存占用率,可以使用aux
如果想查看进程的父进程ID可以使用ef;
kill 终止进程
kill [选项] 进程号 通过进程号杀死进程
killall 进程名称 通过进程名称杀死进程,也支持通配符,这在系统因负载过大而变得很慢时很有用
选项 | 功能 |
---|---|
-9 | 表示强迫进程立即停止 |
kill -l 查看各个号码代表的意思
pstree 查看进程树
pstree [选项]
选项 | 功能 |
---|---|
-p | 显示进程PID |
-u | 显示进程的所属用户 |
- pstree
- pstree -p
- pstree -u
top实施监控系统进程状态
top [选项]
选项 | 功能 |
---|---|
-d 秒数 | 指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行 |
-i | 使top不显示任何闲置或者僵死进程。 |
-p | 通过指定进程ID来仅仅监控某个进程的状态 |
操作 | 功能 |
---|---|
P | 以CPU使用率排序,默认就是此项 |
M | 以内存的使用率排序 |
N | 以PID排序 |
q | 退出top |
u | 根据指定用户进行过滤 |
k | 直接杀死 |
netstat 显示网络状态和端口占用信息
选项 | 功能 |
---|---|
-a | 显示所有正在监听(listen)和未监听的套接字(socket) |
-n | 拒绝显示别名,能显示数字的全部转化为数字 |
-l | 仅列出在监听的服务状态 |
-p | 表示显示哪个进程在调用 |
- netstat -anp | grep 进程号 查看该进程网络信息
- netstat -nlp | grep 端口号 查看网络端口号占用情况
- netstat -atnp 查看连接
根据端口号查进程ID
netstat -tlnp | grep <端口号>
# 示例
netstat -tlnp | grep 3658
tcp6 0 0 127.0.0.1:3658 :::* LISTEN 20753/java
# 20753就为进程id
根据进程id查占用端口
netstat -nlp | grep <pid> | grep LISTEN
# 示例
netstat -nlp | grep 12564 | grep LISTEN
tcp6 0 0 :::49999 :::* LISTEN 12564/java
unix 2 [ ACC ] STREAM LISTENING 572295240 12564/java /tmp/.java_pid12564.tmp
# 说明该进程占用的端口号为49999