基本Linux命令和Linux工具

138 阅读5分钟

本文已参与「新人创作礼」活动, 一起开启掘金创作之路。

  👉引言💎

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。 热爱写作,愿意让自己成为更好的人...... ......

铭记于心
🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉

一、 基本Linux命令和Linux工具

1、什么是Top、Nvidia-smi?

  • 1.1 Top

    TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况

    1. Top的显示过程是动态的,可以通过用户按键输入来不断刷新当前状态

    2. 如果在前台执行该命令, 它将独占前台并一直运行, 直到用户终止该程序. Top命令将显示系统中CPU最活跃的任务列表,提供了对CPU的实时状态监视

    3. 该命令可以按CPU使用.内存使用和执行时间对任务进行排序,并且很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

    参数列表:top [-d number] | top [-bnp]

  • 1.2 Nvidia-smi

    Nvidia-smi(System management interface)是Nvidia的系统管理接口,提供监控GPU使用情况和更改GPU状态的功能, 它可以收集各种级别的信息,查看显存使用情况。此外, 可以启用和禁用 GPU 配置选项 (如 ECC 内存功能) 在这里插入图片描述

    参数详解:

    • GPU:本机中的GPU编号

    • Name:GPU 类型

    • Persistence-M:持久模式是否开启

    • Fan:风扇转速

    • Temp:温度,单位摄氏度

    • Perf:表征性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能

    • Pwr:Usage/Cap:能耗表示

    • Bus-Id:涉及GPU总线的相关信息;

    • Disp.A:Display Active,表示GPU的显示是否初始化

    • Memory-Usage:显存使用率

    • Volatile GPU-Util:浮动的GPU利用率

    • Uncorr. ECC:关于ECC的东西

    • Compute M.:计算模式

    • Processes 显示每块GPU上每个进程所使用的显存情况

参考:

Top: blog.csdn.net/yjclsx/arti…

Nvidia-smi:blog.csdn.net/kunhe0512/a…

2、什么是GDB、Perf ?

  • 2.1 GDB:

    GDB是GNU开源组织发布的一个强大的Unix/Linux下的程序调试工具,没有图形化的友好界面,但是它强大的功能也足以与微软的VC等工具相媲美, 通过GDB可以观察到程序在执行时的内部情况, 以及崩溃时正在做什么

    GDB主要通过以下几种方式 debug:

    • 启动你的程序,指定任何可能影响它行为的东西。

    • 使程序在指定条件下停止。

    • 当程序停止时,检查发生了什么。

    • 更改程序中的内容,这样您就可以尝试纠正一个错误的影响,并继续了解另一个错误。

    GDB具有很好的跨平台性,可以很好的支持跨平台以及远程调试程序

  • 2.2 Perf:

    perf是内置于linux内核源码树中的性能剖析工具,它基于事件采样原理,以性能事件为基础,可用于性能瓶颈的查找与热点代码的定位

    方向:

    • 可用于对软件进行优化

      • 算法优化(空间复杂度、时间复杂度)

      • 代码优化(提高执行速度、减少内存占用)

    • 评估对硬件资源的使用情况

      • 各级cache的访问次数

      • 各级cache的丢失次数

      • 流水线停顿周期、前端总线访问次数等

    评估程序对操作系统资源的使用情况,系统调用次数、上下文切换次数、任务迁移次数等

3、介绍chmod

chmod是linux下更改文件访问权限的命令

  • chmod [-cfvR] [–help] [–version] mode file…

  • 说明 : Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以控制文件如何被他人所调用

    Linux文件权限相关介绍

参数详解:

  • mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。

  • +表示增加权限、- 表示取消权限、= 表示唯一设定权限。

  • r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。

  • -c : 若该文件权限确实已经更改,才显示其更改动作

  • -f : 若该文件权限无法被更改也不要显示错误讯息

  • -v : 显示权限变更的详细资料

  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)

  • --help : 显示辅助说明

  • --version : 显示版本

4、如何运行扩展名为. sh的文件?

建议:尝试写一些. sh文件

  • 4.1 什么是sh文件?

    Linux与shell的关系

    sh文件 被称为脚本Bash的应用程序和使用开发人员文件。与 .bat 文件类似,都是批处理文件(无格式的文本文件,它包含一条或多条命令。运行该文件时,系统就会调用cmd.exe顺序执行命令,批处理文件可以简化日常或重复性任务)。只不过.bat是运行在Windows上的shell脚本,而sh是运行在Linux上的。

    拿Tomcat来说,其bin文件夹中存在一份.bat文件和相对应的.sh文件,一个是为了在window系统上执行的文件,另一个是linux下的批处理文件。例如:startup.bat和startup.sh

  • 4.2 sh文件怎么运行

    .sh运行方法

    • ./文件名.sh 需要有x权限 ( 表示文件具有可以被系统执行的权限 )

    • sh 文件名.sh 不需要x权限

  • 4.3 实例:

    修改文件名

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

🌹写在最后💖: 路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹在这里插入图片描述