Linux 常用命令

netstat: 显示网络状态

netstat 命令可用于确定网络上的流量,以确定性能问题是否是由于网络拥塞引起的。

netstat 的关于所配置的网络接口,诸如以下的流量命令显示信息:

  • 与所有sockets关联的任何协议控制块的地址以及所有sockets的状态
  • 通信子系统中接收,传输和丢弃的数据包数
  • 每个接口的累积统计信息
  • 路线及其状态

参数说明

  • -r:–route,显示路由表信息。
  • -g:–groups,显示多重广播功能群组组员名单。
  • -s:–statistics,按照每个协议来分类进行统计。默认的显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6 的统计信息。
  • -M:–masquerade,显示网络内存的集群池统计信息。
  • -v:–verbose,命令显示每个运行中的基于公共数据链路接口的设备驱动程序的统计信息。
  • -W:–wide,不截断IP地址。
  • -n:进制使用域名解析功能。链接以数字形式展示(IP地址),而不是通过主机名或域名形式展示。
  • -N:–symbolic,解析硬件名称。
  • -e:–extend,显示额外信息。
  • -p:–programs,与链接相关程序名和进程的PID。
  • -t:所有的 tcp 协议的端口。
  • -x:所有的 unix 协议的端口。
  • -u:所有的 udp 协议的端口。
  • -o:–timers,显示计时器。
  • -c:–continuous,每隔一个固定时间,执行netstat命令。
  • -l:–listening,显示所有监听的端口。
  • -a:–all,显示所有链接和监听端口。
  • -F:–fib,显示转发信息库(默认)。
  • -C:–cache,显示路由缓存而不是FIB。
  • -Z:–context,显示套接字的SELinux安全上下文。

scp: 远程复制

Linux scp 命令用于 Linux 之间复制文件和目录。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

参数说明

  • -p:保留原文件的修改时间,访问时间和访问权限。
  • -q: 不显示传输进度条。
  • -r: 递归复制整个目录。
  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  • -P port:注意是大写的P, port是指定数据传输用到的端口号。

用法示例

1
2
3
4
5
# 把192.168.0.11机器上的 source.txt 文件拷贝到本地
scp [email protected]:/home/work/source.txt /home/myself/

# 使用密钥传输,将本地的 sourcedir 文件夹内的所有文件传输给 work
scp -i ~/.ssh/your_private_key -r /home/myself/sourcedir/ [email protected]:/home/work/

lsof: 查看端口占用

lsof(list open files)是一个列出当前系统打开文件的工具。

最常用的是lsof -i:端口号,如使用lsof -i:22后:

  • COMMAND: 进程的名称
  • PID: 进程标识符
  • USER: 进程所有者
  • FD: 文件描述符,应用程序通过文件描述符识别文件
  • TYPE: 文件类型
  • DEVICE: 指定磁盘的名称
  • SIZE: 文件的大小
  • NODE: 索引节点(文件在磁盘上的标识)
  • NAME: 打开文件的确切名称

其他用法:

1
2
3
4
5
6
7
lsof abc.txt  # 显示开启文件abc.txt的进程
lsof -c abc # 显示abc进程现在打开的文件
lsof -c -p 1234 # 列出进程号为1234的进程现在打开的文件
lsof -g gid # 显示归属gid的进程情况
lsof +d /usr/local # 显示目录下呗进程开启的文件
lsof -d 4 # 显示使用fd为4的进程
lsof -i -u # 显示所有打开的端口和UNIX domain文件

数据流重定向

标准输入:代码为0,使用 <<<

标准输出:代码为1,使用 >>>

标准错误输出:代码为2,使用 2>2>>

当仅存在 > 符号时,等价于 1> ,其他符号同理。

输出重定向示例

1
2
3
4
5
6
7
8
9
10
11
# 将home文件下各目录的文件名、属性等以覆盖的方法输入到 filename 文件,若没有则自动创建该文件
ll /home 1> ~/filename

# 以累加的方法将数据输出到文件上
ll /home 1>> ~/filename

# 将正确与错误的数据写入到同一个文件list中去
find /home -name .bashrc > list 2>&1

# 将错误的数据丢弃,屏幕上显示正确的数据
find /home -name .bashrc 2> /dev/null

输入重定向示例

1
2
3
4
5
# 将bashrc的数据输入到 catfile 中
cat > catfile < ~/.bashrc

# << 表示结束输入的意思,当我们输入了 eof,就会立刻结束输入
cat > catfile << "eof"

Linux 常用命令
https://uponclouds.top/2025/07/15/Linux常用命令/
作者
Gentle He
发布于
2025年7月15日
许可协议