大家好,我是小康。
欢迎回来!如果你已经看过 Linux 常用命令大全上篇 的基础命令,接下来我们要聊的内容会更有意思。
这一篇,我们将学习如何用 Linux 命令行管理网络、解决网络问题,还会介绍一些查看日志和调试系统的技巧,让你遇到问题时不再慌张。而且,我们还会讲解一些开发者常用的小工具,让你工作效率倍增。
命令行其实很有趣,学会后你会发现它不仅好用,还能让你事半功倍。准备好继续了吗?我们开始吧!
先回顾下这张思维导图:
Linux 常用命令大全上篇 的内容还没学习过的小伙伴可以看这篇:Linux 常用命令大全:2025 新手必学的 70 条命令,一次搞懂!(上篇)
接下来让我们开始下篇的内容吧:
第九部分:网络操作,玩转连接
40. ping
:测试网络连通性
“网络通不通?用它试一试!”
用法:ping [选项] 目标地址
向目标地址发送 ICMP 数据包,测试网络的连通性和延迟。
# 1. 测试目标地址的连通性(默认持续发送数据包)
ping www.google.com -- 这个最常用
# 2. 指定发送的次数(比如发送 5 次)
ping -c 5 www.google.com
# 3. 限制每次发送数据包的间隔时间(1 秒间隔)
ping -i 1 www.google.com
# 4. 调整数据包大小(默认 56 字节)
ping -s 128 www.google.com
# 5. 不解析 IP 对应的主机名(加速测试)
ping -n www.google.com
小总结:
基本连通性测试: 用 ping
检查目标是否在线。控制发送次数: 用 -c
设定发送包数量。网络性能调试: 用 -s
和-i
调整包大小和发送频率。
ping
是网络排查的基础工具,用 ping
测试目标是否在线、网络是否稳定,简单又高效!
41. traceroute
:路由追踪工具
“想知道数据包经过哪些节点到达目标?用它一查便知!”
用法:traceroute [选项] 目标地址
跟踪网络数据包从本地主机到目标主机的路径,显示经过的中间路由节点。(各个节点的 ip 地址)
# 1. 追踪到目标主机的路由节点,显示数据包到目标主机的所有中间节点地址及响应时间。
traceroute example.com -- 这个最常用
# 2. 限制显示的最大跳数(默认是 30)
traceroute -m 20 example.com
# 3. 指定每跳的探测次数(默认是 3 次)
traceroute -q 1 example.com
# 4. 使用 ICMP 协议代替 UDP 进行路由追踪(部分网络更友好)
traceroute -I example.com
# 5. 使用指定端口进行路由追踪
traceroute -p 443 example.com
小总结:
基本路由追踪: 用 traceroute
查看节点路径。限制跳数: 用 -m
避免输出过多节点。协议选择: 用 -I
兼容更多网络环境。
traceroute
是网络调试的利器,快速定位网络延迟或中断的节点!
42. wget
:文件下载工具
“轻松从网络下载文件,稳定又高效!”
用法:wget [选项] URL
用于从指定 URL 下载文件,支持断点续传、批量下载等功能。
例如下载文件:
# 1. 下载单个文件
wget http://example.com/file.zip
# 2. 下载并保存为指定文件名
wget -O newname.zip http://example.com/file.zip
# 3. 断点续传未完成的下载
wget -c http://example.com/largefile.zip
# 4. 下载需要认证的文件(提供用户名和密码)
wget --user=username --password=password http://example.com/securefile.zip
# 5. 限制下载速度(每秒 100KB)
wget --limit-rate=100k http://example.com/largefile.zip
小总结:
单个文件下载: 用 wget URL
简单高效。断点续传: 用 -c
续传未完成的文件下载。下载限制: 用 --limit-rate
控制下载速度。
wget
是命令行中的万能下载器,下载稳定、功能强大,非常适合文件和网站资源获取!
43. curl
:万能数据获取工具
“不仅能下载文件,还能调接口、获取网页数据!”
用法:curl 选项 [网址]
支持 HTTP、HTTPS、FTP 等多种协议。
常用操作:
# 1. 下载文件
curl -O http://example.com/file.zip
# 2. 保存文件为指定名称
curl -o newname.zip http://example.com/file.zip
# 3. 查看网页内容
curl http://example.com
# 4. 调用接口(GET 请求)
curl -X GET http://api.example.com/data # -X:指定请求方法(GET、POST、DELETE 等)
# 5. 调用接口(POST 请求并发送数据)
curl -X POST -d "key=value" http://api.example.com/data
# 6. 显示详细的请求和响应过程
curl -v http://example.com
小总结:
下载文件: 用 curl -O
或curl -o
。调试接口: 用 -X
指定方法,结合-d
发送数据。查看详细过程: 用 -v
显示请求和响应细节。
curl
是命令行下的网络多面手,下载与调试两不误!
44. telnet
:测试端口连通性
“目标端口能不能通?用它试一试!”
用法:telnet 主机名或IP 端口号
测试目标主机的指定端口是否开放,检查网络服务连通性。
例如:
telnet www.baidu.com 80
# 说明:
# - 如果连接成功,显示 "Connected to ..."。
# - 如果失败,显示 "Connection refused" 或 "Unable to connect"。
这会测试百度的 HTTP 服务(80 端口)是否可以连接。
常用场景:
测试服务器的特定服务是否正常运行。 检查防火墙是否阻止了指定端口。
telnet
是测试端口连通的常用工具,用它快速判断目标端口是否开放,网络排查简单又直观!
45. netstat
:网络连接一览
“想知道系统有哪些网络连接?用它快速查看!”
用法:netstat [选项]
列出当前网络连接、端口监听状态、统计信息等。
常用操作示例:
# 1. 查看所有网络连接
netstat -a
# 2. 查看监听的 TCP 和 UDP 端口
netstat -nlptu
# -t:仅显示 TCP 连接。
# -l:仅显示正在监听的端口。
# -n:以数字格式显示地址和端口。
# -p:显示占用端口的进程。
# -u:仅显示 UDP 连接
# 3. 查看指定端口的连接情况(结合 grep 筛选)
netstat -tlnp | grep :80 # 这种非常常用!!
# 4. 通过进程名,筛选出由特定程序或服务占用的连接(也常用!)
netstat -tlnp | grep nginx # 查看 Nginx 占用的连接
# 5.筛选出特定连接状态(例如 LISTEN 或 ESTABLISHED):
netstat -tlnp | grep LISTEN # 查看所有监听的端口
netstat -tlnp | grep ESTABLISHED # 查看所有已建立的连接
netstat
配合参数和过滤器 grep
,网络调试更高效!
小总结:
监听端口: 用 -tlnp
查看监听的服务和进程。筛选连接: 配合 grep
过滤指定端口或进程。
虽然现在很多场景推荐用 ss
替代 netstat
,但 netstat
依然是经典的网络调试工具,简单好用!
46. ss
:现代网络连接查看工具
“想替代 netstat
?用它更快更强大!”
用法:ss [选项]
ss
是netstat
的现代替代工具,用于显示网络连接、监听端口、统计信息等,性能更高,输出更快。
常用操作:
# ss 常用操作示例:
# 1. 显示所有网络连接
ss -a
# 2. 显示所有监听的 TCP 和 UDP 端口
ss -nlptu
# -t:仅显示 TCP 连接
# -u:仅显示 UDP 连接
# -l:仅显示监听连接
# -n:不解析主机名和服务名称,显示数字地址和端口号(加速)。
# -p:显示占用端口的进程。
# 3. 查看 ESTABLISHED 状态的连接
ss -t state established
# 4. 查看指定端口的连接(结合 grep 过滤)
ss -tlnp | grep :80 # 按端口号过滤
# 5. 查看所有包含某个 IP 地址的连接
ss -tlnp | grep '192.168.1.100' # 按 IP 地址过滤
# 7. 查看某个进程(根据 PID)
ss -tulnp | grep '1234' # 根据进程 ID (PID) 过滤
# 8. 查看某个协议类型的连接
ss -tuln | grep 'tcp' # 按协议类型(如 tcp)过滤
# 9. 查看网络连接的具体服务
ss -tulnp | grep 'nginx' # 根据服务名称过滤(例如:nginx)
ss
和 netstat
的对比
功能 | ss | netstat |
---|---|---|
性能 | 快,直接从内核获取数据 | 慢,需读取 /proc 文件 |
默认安装 | 新版 Linux 默认安装 | 逐渐被淘汰,不再维护 |
支持状态过滤 | 更强,支持精准筛选 | 支持但不够灵活 |
推荐使用 | ✅ | ❌ |
总结:
查看监听端口: 用 ss -tuln
。定位特定端口: 用 ss -tuln | grep 端口号
。显示进程和端口: 用 ss -tulnp | grep 端口号
。
ss
是现代网络管理的必备工具,比 netstat
更快、更强大!
47. tcpdump
:网络数据包捕获工具
“想知道网络中发生了什么?用它抓包分析!”
用法:tcpdump [选项] [过滤条件]
强大的网络抓包工具,支持实时查看或保存数据包,用于分析网络问题。
常用操作:
# tcpdump 常用选项:
# -i:指定监听的网络接口(如 eth0)。
# -w:将捕获的数据包保存到文件(如 capture.pcap)。
# -r:从文件中读取并解析数据包(如读取保存的 pcap 文件)。
# -n:不解析主机名和服务名称,直接显示 IP 和端口号。
# -nn:同时禁用主机名和端口解析,显示数字地址和端口号。
# -c:限制捕获的数据包数量(如 -c 10 表示捕获 10 个包后退出)。
# -X:显示数据包的十六进制和 ASCII 内容。
# -A:以 ASCII 格式显示数据包内容(适合查看 HTTP 数据)。
# -v:显示数据包的详细信息
# 1. 捕获指定接口上的所有数据包
tcpdump -i eth0
# 2. 捕获并保存数据包到文件
tcpdump -i eth0 -w capture.pcap
# 3. 捕获来自特定 IP 的数据包
tcpdump -i eth0 src 192.168.1.100
# 4. 捕获目标 IP 的数据包
tcpdump -i eth0 dst 192.168.1.200
# 5. 捕获特定端口(如 80)上的流量
tcpdump -i eth0 port 80
# 6. 捕获来自特定源 IP 且目标端口为 80 的数据包,并保存到文件 capture.pcap 里
tcpdump -i eth0 src 192.168.1.100 and dst port 80 -w capture.pcap -nn -v # 比较常用!
小总结:
抓取数据包: 用 tcpdump -i 接口
监听网络流量。保存数据分析: 用 -w
保存为文件,配合 Wireshark 等工具分析。过滤特定流量: 配合 src
、dst
或port
筛选数据包。查看详细信息: 用 -v
或更详细的-vv
输出抓包细节。
tcpdump
是网络调试和分析的利器,实时抓包、高效诊断,让网络问题无处遁形!
48. nc (Netcat)
:网络工具的瑞士军刀
“不仅能测试端口,还能传文件、模拟服务,样样精通!”
用法:nc 选项 [主机名或IP] [端口号]
支持 TCP 和 UDP 协议,用于网络调试、文件传输、服务模拟等。
常用操作:
# nc 常用选项:
# -l :监听模式,用于在本地创建服务器,等待客户端连接。
# -z :扫描模式,检查端口是否开放,不发送任何数据。
# -v :启用详细模式,输出更多的调试信息。
# -u :使用 UDP 协议进行连接,而不是默认的 TCP。
# -p :指定源端口。
# -w :设置超时时间,单位为秒。
# -n :禁用 DNS 解析,直接使用 IP 地址,而不是域名。
# -v :详细输出,显示连接过程中的所有信息。
# 1. 连接到远程主机的指定端口(TCP连接)
nc example.com 80
# 2. 监听本地端口(创建服务器,等待连接)
nc -l 12345
# 3. 通过 netcat 发送文件到远程主机
# 在远程机器上执行:nc -l 12345 > received_file.txt
# 在本地机器上执行:nc remote_host 12345 < file_to_send.txt
# 4. 使用 UDP 协议发送数据
nc -u -l 12345 # 监听 UDP 端口 12345
nc -u remote_host 12345 # 发送数据到指定 UDP 端口
# 5. 测试端口是否开放(可以用来检查某些端口是否能够连接)
nc -zv example.com 80 443
# 6. 扫描端口范围(测试哪些端口开放)
nc -zv example.com 1-1000
# 7. 通过 nc 实现简易的端到端聊天
# 在一台机器上执行:nc -l 12345
# 在另一台机器上执行:nc localhost 12345
# 然后你就可以发送消息了
# 8. 创建一个简单的 HTTP 请求
echo -e "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" | nc example.com 80
# 9. 发送数据并接收响应
echo "Hello, World!" | nc example.com 80
小总结:
测试端口: 用 -zv
查看目标主机端口是否开放。文件传输: 配合 -l
模式,简单实现发送和接收。模拟客户端: 手动发送请求,调试服务(如 HTTP)。
nc
是命令行下的网络全能工具,调试与传输样样行!
49. lsof
:查看文件和网络连接的多面手
“文件被谁占用?哪个进程占用端口?用它快速搞定!”
用法:lsof [选项]
默认列出系统中所有打开的文件和连接,包括网络套接字。
lsof 的两大核心功能:
文件占用: 查看文件或设备被哪些进程使用。 网络连接: 检查端口、IP 和服务状态。
网络相关:重头戏
常用操作:
# 查看所有网络连接
lsof -i
# 查看特定端口的占用情况
lsof -i :80
# 显示详细网络连接(数字端口和 IP 地址)
lsof -Pni
# 显示被特定端口(如 80)占用的进程及其详细信息。
lsof -Pni :80
# 结合 grep 筛选出监听状态的端口
lsof -Pni | grep LISTEN
# 筛选出与某个 IP 地址相关的连接(本地或远程)
lsof -Pni | grep 192.168.1.100
# 查找指定进程的网络连接,PID代表进程号
lsof -Pni | grep <PID>
文件相关操作:核心功能
# 查看文件被哪些进程占用
lsof /path/to/file
# 查看某用户打开的所有文件
lsof -u username
# 查看某进程打开的文件,PID代表进程号
lsof -p <PID>
特点:
灵活强大: 不论是文件占用还是网络连接, lsof
都能快速定位问题。配合 grep: 在网络场景下,结合 grep
可快速筛选监听状态或特定端口的连接。
小总结:
网络调试: 用 lsof -Pni
查看详细连接信息,配合grep LISTEN
排查监听端口。文件调试: 用 lsof 文件路径
或lsof -p PID
查看文件占用情况。
lsof
是网络和文件调试的多面手,尤其适合端口和连接问题的排查!
50.ip
:查看和管理网络配置
“网络连接有问题?用它查看或配置 IP 和路由!”
用法:ip [命令] [选项]
常用操作:
# 1. 查看网络接口信息(类似 ifconfig)
ip addr show
# 2. 查看路由表
ip route show
# 3. 启用网络接口
sudo ip link set eth0 up
# 4. 禁用网络接口
sudo ip link set eth0 down
ip
是强大的网络管理工具,配合 addr
、route
和 link
子命令,轻松查看和配置网络接口!
51. ssh
:远程登录工具
“想远程控制服务器?用它轻松连接!”
用法:ssh [选项] 用户名@主机地址
通过 SSH 协议远程登录到目标主机,进行管理或操作。
常用操作:
# 1. 登录远程主机
ssh user@remote_host # remote_host 代表目标 ip,user 代表用户名
# 2. 指定端口登录,使用 -p 参数
ssh -p 2222 user@remote_host
# 3. 使用指定私钥文件登录
ssh -i /path/to/private_key user@remote_host
# 4. 执行远程命令后退出
ssh user@remote_host "ls -l /home"
小总结:
远程登录: 用 ssh user@host
。指定端口或私钥: 加 -p
或-i
。
用ssh
,远程操作安全又方便!
52. scp
:远程拷贝文件
“想在两台机器之间传文件?用它!”
用法:scp [选项] 源路径 目标路径
scp
基于 SSH 传输,支持安全、快速的文件拷贝。
常用操作:
# 1. 从本地传文件到远程
scp file.txt username@remote_host:/path/to/destination
# 2. 从远程下载文件到本地
scp username@remote_host:/path/to/file.txt /local/path/
# 3. 传输整个目录(加 -r 参数 : 递归传输目录)
scp -r /local/folder username@remote_host:/remote/folder
# 4. -P:指定远程主机的 SSH 端口(默认 22)
scp -P 8000 file.txt username@remote_host:/remote/path
scp
是远程传输文件的简单工具,配合 -r
传目录,配合 -P
指定端口,方便高效!
53. rsync
:高效文件同步工具
“想同步文件或目录?用它快又稳!”
用法:rsync [选项] 源路径 目标路径
rsync
支持增量传输,只同步变化的部分,比scp
更高效。
常用操作:
# rsync常用选项参数:
# -a:归档模式,保留文件权限、时间戳等信息。
# -v:显示详细信息。
# --delete:删除目标中源目录不存在的文件。
# -e:指定远程传输方式(如 SSH)。
# 1. 同步本地目录到远程
rsync -av /local/dir username@remote_host:/remote/dir
# 2. 从远程目录同步到本地
rsync -av username@remote_host:/remote/dir /local/dir
# 3. 同步时删除目标中多余的文件
rsync -av --delete /local/dir username@remote_host:/remote/dir
# 4. 使用 SSH 指定端口
rsync -av -e "ssh -p 2222" /local/dir username@remote_host:/remote/dir
优点:
增量同步: 只传输修改过的部分,提高效率。 多功能: 支持本地与远程同步,适合大规模文件传输。
rsync
是同步文件和目录的利器,结合 -a
保留信息,--delete
清理目标,多场景传输轻松搞定!
第十部分:日志和系统调试,系统探长
54. strace:系统调用调试工具
“程序卡住了?用它看看系统调用的细节!”
用法:strace [选项] 命令
跟踪指定命令运行时的系统调用和信号。 常用于调试程序错误或分析程序行为。
常用操作:
# 1. 跟踪一个命令的系统调用
strace ls
# 2. 将跟踪输出保存到文件
strace -o trace.log ls
# 3. 仅跟踪文件相关的系统调用
strace -e trace=file ls
# 4. 跟踪指定进程的系统调用, PID代表进程号
strace -p <PID>
# 5. 显示系统调用的时间消耗
strace -T ls
常用选项:
-o 文件名
:将输出保存到文件。-e trace=file
:仅跟踪文件相关的调用(如open
、read
等)。-p PID
:跟踪已有进程。-T
:显示每个系统调用的耗时。
小总结:
跟踪命令: 用 strace 命令
观察其行为。跟踪进程: 用 -p PID
查看运行中的程序调用。
strace
是系统调试的神器,了解程序和内核交互的细节一目了然!
55. iostat:监控磁盘 I/O 和 CPU 性能
“硬盘和 CPU 忙不忙?用它一查便知!”**
用法:iostat [选项] [间隔时间] [次数]
默认输出: 显示 CPU 和设备的 I/O 使用情况。
常用操作:
# 1. 查看 CPU 和磁盘 I/O 使用情况
iostat
# 2. 持续监控,每 2 秒刷新一次,共显示 5 次
iostat 2 5
# 3. 显示设备的详细 I/O 信息
iostat -d
# 4. 显示 CPU 的详细使用情况
iostat -c
# 5. 显示所有设备的完整统计信息
iostat -x
注意:
安装方法:如果未安装,执行以下命令:
sudo apt update
sudo apt install sysstat
小总结:
用 iostat
查看系统的 CPU 和磁盘性能。加 -c
或-d
,专注 CPU 或磁盘的详细信息。
用 iostat
,轻松定位性能瓶颈!
56. vmstat:系统性能快照工具
“想快速了解 CPU、内存和磁盘的使用情况?用它看看!”
用法:vmstat [刷新间隔] [次数]
默认输出: 显示 CPU、内存、磁盘、系统进程等统计信息。
常用操作:
# 1. 查看一次系统性能快照
vmstat
# 2. 持续监控,每秒刷新一次,共显示 5 次
vmstat 1 5
# 3. 显示内存、I/O、CPU 和系统状态
vmstat -a
# 4. 显示磁盘块 I/O 信息
vmstat -d
# 5. 显示更详细的 CPU 使用统计
vmstat -t
小总结:
查看系统状态: 用 vmstat
直接获取快照。持续监控: 用 vmstat 间隔 次数
实时跟踪系统性能。
vmstat
是诊断系统瓶颈的好帮手,尤其适合 CPU 和内存问题排查!
57. dmesg:查看内核日志
“想知道系统硬件或内核发生了什么?用它看看!”
用法:dmesg [选项]
显示系统启动以来的内核日志信息,适合调试硬件问题。
dmesg 常用操作示例:
# 1. 查看完整内核日志
dmesg
# 2. 分页查看内核日志
dmesg | less
# 3. 查看特定关键词日志,比如 USB
dmesg | grep usb
# 4. 实时监控内核日志更新
dmesg -w
dmesg
配合过滤和分页使用,让内核日志清晰直观,实时监控硬件动态更方便!
58. journalctl
:万能日志查看器
“任何服务的日志都能查。”
用法:journalctl [选项]
查看系统启动以来的所有日志。
常用操作示例:
# 1. 查看所有日志
journalctl
# 2. 查看特定服务的日志
journalctl -u 服务名
# 比如查看 nginx 服务的日志
journalctl -u nginx
# 3. 实时查看日志更新
journalctl -f
# 4. 查看最近一小时的日志
journalctl --since "1 hour ago"
通过 journalctl
,可以方便地查看、过滤和实时跟踪系统日志,调试问题更高效!
59. uptime
:这台机跑多久了?
“系统开机多久了?负载高不高?用它一查便知!”
用法:uptime [选项]
显示当前时间、系统运行时长、登录用户数和平均负载。
常用操作示例:
# 1. 查看系统运行时间、登录用户数和平均负载
uptime
# 2. 只显示系统运行时间(更简洁)
uptime -p
# 3. 查看系统启动的具体时间
uptime -s
uptime
是一个简单直观的工具,用来快速了解系统运行时长和负载情况。结合 -p
和 -s
参数,更清晰易读!
60. htop
:交互式资源监控工具
“想直观地看 CPU、内存使用情况?用它更方便!”
用法:htop
启动后进入交互式界面,显示系统性能、进程详情,支持排序和操作。
常用操作:
# 先安装
sudo apt update
sudo apt install htop
# 1. 启动 htop
htop
# 2. 按 F6:切换排序方式
# 比如按 CPU 使用率排序或按内存占用排序。
# 3. 按 F9:结束进程
# 选择进程后,按 F9 并确认结束。
# 4. 按 q + 回车:退出
htop
是增强版的任务管理器,比 top
更易用直观,适合日常监控系统资源和管理进程!
第十一部分:开发者工具,命令行上的黑科技
61. alias
:命令也能取外号
“敲太长?给它改个短名字!”
用法:alias 别名='实际命令'
比如:
alias ll='ls -alF'
以后输入 ll
就等于 ls -alF
。
62. which
:这个命令藏哪儿了?
“找出命令的安装路径。”
用法:which 命令名
显示指定命令的绝对路径,告诉你系统中实际执行的是哪个命令。
比如:
which bash
# 输出: /usr/bin/bash
说明 bash
命令安装在 /usr/bin/bash
目录下。
63. env
和 export
:环境变量好帮手
env:查看环境变量
“想知道系统有哪些环境变量?用它!”
# 查看所有环境变量
env
export:设置环境变量
“想添加或修改环境变量?用它!”
# 设置环境变量
export MY_VAR="Hello World"
# 验证变量是否设置成功
echo $MY_VAR
# 将目录添加到 PATH
export PATH=$PATH:/new/path
# 永久保存变量到 ~/.bashrc
echo "export MY_VAR='Hello World'" >> ~/.bashrc
source ~/.bashrc # 使用 source 加载配置
64. diff:文件不同在哪?
“快速比较两个文件。”
用法:diff [选项] 文件1 文件2
比较两个文件的内容并显示差异。
常用操作:
# 1. 简单对比两个文件
diff file1.txt file2.txt
# 2. 忽略大小写对比
diff -i file1.txt file2.txt
# 3. 递归对比两个目录
diff -r dir1/ dir2/
# 4. 只显示不同的行
diff --brief file1.txt file2.txt
小结:
用 diff
对比文件或目录,快速找到不同之处。配合参数如 -i
(忽略大小写)或-r
(对比目录)更灵活!
65. vim
:文件编辑小能手
“想在命令行编辑文件?用它轻松搞定!”
用法:vim 文件名
如果文件不存在,会新建一个文件。
基本操作:
# 1. 打开文件
vim file.txt
# 2. 进入编辑模式
# 在文件中按 `i` 进入编辑模式,开始修改内容。
# 3. 保存并退出
# 按 `Esc` 键退出编辑模式,然后输入 `:wq` 保存并退出。
# 4. 退出不保存
# 按 `Esc` 键退出编辑模式,然后输入 `:q!` 强制退出。
66. tree:目录结构展示工具
“想直观展示目录结构?用它一键搞定!”
用法:tree [选项] [路径]
以树状结构显示目录及文件,方便查看目录层次和文件内容。
常用操作:
# 1. 显示当前目录的树形结构
tree
# 2. 显示指定目录的树形结构
tree /path/to/directory
# 3. 限制层级深度(如最多显示两层)
tree -L 2
# 4. 显示文件大小
tree -h
# 5. 只显示目录(不显示文件)
tree -d
# 6. 输出结果到文件
tree > tree_output.txt
小总结:
显示树形结构: 用 tree
快速展示目录结构。限制深度: 用 -L
控制层级,避免输出过长。显示文件信息: 用 -h
加上文件大小,-d
只看目录。
tree
是快速查看和分享目录结构的好工具,让层次清晰直观!
67. xargs:批量操作的好帮手
“想将命令的输出作为另一个命令的输入?用它批量处理!”
用法:xargs [选项] [命令]
xargs
将标准输入中的内容转换为命令行参数,适合批量处理。
常用操作:
# 1. 删除匹配的文件(结合 find 使用)
find . -name "*.log" | xargs rm -f
# 2. 将列表中的文件名批量传递给 echo
echo "file1 file2 file3" | xargs echo
# 3. 控制每行传递的参数数量(每次处理 1 个)
echo "file1 file2 file3" | xargs -n 1 echo
# 4. 配合 -I 替换参数(灵活处理每个输入)
echo "file1 file2 file3" | xargs -I {} mv {} /backup
# 5. 并行执行命令(加速批量处理)
find . -name "*.jpg" | xargs -P 4 cp -t /backup
解释:
| xargs
:将前一个命令的输出传递给后续命令。-n
:每次传递的参数数量。-I {}
:用{}
表示输入的每个参数。-P
:指定并行执行的任务数。
小总结:
批量删除: 结合 find
和xargs rm
。参数替换: 用 -I {}
灵活指定处理逻辑。并行加速: 用 -P
提高效率。
xargs
是命令行批量操作的必备工具,简单高效!
68. tee:数据双向输出工具
“想让命令的输出同时保存到文件和终端?用它轻松搞定!”
用法:command | tee [选项] 文件
将命令的标准输出(stdout)同时保存到文件和显示在终端。
常用操作:
# 1. 将命令的输出保存到文件,同时显示在终端
ls -l | tee output.txt
# 2. 追加到文件(不覆盖原文件内容)
ls -l | tee -a output.txt
# 3. 将命令输出保存到多个文件
ls -l | tee file1.txt file2.txt
# 4. 将错误输出(stderr)也保存到文件
ls nonexistentfile 2>&1 | tee errors.log
解释:
| tee 文件
:将命令的标准输出保存到指定文件。-a
:追加模式,不覆盖已有文件内容。2>&1
:重定向错误输出到标准输出,便于保存日志。
小总结:
保存日志: 用 tee
保存输出日志并实时查看。追加内容: 用 -a
确保不覆盖原文件。错误捕获: 用 2>&1
保存所有输出(标准和错误)。
tee
是日志记录和命令调试的好帮手,让输出信息无遗漏!
第十二部分:学习与帮助,最贴心的命令
69. man
:命令说明书
“忘了用法?查查手册。”
用法:man 命令名
显示指定命令的完整手册,包括用法、参数和示例。
man 常用操作示例:
# 1. 查看 ls 的手册
man ls
# 2. 在手册中搜索关键词,比如 "file"
# 按 / 输入关键词,然后按回车查找
# /file
# 3. 退出手册
# 按 q 键退出
小总结:
man 命令名:查命令的说明书。 按 /
搜索:快速定位关键词。
用 man
,不再为忘记命令用法发愁!
70. --help
:快速帮你上手
“不想翻手册?用它快速查看命令用法!”
用法:命令 --help
显示命令的简要说明,包括常用选项和用法。
比如查看 ls
的简要帮助:
ls --help
--help
简洁易懂,适合快速上手命令操作!
总结:
到这里,我们的下篇内容也差不多结束了!今天我们学习了很多实用的命令,包括 网络管理、日志调试和开发者工具,每个都能帮助你提高效率,快速解决问题。
而 Linux 的世界远不止这些,接下来我们将深入学习 Linux 编程,带你进入一个全新的领域。从编写简单的程序到深入理解系统底层原理,编程让你 不仅能“用” Linux,更能“玩”转 Linux。
下篇内容会更具挑战性,但也同样充满乐趣。如果你对编程有兴趣,千万不要错过,我们下篇见!
如果你觉得今天的内容对你有帮助,别忘了关注我的公众号“跟着小康学编程”,解锁更多 Linux 编程小技巧!另外记得 点赞、在看、转发 哦,让更多人看到这篇干货文章!
怎么关注我的公众号?
非常简单!扫描下方二维码即可一键关注。
此外,小康最近创建了一个技术交流群,专门用来讨论技术问题和解答读者的疑问。在阅读文章时,如果有不理解的知识点,欢迎大家加入交流群提问。我会尽力为大家解答。期待与大家共同进步!
文章推荐