前言:目前关于 Linux 命令的文章往往存在内容不全的问题,导致初学者和中级用户在使用过程中遇到困难。许多文章仅涵盖基础命令,而缺乏对系统管理、网络配置、包管理和脚本编写等重要主题的详细讲解。此外,实际操作中的常见问题及其解决方案也常常未被提及,使得用户在遇到困难时无法找到有效的参考。
为了弥补这一不足,需要一份更为全面的 Linux 命令指南,涵盖从基础到高级的各种命令使用,以及实际应用场景中的技巧与建议。这样的资源不仅能够帮助用户快速上手,还能提升他们对系统管理和自动化的理解,从而在实际工作中更加得心应手。丰富的示例和实用技巧将为用户的学习之路提供极大帮助。整理不易,读友们点点赞和一手关注,你们的支持就是我免费更新文章的动力。
网络管理命令
1.ifconfig:用于查看和配置网络接口的 IP 地址、子网掩码等信息
sqd@sqd-virtual-machine:~$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 114.213.228.43 netmask 255.255.254.0 broadcast 114.213.229.255
inet6 fe80::21e:6c66:b6f9:cbbe prefixlen 64 scopeid 0x20<link>
inet6 fe80::7d9a:290a:55d4:bb9 prefixlen 64 scopeid 0x20<link>
inet6 fe80::49a5:1019:f0b7:d32b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:53:44:c8 txqueuelen 1000 (以太网)
RX packets 5993207 bytes 548161615 (548.1 MB)
RX errors 131 dropped 390 overruns 0 frame 0
TX packets 14284 bytes 1178093 (1.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
1)ifconfig eth0 : 查看指定接口(如 ens33)信息
sqd@sqd-virtual-machine:~$ ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 114.213.228.43 netmask 255.255.254.0 broadcast 114.213.229.255
inet6 fe80::21e:6c66:b6f9:cbbe prefixlen 64 scopeid 0x20<link>
inet6 fe80::7d9a:290a:55d4:bb9 prefixlen 64 scopeid 0x20<link>
inet6 fe80::49a5:1019:f0b7:d32b prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:53:44:c8 txqueuelen 1000 (以太网)
RX packets 6006035 bytes 550709724 (550.7 MB)
RX errors 131 dropped 390 overruns 0 frame 0
TX packets 15663 bytes 1430652 (1.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 19 base 0x2000
2)ifconfig ens33 up: 启动接口 ens33 ifconfig ens33 down : 停止接口 ens33
sqd@sqd-virtual-machine:~$ sudo ifconfig ens33 down
关闭接口后会发现无法上网了
3)配置 IP 地址
ifconfig ens33 192.168.1.100 netmask 255.255.255.0
2.ping:用于测试与远程主机的网络连接
ping 192.168.1.1 # 测试与指定 IP 地址的连接
ping google.com # 测试与 google.com 的连接
3.lsof:显示打开的文件,包括网络端口(套接字包括端口和IP地址)
sqd@sqd-virtual-machine:~$ lsof -i :80 # 查看哪些进程占用了端口 80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
WebKitNet 5480 sqd 19u IPv4 210472 0t0 TCP sqd-virtual-machine:32808->192.168.4.1:http (CLOSE_WAIT)
4.nc (Netcat):用于测试网络端口的连通性,或者在计算机之间传输数据
nc -zv 192.168.1.1 80-90 # 测试 IP 地址 192.168.1.1 的端口 80 到 90 的连通性
nc -l 12345 # 在本地监听 12345 端口
5.nslookup:用于查询 DNS 记录
DNS 负责将人类易于记忆的域名(如 google.com)转换为计算机可以识别的 IP 地址(例如 172.217.0.46)
sqd@sqd-virtual-machine:~$ nslookup google.com # 查询 google.com 的 DNS 记录
Server: 127.0.0.53
Address: 127.0.0.53#53
6.ethtool:用于查询和设置网络接口的参数,如网卡信息、链路状态等
sqd@sqd-virtual-machine:~$ sudo ethtool ens33
Settings for ens33:
Supported ports: [ TP AUI ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 10Mb/s
Duplex: Half
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
MDI-X: Unknown
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
网络速度:当前速率为 10Mb/s,这是较慢的速率,可能需要检查网络硬件(如交换机、网卡、网线等)和配置,确保设备支持更高的速率(如 100Mbps 或 1Gbps)。
双工模式:当前是 半双工,通常这表示网络传输效率较低。检查设备设置,可能需要调整为 全双工。
自动协商:自动协商已禁用,这可能是导致链路速度较慢和双工模式设置为半双工的原因之一。如果硬件和网络环境支持,启用自动协商可能会带来更好的性能。
7.tty 命令用于显示当前终端的设备文件名
Linux 系统默认提供 6 个虚拟控制台(tty1 至 tty6),在没有图形界面下,可以按下 Ctrl + Alt + F1 至 Ctrl + Alt + F6 来切换到不同的虚拟控制台。
伪终端(PTY):通过命令行或远程连接(如 SSH)创建的终端。通常位于 /dev/pts/0, /dev/pts/1 等
sqd@sqd-virtual-machine:~$ tty
/dev/pts/0
8.systemctl 是 systemd 系统和服务(后台进程)管理器的控制命令
服务的主要特点:
后台运行:服务通常在没有用户干预的情况下在后台运行,常常是守护进程(Daemon)的一部分。
长期存在:服务通常是长期存在的进程,直到系统关闭或手动停止。它们往往没有与用户交互的界面。
提供功能:服务可以提供多种功能,如网络服务(Web 服务器、DNS 服务器)、数据库服务、日志服务等。
1)启动 NetworkManager 服务
sudo systemctl start NetworkManager
2)停止 NetworkManager 服务
sudo systemctl stop NetworkManager
3)启用网络服务开机启动
sudo systemctl enable NetworkManager
4)禁用网络服务开机启动
sudo systemctl disable NetworkManager
9.SSH:远程登录到 Linux 主机
ssh user@hostname_or_ip
username:远程主机的用户名。
hostname_or_ip:远程主机的 IP 地址或域名。
10.tcpdump:网络抓包工具,捕获网络数据包进行分析。
sudo tcpdump -i eth0
11.udhcp 是一个轻量级的 DHCP (Dynamic Host Configuration Protocol) 客户端工具
假设你希望通过 eth0 接口获取一个 IP 地址,只需执行:
udhcp -i eth0
结语:网络管理命令基本都在上面了,还有些极少用的命令和用法就不过多赘述了。其他类型命令关注博主后查看同【Linux命令】系列文章。后续还会再更新一章关于linux系统设置和一些功能命令。
标签:用例,virtual,ifconfig,machine,命令,linux,sqd,ens33 From: https://blog.csdn.net/qq_69923281/article/details/143673195