Linux 命令大全(上)
本文目录
6. 网络通讯 常用命令
6.1 ssh 命令 – 安全的远程连接服务器
6.1.1 含义
ssh
命令的功能是用于安全地远程连接服务器主机系统,作为 openssh 套件中的客户端连接工具,ssh
命令可以让我们轻松地基于ssh
加密协议进行远程主机访问,从而实现对远程服务器的管理工作。
6.1.2 语法格式
ssh [参数] 域名或IP地址
6.1.3 常用参数
参数含义
-1
使用 ssh 协议版本 1
-2
使用 ssh 协议版本 2
-4
基于 IPv4 网络协议
-6
基于 IPv6 网络协议
-a
关闭认证代理连接转发功能
-A
开启认证代理连接转发功能
-b
设置本机对外提供服务的 IP 地址
-c
设置会话的密码算法
-C
压缩所有数据
-f
后台执行 ssh 指令
-F
设置配置文件
-g
允许远程主机连接本机的转发端口
-i
设置密钥文件
-l
设置登录用户名
-N
不执行远程指令
-o
设置配置参数选项
-p
设置远程服务器上的端口号
-q
静默执行模式
-s
请求远程主机上的子系统调用
-v
显示执行过程详细信息
-V
显示版本信息
-x
关闭 X11 转发功能
-X
开启 X11 转发功能
-y
信任 X11 转发功能
6.1.4 参考示例
- 基于
ssh
协议,远程访问服务器主机系统:
ssh192.168.129.132
注:这里的 192.168.129.132 是我的虚拟机(Ubuntu)的 IP 地址。
- 使用指定的用户身份登录远程服务器主机系统:
ssh-l linuxprobe 192.168.10.10
- 登录远程服务器主机系统后执行一条命令:
ssh192.168.10.10 "free -m"
- 强制使用 v1 版本的 ssh 加密协议连接远程服务器主机:
ssh-1192.168.10.10
6.2 netstat 命令 – 显示网络状态
6.2.1 含义
netstat
命令来自英文词组network statistics
的缩写,其功能是用于显示各种网络相关信息,例如网络连接状态、路由表信息、接口状态、NAT、多播成员等等。netstat
命令不仅应用于 Linux 系统,而且在 Windows XP、Windows 7、Windows 10 及 Windows 11 中均已默认支持,并且可用参数也相同,有经验的运维人员可以直接上手。
6.2.2 语法格式
netstat [参数]
6.2.3 常用参数
参数含义
-a
显示所有连接中的接口信息
-A
设置网络连接类型
-c
持续显示网络状态
-C
显示路由配置信息
-F
显示路由缓存信息
-g
显示多重广播功能群组成员名单
-h
显示帮助信息
-i
显示网络界面信息表单
-l
仅显示正在监听的服务状态
-n
直接使用IP地址,而不是域名
-N
显示网络硬件外围设备的符号链接名称
-o
显示计时器数据信息
-p
显示正在使用接口的程序识别码和名称
-r
显示路由表信息
-s
显示网络工作信息统计表信息
-t
显示TCP传输协议的连线状态
-u
显示UDP传输协议的连线状态
-V
显示版本信息
6.2.4 参考示例
- 显示系统网络状态中的所有连接信息:
netstat-a
- 显示系统网络状态中的 UDP 连接信息:
netstat-nu
- 显示系统网络状态中的 UDP 连接端口号使用信息:
netstat-apu
- 显示网卡当前状态信息:
netstat-i
- 显示网络路由表状态信息:
netstat-r
- 找到某个服务所对应的连接信息:
netstat-ap|grepssh
6.3 dhclient 命令 – 动态获取或释放 IP 地址
6.3.1 含义
dhclient
命令来自英文词组DHCP client
的缩写,其功能是用于动态获取或释放 IP 地址。使用dhclient
命令前需要将网卡模式设置成 DHCP 自动获取,否则静态模式的网卡是不会主动向服务器获取如IP地址等网卡信息的。
6.3.2 语法格式
dhclient 参数 [网卡名]
6.3.3 常用参数
参数含义
-4
基于 IPv4 网络协议
-6
基于 IPv6 网络协议
-d
以前台方式运行
-F
设置向 DHCP 服务器发送的 FQDN
-H
设置向 DHCP 服务器发送的主机名
-n
不配置任何接口
-p
设置 DHCP 客户端监听的端口号
-q
静默执行模式
-r
释放 IP 地址
-s
在获取 IP 地址前指定 DHCP 服务器
-v
显示执行过程详细信息
-V
设置要发送给 DHCP 服务器的厂商类标识符
-w
即使没有找到广播接口,也继续运行
-x
停止 DHCP 客户端,而不释放当前租约
--timeout
设置最大响应超时时间
--version
显示版本信息
6.3.4 参考示例
- 通过指定网卡发起 DHCP 请求,获取网卡参数:
dhclient ens33
- 释放系统中已获取的网卡参数:
dhclient -r
- 向指定的服务器请求获取网卡参数:
dhclient -s192.168.10.10
- 手动停止执行
dhclient
服务进程:
dhclient -x
6.4 ifconfig 命令 – 显示或设置网络设备参数信息
6.4.1 含义
ifconfig
命令来自英文词组network interfaces configuring
的缩写,其功能是用于显示或设置网络设备参数信息。在 Windows 系统中与之类似的命令叫做ipconfig
,同样的功能可以使用ifconfig
去完成。- 通常不建议使用
ifconfig
命令配置网络设备的参数信息,因为一旦服务器重启,配置过的参数会自动失效,还是编写到配置文件中更稳妥。
6.4.2 语法格式
ifconfig [参数] [网卡名] [动作]
6.4.3 常用参数
参数含义
-a
显示所有网卡状态
-s
显示简短状态列表
-v
显示执行过程详细信息
6.4.4 常用动作
add
设置网络设备的 IP 地址
del
删除网络设备的 IP 地址
down
关闭指定的网络设备
up
启动指定的网络设备
6.4.5 参考示例
- 显示系统的网络设备信息:
ifconfig
- 对指定的网卡设备依次进行关闭和启动操作:
ifconfig ens33 down
ifconfig ens33 up
- 对指定的网卡设备执行修改 IP 地址操作:
ifconfig ens33 192.168.10.20 netmask 255.255.255.0
- 对指定的网卡设备执行修改 MAC 地址操作:
ifconfig ens33 hw ether 00:aa:bb:cc:dd:ee
- 对指定的网卡设备依次进行 ARP 协议关闭和开启操作:
ifconfig ens33 -arpifconfig ens33 arp
6.4.6 补充
ifconfig
可以查看/配置计算机当前的网卡配置信息。
# 查看网卡配置信息
$ ifconfig# 查看网卡对应的 IP 地址
$ ifconfig|grep inet
提示:一台计算机中有可能会有一个物理网卡和多个虚拟网卡,在 Linux 中物理网卡的名字通常以
ensXX
表示。
127.0.0.1
被称为本地回环/环回地址,一般用来测试本机网卡是否正常。
6.5 ping 命令 – 测试主机间网络连通性
6.5.1 含义
ping
命令的功能是用于测试主机间网络连通性,发送出基于 ICMP 传输协议的数据包,要求对方主机予以回复,若对方主机的网络功能没有问题且防火墙放行流量,则就会回复该信息,我们也就可得知对方主机系统在线并运行正常了。- 不过值得我们注意的是 Linux 与 Windows 相比有一定差异,Windows 系统下的
ping
命令会发送出去 4 个请求后自动结束该命令;而 Linux 系统则不会自动终止,需要用户手动按下组合键“Ctrl+c”才能结束,或是发起命令时加入-c
参数限定发送个数。
6.5.2 语法格式
ping [参数] 域名或IP地址
6.5.3 常用参数
参数含义
-4
基于 IPv4 网络协议
-6
基于 IPv6 网络协议
-a
发送数据时发出鸣响声
-b
允许 ping 一个广播地址
-c
设置发送报文的次数
-d
使用接口的 SO_DEBUG 功能
-f
使用洪泛模式大量向目标发送数据包
-h
显示帮助信息
-i
设置收发信息的间隔时间
-I
使用指定的网络接口送出数据包
-n
仅输出数值
-p
设置填满数据包的范本样式
-q
静默执行模式
-R
记录路由过程信息
-s
设置数据包的大小
-t
设置存活数值TTL的大小
-v
显示执行过程详细信息
-V
显示版本信息
6.5.4 参考示例
- 测试与指定网站服务器之间的网络连通性(需手动按下“Ctrl+c”组合键结束命令):
ping www.linuxcool.com
- 测试与指定网站服务器之间的网络连通性,发送请求包限定为 4 次:
ping-c4 www.linuxcool.com
- 测试与指定主机之间的网络连通性,发送 3 次请求包,每次间隔 0.2 秒,最长等待时间为 3 秒:
ping-c3-i0.2-W3192.168.10.10
6.6 sshd 命令 – openssh 服务器守护进程
6.6.1 含义
sshd
命令来自英文词组SSH daemon
的缩写,其功能是用于 openssh 服务器守护进程。openssh 套件能够为两台主机之间建立加密的、可信任的数据通信服务,是 rlogin 与 rsh 等明文数据通信的替代品,而sshd
命令即为 openssh 套件中的核心程序。
6.6.2 语法格式
sshd [参数] [对象]
6.6.3 常用参数
参数含义
-4
基于 IPv4 网络协议
-6
基于 IPv6 网络协议
-d
使用调试模式
-D
使用非后台守护进程的方式运行服务
-e
直接显示报错信息
-f
设置服务器的配置文件
-g
设置客户端登录的过期时间
-h
设置读取主机密钥文件
-i
使用 inetd 方式运行
-o
设置服务配置选项
-p
设置使用的端口号
-q
静默执行模式
-t
使用测试模式
6.6.4 参考示例
- 以调试模式运行 sshd 服务程序:
/usr/sbin/sshd -d
- 以测试模式运行 sshd 服务程序:
/usr/sbin/sshd -t
- 强制基于 IPv6 地址进行服务:
/usr/sbin/sshd -6
7. 设备管理 常用命令
7.1 mount 命令 – 将文件系统挂载到目录
7.1.1 含义
mount
命令的功能是用于将文件系统挂载到目录,文件系统指的是被格式化过的硬盘或分区设备,进行挂载操作后,用户便可以在挂载目录中使用硬盘资源了。- 默认情况下 Linux 系统并不会像 Windows 系统那样自动地挂载光盘和U盘设备,需要自行完成。
7.1.2 语法格式
mount [参数] [设备名] [目录名]
7.1.3 常用参数
参数含义
-a
加载“/etc/fstab”文件中记录的所有文件系统
-F
为每个设备创建出一个新的挂载版本
-h
显示帮助信息
-l
显示已加载的文件系统列表
-L
挂载具有指定标签的分区
-n
加载没有写入“/etc/mtab”文件中的文件系统
-r
将文件系统设置为只读模式
-t
挂载指定文件类型的设备分区
-U
挂载指定 UUID 的设备分区
-V
显示版本信息
-w
以读写方式挂载文件系统
7.1.4 参考示例
- 查看当前系统中已有的文件系统信息:
mount
- 挂载 /etc/fstab 文件中所有已定义的设备文件:
mount-a
- 将光盘设备挂载到指定目录:
mount /dev/cdrom /Dir
- 强制以xfs文件系统挂载硬盘设备到指定目录:
mount-t xfs /dev/sdb /Dir
7.2 lspci 命令 – 显示当前设备 PCI 总线设备信息
7.2.1 含义
lspci
命令来自英文词组list PCI
的缩写,其功能是用于显示当前设备 PCI 总线设备信息。
7.2.2 语法格式
lspci [参数] [设备名]
7.2.3 常用参数
参数含义
-b
使用以总线为中心的视图
-d
仅显示指定厂商和设备信息
-i
设置 PCI 编号列表文件
-m
以机器可读方式显示 PCI 设备信息
-M
使用总线映射模式
-n
以数字方式显示 PCI 设备信息
-nn
将 PCI 厂商和设备代码显示为数字和名称形式
-q
使用 DNS 查询中央 PCI ID 数据库
-p
设置包含 PCI 总线信息的目录
-s
仅显示指定总线插槽的设备和功能块信息
-t
使用树状结构显示 PCI 设备的层次关系
-v
显示执行过程详细信息
7.2.4 参考示例
- 显示当前主机的所有PCI总线设备信息:
lspci
- 以树状结构显示当前主机的所有 PCI 总线设备信息:
lspci -t
7.3 sensors 命令 – 检测服务器硬件信息
7.3.1 含义
sensors
命令用于检测服务器硬件信息,例如 CPU 电压与温度、主板、风扇转速等数据。
7.3.2 语法格式
sensors
7.3.3 常用参数
参数含义
-A
不显示每个芯片的适配器信息
-c
指定配置文件
-F
显示华氏度温度
-H
显示帮助信息
-u
输出原始信息
-v
显示版本信息
7.3.4 参考示例
- 检查当前 CPU 处理器得电压和温度信息:
sensors
8. 备份压缩 常用命令
8.1 zip 命令 – 压缩文件
8.1.1 含义
zip
命令的功能是用于压缩文件,解压命令为unzip
。通过zip
命令可以将文件打包成.zip
格式的压缩包,里面会包含文件的名称、路径、创建时间、上次修改时间等等信息,与tar
命令相似。
8.1.2 语法格式
zip 参数 目标文件.zip 源文件或目录名
8.1.3 常用参数
参数含义
-A
自动解压缩文件
-b
设置暂存文件的目录
-c
添加注释信息到压缩文件
-d
更新压缩包内文件
-F
尝试修复损坏的压缩文件
-h
显示帮助信息
-i
仅压缩符合条件的文件
-k
使用MS-DOS兼容格式
-l
将“LF”替换成“LF+CR”字符
-L
显示版本信息
-m
压缩后删除源文件
-n
不压缩具有特定字符串的文件
-q
静默执行模式
-r
递归处理所有子文件
-S
包含系统和隐藏文件
-t
设置压缩时间为指定日期
-T
检查压缩文件是否正确无误
-v
显示执行过程详细信息
-V
保留VMS操作系统的文件属性
-w
在文件名称中加入版本编号
-X
不保留过多的文件属性信息
-y
直接保存符号链接,而不是对应文件
8.1.4 参考示例
- 将指定目录及其内全部文件都打包成 zip 格式压缩包文件:
zip-r File.zip /etc
- 将当前工作目录内所有以
.cfg
为后缀的文件打包:
zip-r File.zip *.cfg
- 更新压缩包文件中某个文件:
zip-dv File.zip File.cfg
8.2 unzip 命令 – 解压缩 zip 格式文件
8.2.1 含义
unzip
命令用于解压缩 zip 格式文件,虽然 Linux 系统中更多地使用tar
命令进行对压缩包的管理操作,但有时也会收到 Windows 系统常用的.zip
和.rar
格式的压缩包文件,unzip
命令便派上了用场。直接使用unzip
命令解压缩文件后,压缩包内原有的文件会被提取并输出保存到当前工作目录下。
8.2.2 语法格式
unzip [参数] 压缩包名
8.2.3 常用参数
参数含义
-a
对文本进行必要的字符转换
-b
不要对文本进行任何字符转换
-c
适当转换字符后输出解压缩结果
-C
严格区分大小写
-d
解压缩文件到指定目录中
-f
强制覆盖已有文件
-j
不处理压缩文件中原有的目录路径
-l
显示压缩包内文件列表
-L
将压缩包内文件名改为小写
-n
解压缩时不覆盖已有文件
-p
使用密码加密
-q
静默执行模式
-t
检查压缩包完整性
-v
显示执行过程详细信息
-x
跳过压缩包内的指定文件
-z
显示压缩包内的备注文字
8.2.4 参考示例
- 将压缩包文件解压到当前工作目录中:
unzip File.zip
- 将压缩包文件解压到指定目录中:
unzip File.zip -d /home
- 测试压缩包文件是否完整,文件有无损坏:
unzip-t File.zip
8.3 gzip 命令 – 压缩和解压文件
8.3.1 含义
gzip
命令来自英文单词gunzip
的缩写,其功能是用于压缩和解压文件。gzip
是一款使用广泛的压缩工具,文件经过压缩后一般会以.gz
后缀结尾,与tar
命令合用后即为.tar.gz
后缀。- 据统计,
gzip
命令对文本文件的压缩比率通常能达到60%~70%,压缩后可以很好地提升存储空间的使用率,还能够在网络传输文件时减少等待时间。
8.3.2 语法格式
gzip [参数] 文件名
8.3.3 常用参数
参数含义
-a
使用 ASCII 文本模式
-c
把压缩后的文件输出到标准输出设备
-d
解压指定压缩包文件
-f
强行压缩文件而不询问
-h
显示帮助信息
-k
保留原文件
-l
显示压缩包内的文件信息
-L
显示版权信息
-n
不保存原来的文件名及时间戳
-N
保存原来的文件名及时间戳
-t
测试压缩包是否正确无误
-q
静默执行模式
-r
递归处理所有子文件
-S
设置解压或压缩后文件的后缀名
-v
显示执行过程详细信息
-V
显示版本信息
8.3.4 参考示例
- 将指定的文件进行压缩,压缩包默认会以“原文件名.gz”保存到当前工作目录下,原文件会被自动删除:
gzip File.cfg
- 解压指定的压缩包文件并显示解压过程,解压后的文件会保存在当前工作目录下,压缩包会被自动删除:
gzip-dv File.cfg.gz
- 将指定的文件进行压缩,但是不删除原文件:
gzip-k File.cfg
- 显示指定文件的压缩信息:
gzip-l File.cfg.gz
9. 其它常用命令
9.1 hash 命令 – 管理命令运行时查询的哈希表
9.1.1 含义
hash
命令来自英文词组Hash Algorithm
的缩写,中文译为哈希算法或杂凑算法,其功能是用于管理命令运行时查询的哈希表。hash
命令可以显示与删除命令运行时系统查询的哈希表信息,如果不加任何参数,则会默认输出路径列表的信息,这个列表会包含先前hash
命令调用找到的 Shell 环境中命令的路径名。
9.1.2 语法格式
hash [参数] [目录名]
9.1.3 常用参数
参数含义
-f
设置要进行哈希运算的文件路径
-l
显示哈希表中的命令
-p
将完整路径的命令加入到哈希表中
-r
清除哈希表中的记录
-t
显示哈希表中命令的完整路径
--help
显示帮助信息
--verbose
显示执行过程详细信息
9.1.4 参考示例
- 显示哈希表中的命令:
hash-l
- 删除哈希表中的命令:
hash-r
- 向哈希表中添加命令:
hash-p /usr/sbin/adduser myadduser
- 在哈希表中清除记录:
hash-d
9.2 wait 命令 – 等待指令执行完毕
9.2.1 含义
wait
命令的功能是用于等待指令执行完毕,常被用于 Shell 脚本中,用于等待某个指令执行结束后返回终端,然后才会继续执行后面的指令。- 例如有个服务进程 PID 为 12345,那么此时可以用
wait 12345
来持续等待此进程的结束,一旦进程结束则会将返回值输出到终端界面。
9.2.2 语法格式
wait 进程号或%作业号
9.2.3 常用参数
参数含义
数字
进程号
%数字
%作业号
9.2.4 参考示例
- 等待执行的进程结束并输出返回值:
wait12345
9.3 wget 命令 – 下载网络文件
9.3.1 含义
wget
命令来自英文词组web get
的缩写,其功能是用于从指定网址下载网络文件。wget
命令非常稳定,一般即便网络波动也不会导致下载失败,而是不断地尝试重连,直至整个文件下载完毕。wget
命令支持如 HTTP、HTTPS、FTP 等常见协议,可以在命令行中直接下载网络文件。
9.3.2 语法格式
wget [参数] 网址URL [对象]
9.3.3 常用参数
参数含义
-4
基于 IPv4 网络协议
-6
基于 IPv6 网络协议
-a
将日志追加写入至指定文件
-b
启动后转入后台执行
-c
支持断点续传
-d
使用调试模式
-e
执行指定的命令
-F
将输入文件当作 HTML 处理
-h
显示帮助信息
-i
下载指定文件中的链接
-l
设置最大递归目录深度
-nd
不要创建目录
-N
只获取比本地更新的文件
-o
将日志信息写入指定文件
-O
设置本地文件名
-P
设置文件前缀
-q
静默执行模式
-r
递归处理所有子文件
-S
显示服务器响应信息
-t
设置最大尝试次数
-T
设置最长等待时间
-v
显示执行过程详细信息
-V
显示版本信息
-w
设置等待间隔秒数
-x
强制创建目录
--ask-password
提示输入密码
--limit-rate
限制下载速度
--no-dns-cache
关闭DNS查询缓存
--no-proxy
禁止使用代理
--password
设置密码值
--random-wait
下载多个文件时,随机等待间隔秒数
--spider
仅检查文件是否存在
--user
设置用户名
9.3.4 参考示例
- 下载指定的网络文件:
wget https://www.linuxprobe.com/docs/LinuxProbe.pdf
- 下载指定的网络文件,并定义保存在本地的文件名称:
wget-O Book.pdf https://www.linuxprobe.com/docs/LinuxProbe.pdf
- 下载指定的网络文件,限速最高每秒300k:
wget --limit-rate=300k https://www.linuxprobe.com/docs/LinuxProbe.pdf
- 启用断点续传技术下载指定的网络文件:
wget-c https://www.linuxprobe.com/docs/LinuxProbe.pdf
- 下载指定的网络文件,将任务放至后台执行:
wget-b https://www.linuxprobe.com/docs/LinuxProbe.pdf
版权归原作者 mortalོ 所有, 如有侵权,请联系我们删除。