基本Linux命令和Linux工具

简介: 基本Linux命令和Linux工具

👉引言💎


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

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


一、 基本Linux命令和Linux工具


1、什么是Top、Nvidia-smi?


  • 1.1  TopTOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况
  1. Top的显示过程是动态的,可以通过用户按键输入来不断刷新当前状态
  2. 如果在前台执行该命令, 它将独占前台并一直运行, 直到用户终止该程序. Top命令将显示系统中CPU最活跃的任务列表,提供了对CPU的实时状态监视
  3. 该命令可以按CPU使用.内存使用和执行时间对任务进行排序,并且很多特性都可以通过交互式命令或者在个人定制文件中进行设定.
  • 参数列表:top [-d number] | top [-bnp]
  • 1.2  Nvidia-smiNvidia-smi(System management interface)是Nvidia的系统管理接口,提供监控GPU使用情况和更改GPU状态的功能, 它可以收集各种级别的信息,查看显存使用情况。此外, 可以启用和禁用 GPU 配置选项 (如 ECC 内存功能)

image.png


  • 参数详解:


  • 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 实例:
    修改文件名


image.pngimage.png

image.png

🌹写在最后💖: 路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹


相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
1天前
|
关系型数据库 MySQL Linux
Linux命令systemctl详解
`systemctl`是Linux系统用于管理systemd服务的核心命令,它与systemd守护进程交互,实现启动、停止、重启服务及查看服务状态等功能。主要参数包括`start`、`stop`、`restart`、`status`、`enable`和`disable`等。例如,启动Apache服务使用`systemctl start httpd.service`,查看服务状态用`systemctl status <service>`。使用时需注意权限,服务名通常以`.service`结尾,但命令中可省略。最佳实践包括利用tab键补全、定期查看服务状态和合理配置服务自启。
|
1天前
|
存储 安全 Linux
Linux命令sync详解
`sync`命令在Linux中用于将内存缓冲区的数据强制写入磁盘,保证数据持久性和一致性。它在关机、重启或重要文件操作前后使用,以防数据丢失。工作原理是强制将内存中的数据同步到磁盘,特点是阻塞式执行且通常无需参数。常见用法包括安全关机、数据备份和配置文件修改后确保更改生效。应注意,过度使用可能影响性能,应适时使用`fsck`检查文件系统一致性。
|
1天前
|
存储 算法 安全
Linux命令sum详解
`sum`命令在Linux中用于计算文件的校验和与磁盘块数,确保文件传输或存储时的完整性。它使用加法运算生成校验和,可与文件内容比较验证变化。支持不同算法(如CRC),能处理多个文件。基本用法包括:`sum file.txt`来计算校验和,`sum -c checksum.txt`来验证文件完整性。但要注意,更强的校验算法如MD5或SHA家族可能更适合安全性需求。结合`find`和`xargs`可用于目录的递归校验。定期校验和记录校验和是最佳实践。
|
1天前
|
安全 数据管理 Shell
Linux命令su详解
`su`命令在Linux中用于切换用户身份,常用于权限管理。它允许用户无须注销当前会话就切换到另一个用户,尤其是root。`su`有多种选项,如`-`或`--login`加载目标用户环境,`-c`执行指定命令后返回。使用时需注意权限安全,建议用`sudo`以减少风险。通过限制`/etc/pam.d/su`可加强访问控制。`su`在系统维护和数据管理中扮演角色,但不直接处理数据。
|
1天前
|
Unix Linux 数据处理
Linux命令stty详解
`stty`是Linux命令,用于设置和查看终端参数,如波特率、字符处理和控制字符。它直接与终端驱动交互,支持多种选项以适应不同的配置需求。例如,`stty -a`显示当前设置,`stty -echo`关闭回显,`stty 115200 cs8`调整波特率和字符大小。注意修改设置可能影响终端行为,建议先备份(`stty -g`)并谨慎操作。查阅手册页以获取详细信息。
|
1天前
|
安全 Linux 数据处理
Linux命令strip详解
`strip`命令在Linux中用于移除可执行文件和库的符号表及调试信息,减小文件大小,提升运行效率。它的工作原理是删除文件中包含的函数名、变量名等信息。主要参数包括`-s`(移除所有符号)、`-g`(仅移除调试信息)等。在应用时要注意文件备份,因为该操作不可逆。最佳实践是在发布版本中使用,并结合构建流程自动化。
|
1天前
|
安全 Linux 数据安全/隐私保护
Linux命令strings详解
`strings`是Linux工具,用于从二进制文件中提取可打印字符串,常用于文件分析、安全审计和逆向工程。它可以识别至少4个连续可打印字符的序列,并支持多种参数,如`-n`调整最小长度,`-f`显示文件名。示例用法包括`strings /bin/ls`和`strings -n 6 /usr/bin/uptime | grep GLIBC`。注意敏感信息泄露,结合其他命令可增强分析能力。
|
1天前
|
存储 监控 Linux
stdbuf命令在Linux中的深度解析
`stdbuf`是Linux工具,用于控制命令的stdin、stdout和stderr的缓冲模式。它可以设置为无缓冲、行缓冲或块缓冲,以优化数据处理和实时性。例如,`stdbuf -o0 cmd`禁用cmd的输出缓冲,`-oL`则按行缓冲。在需要实时监控或高效处理大量数据时,选择合适的缓冲模式至关重要。注意,过度使用无缓冲可能影响性能,并非所有系统都支持`stdbuf`。
|
1天前
|
存储 运维 安全
Linux命令stat:深入了解文件与文件系统状态
`stat`命令在Linux中用于显示文件和文件系统的详细状态,包括权限、大小、时间戳等。它通过读取inode获取信息,特点是显示全面、易用且支持多种参数,如`-c`自定义格式,`-f`查看文件系统状态,`-L`处理符号链接。例如,`stat example.txt`显示文件详情,`stat -c "%n 的大小是 %s 字节" example.txt`输出文件大小。理解`stat`有助于系统管理和故障排查。
|
1天前
|
监控 安全 Linux
Linux命令ssltap的深入解析与应用实践
`ssltap`是一个假想的Linux命令,用于模拟SSL/TLS流量分析。它捕获、解密(如果有密钥)并分析加密流量,提供实时监控、协议解析和安全审计。特点包括实时性、灵活性、可扩展性和安全性。示例用法包括捕获特定端口流量和实时监控会话状态。在实际操作中应注意私钥安全、性能影响及合规性,建议定期审计和自动化监控。