Linux 常用命令汇总(五):网络操作命令

简介: ssh(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络上安全地进行远程登录和其他安全的网络服务scp(secure copy)是一个基于SSH协议的网络文件传输工具,用于在本地和远程计算机之间安全地复制文件wget是一个命令行工具,用于从网络上下载文件ping是一个用于测试网络连接可用性的命令行工具route命令在 Unix 和类 Unix 系统(如 Linux)中用于显示和操作 IP 路由表ifconfig。

一、网络操作命令
1.1 telnet
1.1.1 介绍
telnet 是一个用于远程登录到另一台计算机或设备的网络协议和命令行工具

1.1.2 使用方法
telnet [选项] [主机名或IP地址] [端口号]
1.1.3 参数详解
-l:指定登录名。
-a:尝试自动登录。
-e:设置转义字符。
-6:使用 IPv6。
-c:在命令执行后关闭连接。
-8:使用 8 位字符集。
1.1.4 常见使用案例
1.1.4.1 连接到远程 telnet 服务器
telnet example.com
这将尝试连接到名为 example.com 的远程服务器上的默认 telnet 端口(通常是 23)

1.1.4.2 指定端口号连接
telnet example.com 8080
这将尝试连接到 example.com 上的 8080 端口

1.1.4.3 使用特定登录名连接
telnet -l username example.com
这将尝试使用 username 作为登录名连接到 example.com

1.1.5 注意事项
telnet 通信是不加密的,因此它不适合传输敏感信息,因为数据可以在网络上被截获。对于安全通信,建议使用 SSH(安全外壳协议)。
telnet 主要用于文本模式的远程登录和会话,不支持图形用户界面(GUI)应用程序的远程访问。
在许多现代操作系统中,由于安全原因,telnet 客户端和服务器可能默认不被安装。取而代之的是更安全的远程访问方法,如 SSH。
1.2 ssh
1.2.1 介绍
ssh(Secure Shell)是一种加密的网络传输协议,用于在不安全的网络上安全地进行远程登录和其他安全的网络服务

1.2.2 使用方法
ssh [选项] [用户名@]主机名或IP地址
1.2.3 参数详解
-p:指定端口号。
-q:安静模式,不输出警告和诊断信息。
-X:启用 X11 转发。
-Y:启用信任的 X11 转发。
-C:压缩数据。
-i:指定私钥文件。
-l:指定登录名。
-v:详细模式,输出详细的调试信息。
1.2.4 常见使用案例
1.2.4.1 连接到远程服务器
ssh username@example.com
这将尝试使用 username 作为登录名连接到 example.com 服务器

1.2.4.2 指定端口号连接
ssh -p 2222 username@example.com
这将尝试连接到 example.com 上的 2222 端口

1.2.4.3 启用 X11 转发
ssh -X username@example.com
这将允许你在远程服务器上运行的图形应用程序的图形界面显示在你的本地机器上

1.2.5 注意事项
使用 ssh 之前,你需要在本地机器上安装 ssh 客户端,同时在远程服务器上安装 sshd 服务器。
默认情况下,ssh 使用 22 端口。如果你的服务器使用了不同的端口,需要使用 -p 选项指定。
ssh 依赖于公钥加密技术,你需要有一个公钥和私钥对。公钥通常存储在远程服务器上,而私钥保存在本地。
为了增强安全性,建议使用密钥对进行身份验证,而不是使用密码。
ssh 还支持很多高级功能,如代理命令、隧道转发等。
1.3 scp
1.3.1 介绍
scp(secure copy)是一个基于SSH协议的网络文件传输工具,用于在本地和远程计算机之间安全地复制文件

1.3.2 使用方法
scp [选项] [源文件或目录] [目标用户@]目标主机:目标路径
或者

scp [选项] [目标用户@]目标主机:源文件或目录 [目标路径]
1.3.3 参数详解
-r:递归复制整个目录。
-q:安静模式,不输出传输文件的信息。
-C:启用压缩功能。
-P:指定远程主机的端口号。
-i:指定私钥文件。
-l:限制带宽使用。
1.3.4 常见使用案例
1.3.4.1 从本地复制文件到远程服务器
scp myfile.txt username@example.com:/path/to/destination/
这将把本地的 myfile.txt 文件复制到远程服务器 example.com 上的 /path/to/destination/ 目录中

1.3.4.2 从远程服务器复制文件到本地
scp username@example.com:/path/on/remote/myfile.txt /local/path/
这将从远程服务器 example.com 上的 /path/on/remote/ 目录中复制 myfile.txt 文件到本地的 /local/path/ 目录中

1.3.4.3 递归复制目录
scp -r /local/dir/ username@example.com:/path/on/remote/
这将递归复制本地的 /local/dir/ 目录及其所有内容到远程服务器 example.com 上的 /path/on/remote/ 目录中

1.3.5 注意事项
在使用 scp 之前,确保本地和远程计算机上都已经安装了SSH客户端和服务端。
scp 需要目标计算机的SSH服务正在运行,并且你拥有适当的权限进行文件传输。
与 ssh 一样,scp 也支持公钥认证,允许你无需输入密码即可进行文件传输。
scp 的安全性依赖于SSH协议,因此它是安全的,除非存在SSH协议本身的漏洞或被不正确地配置。
1.4 wget
1.4.1 介绍
wget 是一个命令行工具,用于从网络上下载文件

1.4.2 使用方法
wget [选项] [URL]
1.4.3 参数详解
-O 或 --output-document=文件:将文档写入文件。
-q 或 --quiet:安静模式(无输出)。
-P 或 --directory-prefix=目录:将文件保存到指定目录。
-r 或 --recursive:递归下载。
-np 或 --no-parent:不递归下载上级目录。
-nd 或 --no-directories:不创建目录。
-A 或 --accept=列表:只下载匹配的文件类型。
-R 或 --reject=列表:拒绝下载匹配的文件类型。
-c 或 --continue:断点续传。
-nv 或 --no-verbose:不显示下载的文件名。
-e 或 --execute=命令:执行.wgetrc文件中的命令。
1.4.4 常见使用案例
1.4.4.1 下载单个文件
wget http: //example.com/myfile.txt
这将下载 http: //example.com/myfile.txt 并保存到当前目录

1.4.4.2 下载文件并保存到指定目录
wget -P /path/to/directory http: //example.com/myfile.txt
这将下载文件并保存到 /path/to/directory 目录中

1.4.4.3 递归下载整个网站
wget -r http: //example.com/
这将递归下载 http: //example.com/ 网站上的所有文件

1.4.4.4 下载特定类型的文件
wget -r -A.pdf,.doc http: //example.com/docs/
这将递归下载 http: //example.com/docs/ 目录下的所有 PDF 和 DOC 文件

1.4.5 注意事项
wget 默认会将下载的文件保存到当前工作目录。
使用 -r 选项进行递归下载时,要小心不要下载过多的内容,这可能会消耗大量带宽和磁盘空间。
wget 支持代理服务器和身份验证,可以在命令行中使用相应的选项进行设置。
如果下载过程中出现问题,wget 会尝试重新连接并继续下载,而不是重新开始。
1.5 ping
1.5.1 介绍
ping 是一个用于测试网络连接可用性的命令行工具

1.5.2 使用方法
ping [选项] 目标主机
1.5.3 参数详解
-c:发送指定数量的回显请求后停止。
-i:设置等待每个回显应答的秒数。
-n:只输出数值,不显示主机名。
-q:不显示任何传送封包的信息,只显示最后的统计信息。
-s:指定发送的 ICMP 数据包大小。
-v:详细输出,显示更多的信息。
1.5.4 常见使用案例
1.5.4.1 测试与目标主机的连接
ping www.example.com
这将向 www.example.com 发送 ICMP 回显请求,并显示响应结果

1.5.4.2 发送指定数量的请求
ping -c 4 www.example.com
这将向 www.example.com 发送 4 个 ICMP 回显请求后停止

1.5.4.3 指定数据包大小
ping -s 1024 www.example.com
这将发送大小为 1024 字节的 ICMP 数据包到 www.example.com

1.5.5 注意事项
ping 命令通常用于诊断网络连接问题,例如确定主机是否在线,或者测量网络延迟。
在某些网络中,频繁或大量的 ping 请求可能被视为攻击行为,因此在使用时要谨慎。
默认情况下,ping 会一直发送请求直到用户中断。使用 -c 选项可以限制发送的请求数量。
由于 ICMP 数据包可能被防火墙或路由器阻止,因此即使目标主机在线,ping 也可能失败。
1.6 route
1.6.1 介绍
route 命令在 Unix 和类 Unix 系统(如 Linux)中用于显示和操作 IP 路由表

1.6.2 使用方法
route [-nNvee] [-A inet | inet6] [-f file] [command [arguments]]
1.6.3 参数详解
-n:不解析主机名,以数字形式显示地址。
-e:显示扩展信息,包括接口索引和标志。
-v:详细输出,显示更多信息。
-A:指定地址族,可以是 inet(IPv4)或 inet6(IPv6)。
-f:从指定的文件读取路由表。
add:添加路由。
del:删除路由。
change:修改路由。
1.6.4 常见使用案例
1.6.4.1 显示路由表
route -n
这将显示当前路由表,以数字形式展示 IP 地址和接口索引

1.6.4.2 添加路由
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.1
这将在路由表中添加一条路由,将所有目标网络为 192.168.1.0 且子网掩码为 255.255.255.0 的数据包通过网关 10.0.0.1 发送

1.6.4.3 删除路由
route del -net 192.168.1.0 netmask 255.255.255.0
这将从路由表中删除一条目标网络为 192.168.1.0 且子网掩码为 255.255.255.0 的路由

1.6.5 注意事项
route 命令在大多数现代 Linux 发行版中已经被 ip 命令所取代,因为 ip 命令提供了更强大和灵活的功能。
当你使用 route 命令时,需要具有适当的权限,通常需要使用 sudo。
手动修改路由表通常只在特定的网络配置和故障排查场景下使用。在大多数情况下,网络配置应该通过更高级别的工具(如网络管理器或 DHCP 客户端)来管理。
1.7 ifconfig
1.7.1 介绍
ifconfig(interface configuration)是一个用于配置和显示Linux内核中网络接口参数的命令行工具

1.7.2 使用方法
ifconfig [interface] [options]
1.7.3 参数详解
up:激活指定的网络接口。
down:关闭指定的网络接口。
add

:给指定的网络接口添加IP地址。
del :从指定的网络接口删除IP地址。
netmask :设置网络接口的子网掩码。
broadcast :设置网络接口的广播地址。
pointopoint :设置点对点链接的地址。
1.7.4 常见使用案例
1.7.4.1 显示所有网络接口的配置
ifconfig
这将显示系统上所有网络接口的详细信息,包括IP地址、子网掩码、MAC地址等

1.7.4.2 配置网络接口
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
这将配置名为 eth0 的网络接口,设置其IP地址为 192.168.1.100,子网掩码为 255.255.255.0,并激活该接口

1.7.4.3 关闭网络接口
ifconfig eth0 down
这将关闭名为 eth0 的网络接口

1.7.5 注意事项
在新版本的Linux系统中,推荐使用 ip 命令来配置网络接口,因为它提供了更现代、更一致的接口,并且支持IPv6。
ifconfig 命令通常需要root权限才能执行。
当使用 ifconfig 配置网络时,更改将在重启后失效,除非这些设置被写入到网络配置文件中。
1.8 ifup & ifdown
1.8.1 介绍
ifup 和 ifdown 是用于管理网络接口的脚本,它们通常与 /etc/network/interfaces 配置文件一起使用,在基于Debian的系统(如Ubuntu)中提供网络服务

1.8.2 使用方法
1.8.2.1 启动网络接口
sudo ifup interface_name
1.8.2.2 停止网络接口
sudo ifdown interface_name
1.8.3 常见使用案例
1.8.3.1 启动名为 eth0 的网络接口
sudo ifup eth0
1.8.3.2 停止名为 eth0 的网络接口
sudo ifdown eth0
1.8.4 注意事项
ifup 和 ifdown 脚本通常包含在 networking 软件包中,这个软件包在大多数基于Debian的系统中默认安装。
这些脚本的行为取决于 /etc/network/interfaces 文件中的配置。如果配置文件中没有为指定的接口定义任何规则,那么 ifup 和 ifdown 将不会执行任何操作。
在某些情况下,网络管理可能通过其他工具(如 NetworkManager)进行,这种情况下 ifup 和 ifdown 可能不会起作用。
使用 ifup 和 ifdown 时,需要具有适当的权限,通常需要使用 sudo 命令。
1.9 netstat
1.9.1 介绍
netstat(网络统计)是一个命令行工具,用于显示网络连接、路由表、接口统计等信息

1.9.2 使用方法
netstat [options]
1.9.3 参数详解
-a:显示所有活动的网络连接和监听的端口。
-n:以数字形式显示地址和端口号,不进行DNS解析。
-t:显示TCP连接。
-u:显示UDP连接。
-r:显示路由表。
-s:显示网络统计信息。
-l:仅显示监听的套接字。
-p:显示与每个连接相关联的进程ID和名称。
1.9.4 常见使用案例
1.9.4.1 显示所有活动的TCP和UDP连接
netstat -a
1.9.4.2 以数字形式显示所有TCP连接
netstat -ant
1.9.4.3 显示监听端口
netstat -l
1.9.4.4 显示路由表
netstat -r
1.9.4.5 显示网络统计信息
netstat -s
1.9.5 注意事项
netstat 命令可能需要root权限才能显示所有信息。
在一些新版本的Linux发行版中,netstat 可能不是默认安装的。如果没有安装,可以通过包管理器(如 apt 或 yum)进行安装。
netstat 的输出信息可能非常详细,因此通常需要使用管道(|)和文本处理工具(如 grep)来过滤和查找特定的信息。
1.10 ss
1.10.1 介绍
ss(socket statistics)是一个用于查看系统套接字信息的命令行工具

1.10.2 使用方法
ss [options]
1.10.3 参数详解
-t:显示TCP套接字。
-u:显示UDP套接字。
-n:以数字形式显示地址和端口号,不进行DNS解析。
-l:仅显示监听的套接字。
-p:显示与每个套接字相关联的进程ID和名称。
-s:显示套接字统计信息。
-a:显示所有套接字,包括那些未连接的。
-4:仅显示IPv4套接字。
-6:仅显示IPv6套接字。
1.10.4 常见使用案例
1.10.4.1 显示所有活动的TCP和UDP套接字
ss -atu
1.10.4.2 以数字形式显示所有监听的TCP套接字
ss -ltn
1.10.4.3 显示与特定进程相关的套接字
ss -p -u src <process_id>
1.10.4.4 显示套接字统计信息
ss -s
1.10.5 注意事项
ss通常比netstat更快,因为它直接从内核中获取套接字信息,而不需要扫描/proc文件系统。
ss的输出格式与netstat略有不同,但大多数常用的信息都可以在ss的输出中找到。
ss命令在大多数现代Linux发行版中都是可用的,但它可能不是所有发行版的默认安装。如

相关文章
|
26天前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
100 32
|
25天前
|
监控 Linux
Linux命令大全:echo与tail实现输出重定向。
这样,我们实现了使用echo和tail命令进行输出重定向的目的。在实际应用中,输出重定向技巧可节省时间,提高工作效率。希望本文内容对您了解和掌握Linux系统中echo与tail命令以及输出重定向的操作有所帮助。
92 27
|
19天前
|
安全 网络协议 Linux
Linux网络应用层协议展示:HTTP与HTTPS
此外,必须注意,从HTTP迁移到HTTPS是一项重要且必要的任务,因为这不仅关乎用户信息的安全,也有利于你的网站评级和粉丝的信心。在网络世界中,信息的安全就是一切,选择HTTPS,让您的网站更加安全,使您的用户满意,也使您感到满意。
58 18
|
21天前
|
消息中间件 Linux Kafka
linux命令使用消费kafka的生产者、消费者
linux命令使用消费kafka的生产者、消费者
98 16
|
1月前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
120 23
|
27天前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
180 12
|
28天前
|
Linux 数据安全/隐私保护
使用Linux命令行接入无线网络Wi-Fi的示例。
现在,你已经使用命令行成功地连接到 Wi-Fi 网络了。这两个示例涵盖了用 `nmcli` 和 `wpa_supplicant` 连接无线网络的常见场景,让你能够不依赖图形化界面来完成这个任务。在日常使用中熟练掌握这些基本操作能增强你对 Linux 系统的理解,帮助你更有效地处理各种问题。
62 12
|
1月前
|
消息中间件 NoSQL Linux
Redis的基本介绍和安装方式(包括Linux和Windows版本),以及常用命令的演示
Redis(Remote Dictionary Server)是一个高性能的开源键值存储数据库。它支持字符串、列表、散列、集合等多种数据类型,具有持久化、发布/订阅等高级功能。由于其出色的性能和广泛的使用场景,Redis在应用程序中常作为高速缓存、消息队列等用途。
331 16
|
11天前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename &#39;s/2023/2024/&#39; *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
11天前
|
安全 Linux 网络安全
Linux wget 常用命令详解
wget 是一款强大的命令行下载工具,支持 HTTP/HTTPS/FTP 协议。本文详细介绍其基础用法、高效下载参数、高级应用场景及参数速查。内容涵盖断点续传(-c)、后台下载(-b)、限速下载(--limit-rate)、递归下载(-r)、整站镜像(-mk)等实用功能,同时提供文件管理、网络优化与安全下载配置方法,助您高效完成各类下载任务。