文章目录
- 版权声明
- 网络传输
- ping命令
- wget命令
- curl命令
- 端口
- linux端口
- 端口命令和工具
- 进程管理
- 查看进程
- 关闭进程
- 主机状态
- top命令内容详解
- 磁盘信息监控
版权声明
- 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权利人所有。本博客的目的仅为个人学习和交流之用,并非商业用途。
- 我在整理学习笔记的过程中尽力确保准确性,但无法保证内容的完整性和时效性。本博客的内容可能会随着时间的推移而过时或需要更新。
- 若您是黑马程序员或相关权利人,如有任何侵犯版权的地方,请您及时联系我,我将立即予以删除或进行必要的修改。
- 对于其他读者,请在阅读本博客内容时保持遵守相关法律法规和道德准则,谨慎参考,并自行承担因此产生的风险和责任。本博客中的部分观点和意见仅代表我个人,不代表黑马程序员的立场。
网络传输
ping命令
- Ping命令是一种常用的网络诊断工具,用于测试主机之间的连接性,并测量从一个主机发送到另一个主机的往返时间(RTT)。
- 基本语法:
ping [-c num] ip或主机名
- 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
- Ping命令会向目标主机发送一个网络控制报文(ICMP Echo Request),然后等待目标主机回复(ICMP Echo Reply)。如果目标主机可达并且能够回复,ping命令会显示每个回复报文的往返时间(以毫秒为单位),以及统计信息如平均往返时间、丢包率等等。
Ping命令可用于以下目的:
- 检测网络连接问题:通过向目标主机发送 ICMP 报文并检查回复来判定能否与目标主机建立连接。
- 测试网络延迟:通过测量往返时间来估算网络延迟。
- 检测数据包丢失率:统计报文丢失率可以帮助判断网络连接的稳定性。
- 确定网络带宽:通过测量从一个主机发送到另一个主机的往返时间,可以粗略估算网络的带宽。
- 注意,防火墙设置或目标主机的配置可能会阻止 ping 命令的正常工作,因此即使目标主机正常运行,也可能无法 ping 通。
wget命令
- wget是在命令行环境下常用的非交互式的文件下载器,用于从Web服务器下载文件。它支持HTTP、HTTPS和FTP等协议,并提供了丰富的下载选项和功能。下面是对wget命令的简要说明:
- 基本语法:
wget [选项] [URL]
常用选项:
- -O, --output-document=文件名:将下载文件保存为指定的文件名。
- -P, --directory-prefix=目录:指定下载文件的保存目录。
- -c, --continue:断点续传,如果下载中断,下次执行wget命令时可以继续下载。
- -r, --recursive:递归下载,下载整个网站的内容(包括链接页面、图片文件等)。
- -np, --no-parent:仅在递归下载时有效,不下载父级目录中的文件。
- -nH, --no-host-directories:仅在递归下载时有效,不创建主机名相关的目录。
- -A, --accept=后缀名:指定要下载的文件类型,可以使用通配符。
- -q, --quiet:静默模式,不显示详细的下载信息。
- -b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
- 通过tail命令可以监控后台下载进度:
tail -f wget-log
- 通过tail命令可以监控后台下载进度:
示例用法:
-
下载单个文件:
wget http://example.com/file.txt
-
断点续传下载:
wget -c http://example.com/file.txt
-
递归下载整个网站:
wget -r http://example.com/
-
下载文件并指定保存目录:
wget -P /path/to/save http://example.com/file.txt
curl命令
- curl(全名为“Client URL”)是一个功能强大的命令行工具,用于在终端中进行网络数据传输。它支持多种协议,包括HTTP、HTTPS、FTP、SCP、SFTP等,可以用于下载文件、上传文件、发送HTTP请求等。
- 基本语法:
curl [选项] [URL]
常用选项和用法:
- 发送HTTP请求:向指定的URL发送HTTP GET请求
curl https://example.com
- 保存文件:
curl -o 文件名 https://example.com/file.txt
- 继续下载:
curl -C - -o 文件名 https://example.com/file.txt
- 上传文件:使用-T选项可以将本地文件上传到远程FTP服务器
curl -T 本地文件路径 ftp://example.com/upload/
- HTTP POST请求:使用-X选项指定HTTP方法(POST),并使用-d选项发送POST数据
curl -X POST -d "key1=value1&key2=value2" https://example.com/api
- 自定义请求头:使用-H选项可以添加自定义的HTTP请求头
curl -H "Authorization: Bearer TOKEN" https://example.com/api
- 显示HTTP响应头:使用-I选项可以仅显示HTTP响应头信息
curl -I https://example.com
- 跟随重定向:使用-L选项可以让curl自动跟随HTTP重定向
curl -L https://example.com
- 静默模式:使用-s选项可以启用静默模式,减少输出信息
curl -s https://example.com
- 限速下载:使用–limit-rate选项可以限制下载速度
curl --limit-rate 100K https://example.com/largefile.zip
- 注意:curl与wget不同,curl仅提供了传输数据的功能,而wget除了下载文件还包括了递归下载等功能。
端口
- 端口,是设备与外界通讯交流的出入口。
- 端口可以分为:物理端口和虚拟端口两类
- 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
- 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的
- 计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通。
linux端口
-
在Linux系统中,端口是用于网络通信的逻辑通道,用于标识不同应用程序或服务。
-
Linux遵循基于TCP/IP协议的网络通信模型,其中端口号范围从0到65535。
-
端口分为三类:
- 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口**【非特殊需要,不要占用这个范围的端口】**
- 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
- 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。
-
如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口。计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接
端口命令和工具
-
netstat命令:使用netstat命令来查看系统上当前的网络连接和监听的端口信息。
- 安装netstat命令:
yum -y install net-tools
- 查看所有正在监听的端口:
netstat -tuln
- 查看指定端口是否正在监听:
netstat -tuln | grep <端口号>
-
nmap命令:nmap是一个网络扫描和安全评估工具,也可以用来扫描主机的开放端口。
- 安装nmap工具
yum -y install nmap
- 扫描指定主机的开放端口:
nmap <主机名或IP地址>
-
ss命令:ss命令是替代netstat的工具,用于显示套接字统计信息,包括网络连接和监听的端口。
- 安装ss命令:
sudo yum install iproute
- 查看当前打开的端口:
ss -tuln
进程管理
- 程序运行在操作系统中,是被操作系统所管理的。为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程,并会为每一个进程都分配一个独有的:进程ID(进程号)
查看进程
- ps命令:ps命令用于列出当前会话中的进程。常见的选项包括:
ps aux
:列出所有用户的所有进程,包括详细信息。ps -ef
:与ps aux类似,但使用不同的输出格式。ps -e | grep 进程名
:查找特定名称的进程。
- 示例:
ps aux
ps -ef
ps -e | grep firefox
- 从左到右分别是:
- UID:进程所属的用户ID
- PID:进程的进程号ID
- PPID:进程的父ID(启动此进程的其它进程)
- C:此进程的CPU占用率(百分比)
- STIME:进程的启动时间
- TTY:启动此进程的终端序号,如显示?,表示非终端启动
- TIME:进程占用CPU的时间
- CMD:进程对应的名称或启动路径或启动命令
-
top命令:top命令以交互式方式实时显示系统的进程信息。
- 它可以按CPU使用情况或内存使用情况对进程进行排序,并提供更新的性能统计信息。
示例:
top
- 在top界面中,你可以按下q键退出。
- 它可以按CPU使用情况或内存使用情况对进程进行排序,并提供更新的性能统计信息。
-
htop命令:htop是top的改进版本,提供了更多的交互式功能和信息展示。通常需要单独安装,可以使用包管理器进行安装。
示例:
sudo apt install htop # 对于Debian/Ubuntu
sudo yum install htop # 对于Red Hat/CentOS
htop
- grep和pkill命令:
- pgrep命令用于通过进程名称查找进程的PID(进程ID)
- pkill命令用于通过进程名称终止进程。
示例:
pgrep firefox
pkill firefox
- pidof命令:pidof命令用于查找与给定进程名称相关的进程的PID。
示例:
pidof firefox
ps aux | grep
进程名命令:可以使用ps命令与grep命令结合来查找特定进程。
示例:
ps aux | grep firefox
关闭进程
- 通过kill命令关闭进程
- 基础语法:
kill [-9] 进程ID
- 选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
主机状态
- 通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
top
- 默认每5秒刷新一次,语法:直接输入top即可,按q或ctrl + c退出
top命令内容详解
- 第一行:
top:命令名称,23:14:17:当前系统时间,up 110 days:启动了110天,2 users:2个用户登录,load:1、5、15分钟负载
- 第二行:
Tasks:146个进程,2 running:2个进程子在运行,97 sleeping:97个进程睡眠,0个停止进程,47个僵尸进程
- 第三行:
%Cpu(s):CPU使用率,us:用户CPU使用率,sy:系统CPU使用率,ni:高优先级进程占用CPU时间百分比,id:空闲CPU率,wa:IO等待CPU占用率,hi:CPU硬件中断率,si:CPU软件中断率,st:强制等待占用CPU率
- 第四行:
Kib Mem:物理内存,total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
- 第五行:
KibSwap:虚拟内存(交换空间),total:总量,free:空闲,used:使用,buff/cache:buff和cache占用
- PID:进程id
- USER:进程所属用户
- PR:进程优先级,越小越高
- NI:负值表示高优先级,正表示低优先级
- VIRT:进程使用虚拟内存,单位KB
- RES:进程使用物理内存,单位KB
- SHR:进程使用共享内存,单位KB
- S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
- %CPU:进程占用CPU率
- %MEM:进程占用内存率
- TIME+:进程使用CPU时间总计,单位10毫秒
- COMMAND:进程的命令或名称或程序文件路径
磁盘信息监控
- 使用df命令,可以查看硬盘的使用情况
- 语法:
df [-h]
- 选项:-h,以更加人性化的单位显示
- 选项:-h,以更加人性化的单位显示