Linux常用命令总结
1 、 ls ,ll 显示目录下的内容 (list files, ls -l长格式)
2、chmod +777 XXX.XX 赋予读,写,执行权限 +777
表示赋予所有用户(所有者、所属组和其他用户)读、写和执行该文件或者目录的权限
3、top 实时进程监控
3.1查看每一个CPU的情况:top的情况下按1
3.2 查看某一个进程的信息 top -p <pid-num> -H 如:top -p 2347 -H
VIRT — >>进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES —>> 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — >>共享内存大小,单位kb (这个占用的多有可能是内存碎片)
S — >> 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
3.3显示进程使用了那些CPU top -p <pid>,之后按 f ,通过上下键选择显示内容,按空格进行选中,q退出
4、ps
ps -aux
命令在Linux系统中用于查看当前正在运行的进程信息。
ps -aux|grep 服务名称,来检测服务状态
5 、nm 查询符号表,显示版本信息,组件不能剥离符号信息
你可以将版本号写成 一个函数名,这样显示符号表就能显示这个函数名,就顺便显示了版本号
如:
#define OUT_API __declspec(dllexport)
OUT_API void API_VERSION_2024_1_0_3();
6、file 识别文件类型特别是库文件的架构
7、tcpdump 网络抓包 TCP,UDP
在协议连通前,控制台(ssh)运行tcpdump,作用类似Windows的wireshark工具
一般使用 tcpdump -v -i any -w ***.pcap // -i any 所有网卡,-v 详细输出
需要过滤IP,端口,可添加, host 192.168.*.* , port 8800 等 ,抓到会显示字节数,ctrl +Z 停止抓包
8、netstat 监听网络连通状况,排查端口问题
- 使用
netstat -a
可以显示所有连线中的Socket,包括正在监听和已建立连接的。 netstat -t
显示TCP传输协议的连线状况。netstat -u
显示UDP传输协议的连线状况。netstat -n
直接使用IP地址,而不通过域名服务器。netstat -p
显示正在使用Socket的程序识别码和程序名称。netstat -r
显示Routing Table。netstat -s
显示网络工作信息统计表。netstat -ano | grep 进程ID
可以查询特定进程所占用的端口
9、zip,unzip 压缩解压缩
解压:unzip XXX.zip -d ./tempdir //将XXX压缩包解压到tempdir
压缩:zip -r -y ../dst.zip * // 将当前目录下的所有文件(*),压缩并保存上层目录dst.zip, -r是递归,-y是保存符号链接
10、mkdir 创建目录
11、cp 拷贝
/cp 、usr/src.file mnt/dst.file //覆盖拷贝
12、 rm -rf 删除,注意不要整体执行,需要删哪个要写清楚
rm -rf ./*.log 删除当前目录下所有的以.log结尾的文件
13、tail 显示文件,尤其是用于日志文件的显示
tail -f ****.txt
14 、systemctl
Systemctl命令提供了全面且灵活的系统和服务管理功能,从基础的启动、停止到高级的配置管理和性能分析
systemctl restart/start/stop/status 服务名称 //用于重启,停止,查看服务状态
systemd是一个守护进行,需要自己写服务脚本,用来决定进程的重启,等操作,在lib/systemd/system目录下添加服务名称对应的脚本
15、 kill -9 pid 强杀进程
16、查看OOM
X86: grep "Out of memory" /var/log/message
arm: cat /var/log/syslog/ grep oom
17、df -h查看磁盘占用
如果程序莫名运行不下去,存储异常,可以查查磁盘状况
18 、显示磁盘读写IO,用于分析程序因IO操作慢而导致的阻塞
iostat -x -d /dev/磁盘名字 -m 1 //每一秒显示磁盘IO相信信息 会有读写等待时间 r_await ,w_await等参数
19、nvidia-smi 查看 显卡信息,nvidia
....未完待续