Linux常用命令-网络管理

在这里插入图片描述

文章目录

  • ping
    • 基本用法
    • 主要选项
    • 常见用途和理解输出
    • 注意事项
  • ifconfig
    • 基本用法
    • 配置网络接口
    • 示例
    • 高级功能
  • netstat
    • 基本用法
    • 常用选项
    • 示例
    • 注意事项
  • wget
    • 主要特点
    • 基本用法
      • 常见选项
    • 示例
    • 注意事项
  • curl
    • 主要特点
    • 基本用法
      • 常见选项
    • 示例
    • 注意事项
  • 参考资料
    • 在线文档和手册
    • 图书
    • 在线教程和指南
    • 论坛和社区

ping

ping 是一种常见的网络工具,用于测试从运行 ping 命令的设备到网络另一端设备(可以是另一台计算机、网络路由器等)的连通性。它基于 ICMP(Internet Control Message Protocol,互联网控制消息协议)工作,发送 ICMP 回显请求消息给目的地址,并等待接收到回显回复消息。

基本用法

ping [选项] 目的地

其中,目的地 可以是 IP 地址或域名。例如:

ping 8.8.8.8(向 Google 的 DNS 服务器发送 ICMP 请求)
ping www.google.com(向 Google 的网站发送 ICMP 请求)

主要选项

-c count:发送指定数量的请求包然后停止。
-i interval:设置每次请求之间的间隔秒数。
-t ttl:设置 Time To Live 值(IP 数据包在网络中的生命周期)。
-s packetsize:设置每个数据包的大小(字节)。
-w deadline:设置 ping 超时时间,无论请求是否得到响应,都会在指定的时间后停止 ping 命令。
-q:安静输出,只显示摘要信息。

常见用途和理解输出

当你运行 ping 命令时,它将显示一系列的输出信息,每一行通常包括:

目的地 IP 地址,
ICMP 序列号,
TTL 值,
往返时间(RTT, Round-Trip Time)等信息。
示例输出

PING www.google.com (216.58.214.132): 56 data bytes
64 bytes from 216.58.214.132: icmp_seq=0 ttl=117 time=10.689 ms
64 bytes from 216.58.214.132: icmp_seq=1 ttl=117 time=14.639 ms
64 bytes from 216.58.214.132: icmp_seq=2 ttl=117 time=13.252 ms

解释
64 bytes:每个回复的数据大小。
from 216.58.214.132:响应的源 IP 地址。
icmp_seq=0:ICMP 请求的序列号。
ttl=117:数据包的生存时间(它经过的每个路由器会减一,直到为零时被丢弃,避免了在网络中无限循环)。
time=10.689 ms:数据包往返时间,可以作为网络延迟的一个指标。

注意事项

在某些网络环境或系统中,ICMP 请求可能会被防火墙或路由规则阻止,从而导致 ping 请求无响应。
有些设备可能配置为不响应 ICMP 请求,即使它们是在线和可访问的,所以 ping 不通不一定代表网络不通。
ping 是测试基本网络连通性的有用工具,但它不能提供关于网络质量的全面信息。进一步的网络性能分析可能需要其他工具,如 traceroute(跟踪路径)和 mtr。
ping 很有用于排除网络故障,检查网络的响应时间,并帮助诊断网络连接问题。它简单易用,是每个网络管理员和IT专业人员的必备工具之一。

ifconfig

ifconfig(interface configuration)是 Unix 和类 Unix 操作系统中一种传统的网络配置工具,用于配置、控制和查询 TCP/IP 网络接口参数的命令行工具。通过它可以设置接口的 IP 地址、子网掩码、广播地址等,并可以查看每个接口的统计数据,比如接收和发送的数据包数量、碰撞、掉包情况等。

随着 Linux 发行版的发展,许多最新版本已经将 ifconfig 命令标记为弃用(deprecated),并推荐使用 ip 命令来代替。然而,ifconfig 依然在许多旧系统和学习资源中被广泛使用。

基本用法

不带任何参数执行 ifconfig 将列出所有活动的网络接口及其配置:

ifconfig

配置网络接口

分配 IP 地址和子网掩码给网络接口:

ifconfig [接口名] [IP地址] netmask [子网掩码]
启用或关闭网络接口:

  1. 启用接口:
    ifconfig [接口名] up
  2. 关闭接口:
    ifconfig [接口名] down
  3. 设置广播地址:
    ifconfig [接口名] broadcast [广播地址]

示例

  1. 查看所有接口的状态信息:
ifconfig -a
  1. 设置接口 eth0 的 IP 地址为 192.168.1.10 并设置子网掩码:
ifconfig eth0 192.168.1.10 netmask 255.255.255.0
  1. 启用网络接口 eth0:
ifconfig eth0 up
  1. 禁用网络接口 eth0:
ifconfig eth0 down

高级功能

除了基本的配置功能,ifconfig 还可以被用来执行更复杂的任务,如配置混杂模式(promiscuous mode,允许网卡接收所有经过其所在物理网络的数据包),查看多播成员资格等。

注意事项
由于 ifconfig 被视为弃用,一些最新的 Linux 发行版可能默认不包括这个命令,用户可能需要安装 net-tools 包来获取它。
ip 命令比 ifconfig 提供了更多的网络配置功能和更一致的语法。
如果可能,请熟悉和使用 ip 命令,这将确保在所有现代系统中的兼容性和最佳的网络管理实践。
尽管 ifconfig 不再是推荐使用的网络配置工具,但了解其功能和用法在处理老式系统时仍非常有用。对于习惯使用 ifconfig 的人来说,逐渐过渡到 ip 和其他现代工具也是一种顺应时代的选择。

netstat

netstat(Network Statistics)命令是一个非常有用的工具,用于在 Unix 和类 Unix 系统(包括 Linux、macOS 等)中监控和诊断网络系统的统计信息和配置。netstat 可以显示网络连接、路由表、接口统计、伪装连接和组播成员资格等信息。

基本用法

基本的 netstat 命令不带任何参数,将显示当前系统中的所有连接:

netstat

常用选项

-a 或 --all:显示所有选项,默认情况下不显示监听的服务器套接字。
-t 或 --tcp:显示 TCP 连接。
-u 或 --udp:显示 UDP 连接。
-n:以数字形式显示地址和端口号,不尝试解析名称(如主机、端口和用户名称)。
-l 或 --listening:显示监听中的服务端套接字。
-p 或 --program:显示每个连接或监听端口的进程 PID 及其名称。需要特定的权限(如 root)来查看非当前用户的进程。
-r 或 --route:显示路由表。
-i:显示网络接口列表。

示例

  1. 显示所有当前活跃的连接:
netstat -a
  1. 仅显示 TCP 连接:
netstat -t
  1. 仅显示正在监听的端口:
netstat -l
  1. 显示所有UDP连接:
netstat -u
  1. 以数字形式显示地址和端口,一起使用 -atn 或 -aun 查看 TCP 或 UDP 连接:
netstat -atn
  1. 显示每个活跃连接所属的进程ID和程序名称:
netstat -p

注意事项

netstat 命令可能在一些最新的 Linux 发行版中已经被弃用,而被推荐使用更现代的工具如 ss 与 ip 命令(作为 iproute2 包的一部分)替代。ss 命令特别用于显示套接字信息,它被认为是 netstat 的直接替代品。
尽管 netstat 在新版系统中可能不再默认提供,但仍然可以通过安装系统的 legacy 网络工具来使用它。
对于进行网络故障诊断和性能分析,熟悉 netstat 的选项和输出仍然非常有帮助。
netstat 提供了丰富的信息来帮助你理解和诊断你的网络。学习如何解释 netstat 的输出可以极大地提高解决网络问题的能力。尽管如此,了解和适应新工具(如 ss 和 ip),特别是在你的操作系统中推荐使用的工具,对于保持技能的更新和应对当前和未来的网络挑战也非常重要。

wget

wget 是一款广泛使用的、免费的、开源的命令行工具,用于从网络上下载文件。它支持 HTTP、HTTPS 和 FTP 协议,能够在下载过程中在断点处自动继续(支持断点续传),非常适合需要通过命令行自动化下载文件的场景,比如在脚本中下载资源或进行批量下载。

主要特点

  1. 支持多种协议:wget 支持 HTTP、HTTPS 和 FTP 协议,满足大多数网络下载需求。
  2. 断点续传:若下载过程中断,wget 能够从中断的地方重新开始下载,而无须重新下载已经接收的部分。
  3. 递归下载:wget 支持递归下载,能够镜像整个网站,保持网站的目录结构。
  4. 支持代理服务器:通过配置,wget 可以通过代理服务器进行下载。

基本用法

基础格式为:

wget [选项] [URL]

常见选项

-O 指定下载文件的保存名称。例如,wget -O example.html http://example.com,将下载的网页保存为 example.html。
-c 断点续传功能。如果因为网络问题或其他原因下载中断,使用这个选项可以继续之前的下载。
-r 或 --recursive 递归下载网页或网站,可以配合 -l(或 --level)选项指定递归的深度。
-l 或 --level 用来指定递归下载的深度。-l 0 表示无限递归下载。
–no-parent 在递归下载时不下载父目录中的文件,即只下载指定目录及其子目录中的内容。
-i 从文件读取多个 URL 进行批量下载。
–http-user=用户 和 --http-password=密码,在需要认证的网站上使用 HTTP 认证时提供用户名和密码。

示例

  1. 下载单个文件并保存为指定名称:
wget -O savedfile.html http://example.com/index.html
  1. 断点续传:
wget -c http://example.com/bigfile.zip
  1. 递归下载一个完整的网站:
wget -r -l 0 http://example.com/
  1. 从文件下载多个 URL:
wget -i urls.txt
  1. 使用 HTTP 认证下载文件:
wget --http-user=user --http-password=password http://example.com/protected/area

注意事项

在使用 wget 进行递归下载时,特别是当 -l 选项的值较大或为0(无限制)时,应该小心,因为这可能会下载大量数据并给网站服务器带来压力。
尊重网站的 robots.txt 文件和版权信息,不要下载非授权内容。
wget 是一个非常强大的下载工具,通过学习它的各种参数和选项,可以在很多情况下简化下载任务,或在脚本中自动化下载过程。

curl

curl 是一款强大的命令行工具,用于传输数据,它支持多种协议,包括 HTTP、HTTPS、FTP、FTPS、SCP、SFTP、TFTP、LDAP、LDAPS、DICT、FILE、TELNET 和更多。curl为开发者和系统管理员提供了一个简单而有效的方式来在终端或脚本中与各种服务器进行数据交换和API通信。

主要特点

  1. 多协议支持:curl 支持广泛的网络协议,使得它可以与许多不同的服务器和服务进行交互。
  2. 数据传输:curl 可以上传或下载数据,并具有从指定URL下载文件到本地的功能。
  3. 灵活性:通过命令行选项,curl提供非常灵活的方式来修改请求,包括请求方法、头部、体内容等,非常适合API测试和自动化脚本。
  4. 安全性:支持 SSL 证书,HTTP POST,HTTP PUT,FTP 上传等特性,还可以通过 SSL 对连接进行加密,保证数据传输的安全。

基本用法

基础格式为:

curl [选项] [URL...]

常见选项

-o 或 --output:将下载的内容保存到文件中,后面紧跟文件名。
-O:将下载的内容直接按照URL中的文件名保存到当前目录。
-X 或 --request:指定 HTTP 请求的方法(如 GET、POST、DELETE等)。
-H 或 --header:添加额外的 HTTP 请求头部。
-d 或 --data:发送到服务器的 HTTP POST 数据。
–data-urlencode:发送到服务器的 HTTP POST 数据并进行 URL 编码。
-u 或 --user:使用用户认证,格式例如 user:password。
-v 或 --verbose:提供更详细的操作信息,用于调试。
–insecure:允许 curl 访问未使用证书或使用自签名证书的 HTTPS 网站。
-F 或 --form:用于模拟 HTML 表单提交。

示例

  1. 下载文件:
curl -O https://example.com/file.zip
  1. 发送POST请求并提供数据:
curl -d "name=John&age=22" https://example.com/submit
  1. 使用自定义请求头部请求数据:
curl -H "X-My-Header: 123" https://example.com
  1. 使用基本身份验证:
curl -u username:password https://example.com
  1. 从指定的文件中上传数据:
curl -d @filename https://example.com/submit
  1. 提交表单数据:
curl -F "file=@path/to/local/file" https://example.com/upload

注意事项

当使用 curl 传输敏感信息,如密码等时,应避免在共用或不安全的网络中明文传输,及时采用 HTTPS 或其他安全措施来保护数据。
curl 的 -v 或 --verbose 选项对于排查网络通信问题非常有用,但输出的信息可能很多,需要按需使用。
curl 与 wget 的主要区别在于 curl 设计用于与服务器交互并获取或发送数据,而 wget 则侧重于从服务器下载内容。curl 提供了更多调节请求的选项,适合做API测试和数据操作。
curl 作为一个非常强大的工具,在Web开发、系统管理和自动化任务中被广泛应用,熟练掌握它将大大提升工作和开发的效率。

参考资料

在线文档和手册

  1. Linux 用户管理手册
    通过 man useradd, man usermod, man passwd, man groupadd 等命令来获取命令使用手册。
  2. Linux 权限管理手册
    使用 man chmod, man chown, man chgrp 等命令对权限管理命令获取帮助手册。
  3. GNU Coreutils 文档
    https://www.gnu.org/software/coreutils/manual/coreutils.html
    包含了GNU 版本的权限和用户管理工具的详细信息。

图书

  1. “UNIX and Linux System Administration Handbook” by Evi Nemeth, Garth Snyder, Trent R. Hein, and Ben Whaley
    这本书被认为是 Unix 和 Linux 系统管理的经典著作,它详细讲解了包括用户管理和权限设置在内的众多主题。

  2. “Linux Administration: A Beginner’s Guide” by Wale Soyinka
    这本指南适用于初学者,并涉及了系统安装、配置、更新、监控和用户管理的基础内容。

  3. “How Linux Works: What Every Superuser Should Know” by Brian Ward
    此书提供了 Linux 系统的深入分析,包括文件系统管理、用户权限等关键主题。

在线教程和指南

  1. DigitalOcean 社区教程
    https://www.digitalocean.com/community
    提供了一系列关于权限和用户管理的详细教程,适用于不同层次的用户。
    Linuxize

  2. https://linuxize.com/
    包含许多关于 Linux 用户和权限管理的教程和文章。

  3. Tecmint
    https://www.tecmint.com/
    这个网站包含许多指南和教程,覆盖了 Linux 权限、用户账户创建和管理等方面。

论坛和社区

  1. Stack Overflow
    在 Stack Overflow https://stackoverflow.com/ 上搜索和学习社区提供的关于用户和权限管理的答案和解决方案。
  2. Unix & Linux Stack Exchange
    定位于 Unix 和 Linux 用户的问题和答案:https://unix.stackexchange.com/
  3. Reddit 的 Linux 社群
    Reddit 上的 Linux 用户社区是交流经验和获取建议的好地方:https://www.reddit.com/r/linux/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/520925.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

YOLO-World:实时开放词汇对象检测(论文+代码)

目录 一、YOLO-World摘要以及主要贡献 1.1摘要 1.2主要贡献 二、YOLO-World模型创新点总结 2.1YOLO Detector 2.2Text Encoder 2.3Re-parameterizable Vision-Language PAN 2.4核心创新点总结 三、如何应用 3.1推理预测 3.2自定义词汇推理 3.3自定义词汇类别…

Struts2的入门:新建项目——》导入jar包——》jsp,action,struts.xml,web.xml——》在项目运行

文章目录 配置环境tomcat 新建项目导入jar包新建jsp界面新建action类新建struts.xml,用来配置action文件配置Struts2的核心过滤器:web.xml 启动测试给一个返回界面在struts.xml中配置以实现页面的跳转:result再写个success.jsp最后在项目运行 配置环境 …

C++从入门到精通——类的定义及类的访问限定符和封装

类的定义及类的访问限定符和封装 前言一、类的定义类的两种定义方式成员变量命名规则的建议示例 二、类的访问限定符和封装访问限定符访问限定符说明C为什么要出现访问限定符例题 封装例题 前言 类的定义是面向对象编程中的基本概念,它描述了一类具有相同属性和方法…

Atlas 200 DK开发者套件的网络连接

一、参考资料 Atlas 200 DK官方文档 二、常用操作 1. Micro SD制卡 在windows系统上,一键制卡的步骤与Atlas 200I DK类似,但步骤更简单,详细步骤请参考:Windows系统制卡 2. Atlas 200 DK与PC机通信 2.1 准备工作 准备一根安…

一些好玩的东西

这里写目录标题 递归1.递归打印数组和链表?代码实现原理讲解二叉树的 前 中 后 序位置 参考文章 递归 1.递归打印数组和链表? 平常我们打印数组和链表都是 迭代 就好了今天学到一个新思路–>不仅可以轻松正着打印数组和链表 , 还能轻松倒着打印(用的是二叉树的前中后序遍…

vue事件代理

数据代理 Object.defineProperty 常见属性值 get和set函数 理解数据代理 Vue中的数据代理 Vue中的数据代理小结 事件处理 v-bind 事件处理小结 数据代理 Object.defineProperty 常见属性值 <body> <script type"text/javascript"> let person{n…

C++:逻辑运算符-非与或(19)

!非!a如果a为假&#xff0c;那么当前他就是真&#xff0c;如果a是真&#xff0c;那么他直接就是假&&与a&&ba与b都为真&#xff0c;那么就是真&#xff0c;如果两个里面有一个为假那么就是假||或a||ba或b有一个为真&#xff0c;那么就是真 非&#xff08;!&…

(学习日记)2024.03.31:UCOSIII第二十八节:消息队列常用函数

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

Golang并发模型-Pipeline模型、Fan-in Fan-out模型

这段时间由于项目的需要&#xff0c;本人正在研究关于如何优雅的进行go的并发&#xff0c;以下是结合资料和视频的结果&#xff0c;文末会给出参考资料 Go语言的并发模型主要通过goroutine和channel实现&#xff0c;通过这个我们可以更有效地使用IO和CPU 这里我们围绕生成一个…

LRU的原理与实现(java)

介绍 LRU的英文全称为Least Recently Used&#xff0c;即最近最少使用。它是一种内存数据淘汰算法&#xff0c;当添加想要添加数据而内存不足时&#xff0c;它会优先将最近一段时间内使用最少的数据淘汰掉&#xff0c;再将数据添加进来。 原理 LRU的原理在介绍中就已经基本说…

linux基础篇:Linux操作系统vi编辑器讲解与常用操作

Linux操作系统vi编辑器讲解与常用操作 一、vi编辑器介绍 vi编辑器是一款功能强大的文本编辑器&#xff0c;广泛应用于Unix和类Unix系统。它是由Bill Joy在1976年开发的&#xff0c;后来演变成vim&#xff08;vi improved&#xff0c;即“改进版的vi”&#xff09;编辑器。vi编…

敏感信息泄露漏洞

法律声明 参与培训需要遵守国家法律法规&#xff0c;相关知识只做技术研究&#xff0c;请勿用于违法用途&#xff0c;造成任何后果自负与本人无关。 中华人民共和国网络安全法&#xff08;2017年6月1日起施行&#xff09; 第二十二条 任何个人和组织不得从事入侵他人网络、干扰…

【JAVASE】带你了解面向对象三大特性之一(继承)

✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;再无B&#xff5e;U&#xff5e;G-CSDN博客 1.继承 1.1 为什么需要继承 Java 中使用类对现实世界中实体来…

ubuntu-server部署hive-part2-安装hadoop

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本&#xff1a;ubuntu-server-22.04.3 虚拟机&#xff1a;virtualbox7.0 安装hadoop ​​​​​​下载上传 下载地址 https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/ 以root用…

JDK 17 新特性实战,答案整理,最新面试题

JDK 17中的Pattern类增强了哪些功能&#xff1f; 1、新增asMatchPredicate方法&#xff1a; JDK 17的Pattern类新增了asMatchPredicate方法&#xff0c;可以将正则表达式编译为Predicate&#xff0c;方便用于过滤集合中的字符串。 2、增强了Unicode属性支持&#xff1a; JDK …

LLM推理参数(top_k,top_p, temperature, num_beams)

正常LLM做 next token predicate 时&#xff0c;对输出的 logits 做 softmax&#xff0c;选择概率最大的token。 num_beams &#xff1a;当我们设置 num_beams2 后&#xff0c;就使用了 beam search 的方法&#xff0c;每次不是只直接选择概率最大的 token&#xff0c;而是保留…

0基础确定要?进入it行业?

0基础如何进入IT行业&#xff1f; &#x1f31f;想进入IT行业&#xff1f;以下是一些对于0基础的人来说可行的步骤和建议&#xff01;&#x1f31f; "IT"是信息技术(Information Technology)的缩写&#xff0c;它指的是使用计算机、网络、软件和其他设备或系统来存…

数据安全之认识数据库审计系统

随着企业业务数据量的不断增长和数据存储的集中化&#xff0c;数据库成为企业的核心资产之一。然而&#xff0c;数据库面临着各种安全威胁&#xff0c;如SQL注入、权限滥用、数据泄露等。为了保障数据库的安全性和完整性&#xff0c;企业需要采取有效的审计措施来监控和记录数据…

spring源码解析-默认标签解析

spring 默认标签解析 parseDefaultElement处理流程 processBeanDefinition方法解析 processBeanDefinition时序图 元素解析 parseBeanDefinitionElement parseBeanDefinitionElement方法核心源码解析 创建GenericBeanDefinition实例对象 parseMetaElements parseConstructorAr…

平衡二叉树,红黑树,B树和B+树的区别及其应用场景

平衡二叉树 基础数据结构左右平衡高度差大于1会自旋每个节点记录一个数据 平衡二叉树&#xff08;AVL&#xff09; AVL树全称G.M. Adelson-Velsky和E.M. Landis&#xff0c;这是两个人的人名。 平衡二叉树也叫平衡二叉搜索树&#xff08;Self-balancing binary search tree…