• linux使用操作[2]


    版权声明

    • 本博客的内容基于我个人学习黑马程序员课程的学习笔记整理而成。我特此声明,所有版权属于黑马程序员或相关权利人所有。本博客的目的仅为个人学习和交流之用,并非商业用途。
    • 我在整理学习笔记的过程中尽力确保准确性,但无法保证内容的完整性和时效性。本博客的内容可能会随着时间的推移而过时或需要更新。
    • 若您是黑马程序员或相关权利人,如有任何侵犯版权的地方,请您及时联系我,我将立即予以删除或进行必要的修改。
    • 对于其他读者,请在阅读本博客内容时保持遵守相关法律法规和道德准则,谨慎参考,并自行承担因此产生的风险和责任。本博客中的部分观点和意见仅代表我个人,不代表黑马程序员的立场。

    网络传输

    ping命令

    • Ping命令是一种常用的网络诊断工具,用于测试主机之间的连接性,并测量从一个主机发送到另一个主机的往返时间(RTT)。
    • 基本语法:
      ping [-c num] ip或主机名
      
      • 1
      • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
      • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
    • Ping命令会向目标主机发送一个网络控制报文(ICMP Echo Request),然后等待目标主机回复(ICMP Echo Reply)。如果目标主机可达并且能够回复,ping命令会显示每个回复报文的往返时间(以毫秒为单位),以及统计信息如平均往返时间、丢包率等等。

    Ping命令可用于以下目的:

    1. 检测网络连接问题:通过向目标主机发送 ICMP 报文并检查回复来判定能否与目标主机建立连接。
    2. 测试网络延迟:通过测量往返时间来估算网络延迟。
    3. 检测数据包丢失率:统计报文丢失率可以帮助判断网络连接的稳定性。
    4. 确定网络带宽:通过测量从一个主机发送到另一个主机的往返时间,可以粗略估算网络的带宽。
    • 注意,防火墙设置或目标主机的配置可能会阻止 ping 命令的正常工作,因此即使目标主机正常运行,也可能无法 ping 通。

    wget命令

    • wget是在命令行环境下常用的非交互式的文件下载器,用于从Web服务器下载文件。它支持HTTP、HTTPS和FTP等协议,并提供了丰富的下载选项和功能。下面是对wget命令的简要说明:
    • 基本语法:
      wget [选项] [URL]
      
      • 1

    常用选项:

    1. -O, --output-document=文件名:将下载文件保存为指定的文件名。
    2. -P, --directory-prefix=目录:指定下载文件的保存目录。
    3. -c, --continue:断点续传,如果下载中断,下次执行wget命令时可以继续下载。
    4. -r, --recursive:递归下载,下载整个网站的内容(包括链接页面、图片文件等)。
    5. -np, --no-parent:仅在递归下载时有效,不下载父级目录中的文件。
    6. -nH, --no-host-directories:仅在递归下载时有效,不创建主机名相关的目录。
    7. -A, --accept=后缀名:指定要下载的文件类型,可以使用通配符。
    8. -q, --quiet:静默模式,不显示详细的下载信息。
    9. -b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
      • 通过tail命令可以监控后台下载进度:tail -f wget-log

    示例用法:

    1. 下载单个文件:

      wget http://example.com/file.txt
      
      • 1
    2. 断点续传下载:

      wget -c http://example.com/file.txt
      
      • 1
    3. 递归下载整个网站:

      wget -r http://example.com/
      
      • 1
    4. 下载文件并指定保存目录:

      wget -P /path/to/save http://example.com/file.txt
      
      • 1

    curl命令

    • curl(全名为“Client URL”)是一个功能强大的命令行工具,用于在终端中进行网络数据传输。它支持多种协议,包括HTTP、HTTPS、FTP、SCP、SFTP等,可以用于下载文件、上传文件、发送HTTP请求等。
    • 基本语法:
      curl [选项] [URL]
      
      • 1

    常用选项和用法:

    1. 发送HTTP请求:向指定的URL发送HTTP GET请求
       curl https://example.com
    
    • 1
    1. 保存文件:
       curl -o 文件名 https://example.com/file.txt
    
    • 1
    1. 继续下载:
       curl -C - -o 文件名 https://example.com/file.txt
    
    • 1
    1. 上传文件:使用-T选项可以将本地文件上传到远程FTP服务器
       curl -T 本地文件路径 ftp://example.com/upload/
    
    • 1
    1. HTTP POST请求:使用-X选项指定HTTP方法(POST),并使用-d选项发送POST数据
       curl -X POST -d "key1=value1&key2=value2" https://example.com/api
    
    • 1
    1. 自定义请求头:使用-H选项可以添加自定义的HTTP请求头
       curl -H "Authorization: Bearer TOKEN" https://example.com/api
    
    • 1
    1. 显示HTTP响应头:使用-I选项可以仅显示HTTP响应头信息
       curl -I https://example.com
    
    • 1
    1. 跟随重定向:使用-L选项可以让curl自动跟随HTTP重定向
       curl -L https://example.com
    
    • 1
    1. 静默模式:使用-s选项可以启用静默模式,减少输出信息
       curl -s https://example.com
    
    • 1
    1. 限速下载:使用–limit-rate选项可以限制下载速度
    curl --limit-rate 100K https://example.com/largefile.zip
    
    • 1
    • 注意: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,即注册端口,长期绑定此端口等待别人连接

    端口命令和工具

    1. netstat命令:使用netstat命令来查看系统上当前的网络连接和监听的端口信息。

      • 安装netstat命令:
      yum -y install net-tools
      
      • 1
      • 查看所有正在监听的端口:
         netstat -tuln
      
      • 1
      • 查看指定端口是否正在监听:
         netstat -tuln | grep <端口号>
      
      • 1
    2. nmap命令:nmap是一个网络扫描和安全评估工具,也可以用来扫描主机的开放端口。

      • 安装nmap工具
      yum -y install nmap
      
      • 1
      • 扫描指定主机的开放端口:
      nmap <主机名或IP地址>
      
      • 1
    3. ss命令:ss命令是替代netstat的工具,用于显示套接字统计信息,包括网络连接和监听的端口。

      • 安装ss命令:
      sudo yum install iproute
      
      • 1
      • 查看当前打开的端口:
      ss -tuln
      
      • 1

    进程管理

    • 程序运行在操作系统中,是被操作系统所管理的。为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程,并会为每一个进程都分配一个独有的:进程ID(进程号)

    查看进程

    1. ps命令:ps命令用于列出当前会话中的进程。常见的选项包括:
      • ps aux:列出所有用户的所有进程,包括详细信息。
      • ps -ef:与ps aux类似,但使用不同的输出格式。
      • ps -e | grep 进程名:查找特定名称的进程。

    在这里插入图片描述

    • 示例:
       ps aux
       ps -ef
       ps -e | grep firefox
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    • 从左到右分别是:
      • UID:进程所属的用户ID
      • PID:进程的进程号ID
      • PPID:进程的父ID(启动此进程的其它进程)
      • C:此进程的CPU占用率(百分比)
      • STIME:进程的启动时间
      • TTY:启动此进程的终端序号,如显示?,表示非终端启动
      • TIME:进程占用CPU的时间
      • CMD:进程对应的名称或启动路径或启动命令
    1. top命令:top命令以交互式方式实时显示系统的进程信息。

      • 它可以按CPU使用情况或内存使用情况对进程进行排序,并提供更新的性能统计信息。
        示例:
         top
      
      • 1
      • 在top界面中,你可以按下q键退出。
        在这里插入图片描述
    2. htop命令:htop是top的改进版本,提供了更多的交互式功能和信息展示。通常需要单独安装,可以使用包管理器进行安装。
      示例:

       sudo apt install htop  # 对于Debian/Ubuntu
       sudo yum install htop  # 对于Red Hat/CentOS
       htop
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    1. grep和pkill命令:
      • pgrep命令用于通过进程名称查找进程的PID(进程ID)
      • pkill命令用于通过进程名称终止进程。
        示例:
       pgrep firefox
       pkill firefox
    
    • 1
    • 2
    1. pidof命令:pidof命令用于查找与给定进程名称相关的进程的PID。
      示例:
       pidof firefox
    
    • 1
    1. ps aux | grep 进程名命令:可以使用ps命令与grep命令结合来查找特定进程。
      示例:
       ps aux | grep firefox
    
    • 1

    关闭进程

    • 通过kill命令关闭进程
    • 基础语法:
      kill [-9] 进程ID
      
      • 1
      • 选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

    主机状态

    • 通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
      top
      
      • 1
    • 默认每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]
      
      • 1
      • 选项:-h,以更加人性化的单位显示
        在这里插入图片描述

  • 相关阅读:
    MATLAB 安装额外工具包
    LinkedList源码分析
    【搭建私人图床】使用LightPicture开源搭建图片管理系统并远程访问
    《棒球联盟》:世界少棒大赛·棒球1号位
    网络安全:系统文件属性
    中国人民大学加拿大女王金融硕士项目——只有不断提升自己,才能立于不败之地
    5.Docker 私有库及镜像推送
    【vue3+ts】项目初始化
    LeetCode 337. 打家劫舍 III(C++)*
    Jmeter之接口测试基础篇
  • 原文地址:https://blog.csdn.net/yang2330648064/article/details/133299320