Linux常用指令

1、lsof -i:端口号
lsof 是一个命令行工具,用于列出系统中被进程打开的所有文件描述符。其名字 "lsof" 代表 "list open files"。

2、sudo netstat -tlnp | grep 端口
netstat:网络统计的缩写,一款查看网络统计信息的工具。
-t:仅显示TCP连接。
-l:仅显示监听中的服务器套接字。
-n:显示原始的网络地址(以IP形式),而不是尝试解析DNS主机名。
-p:显示哪个进程正在使用对应的套接字或端口。

3、export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH
设置动态链接库搜索路径的环境变量 LD_LIBRARY_PATH
export
 是一个shell内建的命令,用于将后面定义的变量导出到子进程的环境中。LD_LIBRARY_PATH 是一个环境变量,用于定义动态链接器搜索共享库时的路径。
.:$LD_LIBRARY_PATH 实际上是将当前目录(.)添加到现有的 LD_LIBRARY_PATH 的前面。这样做是为了让系统在运行时首先查找当前目录下的共享库(动态链接库)。

4、df  -h
查看文件系统的磁盘空间使用情况

5、du -h --max-depth=1
命令 du -h --max-depth=1 用于报告指定目录下各个子目录的磁盘使用情况。
du:是“disk usage”的缩写,是一个标准Unix命令,用于估算文件与目录的磁盘空间占用量。
-h:这个选项(或 --human-readable)用于以易于阅读的格式(如KB、MB、GB)显示每个子目录和文件的大小。
--max-depth=1:这个选项用于限定 du 命令的输出结果的深度。1 表示 du 仅仅展示直接位于指定目录下的第一层文件和子目录的磁盘占用情况。

6、ps -ef | grep 进程名字
在Linux系统中是一个组合命令,主要用来查找和显示特定名称的进程信息。
ps:是 “process status(进程状态)” 的简写,用于展示当前系统运行的进程。
-ef:是 ps 的选项参数。-e 用于选择所有进程,-f 表示以全格式显示进程信息(包括UID、PID、PPID、启动时间等)。
|:这个符号称为管道符。它的作用是将左边命令的输出作为右边命令的输入。
grep:是一个强大的文本搜索工具,用于搜索输入数据中匹配指定模式的行。

7、ll /proc/进程号
在Linux系统中,/proc 目录是一个特殊的虚拟文件系统,它包含了当前正在运行的进程及系统信息的伪文件和目录。对于每个进程,/proc 包含一个以进程PID(进程标识号)命名的目录,其中含有该进程的许多详细信息。
这个目录内包含许多文件和目录,这里只列举一些重要的:
cmdline - 包含启动进程时使用的命令行参数。
cwd - 这是一个符号链接,指向该进程的当前工作目录。
environ - 包含该进程的环境变量列表。
exe - 这是一个符号链接,指向用于启动该进程的执行文件。
fd - 这是一个目录,包含了该进程使用的所有文件描述符的符号链接。
maps - 包含了内存映射的列表,为进程地址空间提供了详细信息。
mem - 该进程的虚拟内存。
status - 包含了进程的状态信息,如进程ID、内存使用量、权限等。

8、top -p 进程号
top 是一个实时显示系统进程信息的终端工具,而 top -p进程号 命令将限定 top 命令仅监视指定的进程号(PID)
如果要监控多个进程,可以通过逗号分隔多个PID,例如:
top -p 123,456,789
在监控状态中按 H 可以看到进程中线程的监视信息

9、ldd -r /path/to/executable
ldd 命令的 -r 选项在Linux系统中用于检查可执行文件的运行时链接。具体来说,-r 选项会让 ldd 执行重定位并且报告任何缺失的对象和函数(undefined symbols)。
当执行该命令时,ldd 将列出指定的可执行文件所依赖的所有共享库,同时还会尝试解析所有的符号引用。如果有符号没有得到解析,意味着它们在任何共享库中都没有被找到,ldd 则会打印出相关的错误信息。

10、pstack 进程号
pstack 是一个在Unix-like系统上用来显示每个线程的栈跟踪的工具。它对于调试多线程应用程序非常有用,特别是当试图找出程序挂起或崩溃的原因时。栈跟踪可以帮助你确定哪些函数被调用,以及函数调用的顺序。

11、scp /path/to/local/file username@remotehost:/path/to/remote/directory
将本地文件复制到远程主机
12、scp username@remotehost:/path/to/remote/file /path/to/local/directory
将远程文件复制到本地主机

13、arch  或者 uname -m
示机器架构

14、file /path/to/library.so
此命令提供了文件类型的详细信息。可以用来查看一个动态库是为x86架构还是ARM架构编译的。

15、sudo hostnamectl set-hostname 新的名字
在命令行中设置或更改系统主机名。

16、./run &> /dev/null &
在后台执行当前目录下的 run 程序,并且丢弃命令执行时产生的所有输出,不在控制台显示任何信息。
&> 是一种重定向操作符,在Bash中它是 > 和 2> 的简写形式,用来同时将标准输出(stdout, 文件描述符1)和标准错误(stderr, 文件描述符2)重定向到某个地方。所以 &> 表示捕获从命令中产生的所有输出(无论是常规信息还是错误信息)。
/dev/null 是一个特殊的文件,通常称为空设备。将数据重定向到 /dev/null 会使重定向的内容被“丢弃”或者说“吞掉”。这在你不希望产生任何形式的输出文件时非常有用。

17、tcpdump
tcpdump 是一款强大的命令行网络包分析工具,它能够捕获和显示发送或接收的网络数据包的详细信息。tcpdump 可用于诊断网络问题、审计网络活动、监控网络性能,甚至是学习网络协议。
使用 tcpdump 的基本格式如下:
tcpdump [options] [expression]
options:选项参数用来修改 tcpdump 的行为。
expression:表达式用来过滤捕获的数据包,未指定时默认捕获所有包

常用选项
-i 接口:指定要监听的网络接口。例如,tcpdump -i eth0。
-c 计数:捕获指定数量的数据包后停止。例如,tcpdump -c 100 会捕获100个数据包。
-s 快照长度:设置每个数据包捕获的长度。例如,tcpdump -s 0 会捕获整个数据包的内容。
-w 写入文件:将捕获的数据包写入文件,而不是打印到屏幕。例如,tcpdump -w capture.pcap。
-r 读取文件:从文件读取数据包,通常与 -w 选项搭配使用。

常用表达式
host:指定主机。例如,tcpdump host 192.168.0.1。
port:指定端口。例如,tcpdump port 80。
src 和 dst:分别表示源地址和目的地址。例如,tcpdump src port 80。
tcp、udp 和 icmp:指定协议。
net:指定网络。例如,tcpdump net 192.168.0.0/24。
组合表达式:可以使用 and、or 和 not 来组合多个条件。例如,tcpdump src port 80 and dst port 443。

实际例子
捕获特定接口 eth0 上的所有TCP数据包:
tcpdump -i eth0 tcp

捕获来自或发往端口为 80 的所有数据包:
tcpdump port 80

捕获所有到达或离开特定主机的数据包:
tcpdump host 1.2.3.4

只捕获源地址为 1.2.3.4 且目标端口为 22 的TCP数据包:
tcpdump src host 1.2.3.4 and tcp dst port 22
捕获网络流量可能需要特权,所以在很多情况下需要以 root 用户执行 tcpdump 命令。

  • 26
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值