Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/
本博客旨在分享在实际开发过程中,开发者需要了解并熟练运用的 Linux 操作系统常用命令。Linux 作为一种操作系统,与 Windows 或 MacOS 并驾齐驱,尤其在服务器和开发环境中占据重要地位。Linux 命令,简而言之,就是指导计算机执行特定操作的指令。
在 Linux 系统中,每个用户都会在 home 目录下拥有一个私人目录,用于存储个人文件和配置。Linux 提供了丰富的命令集,用于文件管理、系统信息查询、软件安装等多样化任务。掌握这些命令对于开发者来说至关重要,能够有效提高工作效率。
以下是我平时经常使用的一些命令的总结:
1. 基本命令(熟记于心)
# 将当前工作目录切换到 "/home/yetingyun/linux_demo" 这个目录。
cd /home/yetingyun/linux_demo# 切换到当前目录的上一级目录
cd ..# pwd 的全称为 "print working directory"(打印工作目录)。查看当前用户所在的工作目录的绝对路径。
pwd# 查看当前目录下的文件和子目录
ls# 显示当前登录用户的用户名
whoami# 查看已有的 conda 环境。用 conda 创建新的 Python 环境,激活进入该环境。以及有可能删除该环境。
conda info --env
conda create -n PyTorch2.0 python=3.9.18
conda activate PyTorch2.0
conda remove -n PyTorch2.0 --all# 安装 Jupyter Notebook 以及管理 conda 环境(kernel)的插件
conda install jupyter
conda install nb_conda# 查找并显示某个可执行程序的完整路径
which python
# 查看当前环境的 Python 版本
python -V# 使用 GNU Screen 工具。Screen 是一个全屏窗口管理器,它允许用户在单个物理终端上运行多个终端会话。
# 这个命令用于列出当前用户的所有屏幕会话。每个会话都有一个唯一的编号和名称。
screen -ls
# 这个命令用于创建一个新的屏幕会话,并给这个会话命名为 "cmd01"。在这个会话中,用户可以运行任何命令,包括启动 Python 程序。
screen -S cmd01
# 这个命令用于重新连接到名为 "cmd01" 的屏幕会话。如果这个会话正在运行,用户可以继续在这个会话中进行操作。
screen -r cmd01
# ...... 切换到指定 conda 环境和文件路径,运行 Python 程序。这里可能是要切换到指定的 conda 环境,然后切换到特定的文件路径,最后运行 Python 程序。这通常可以通过 conda activate 环境名,cd 路径,python 文件名.py 等命令来完成。
# 这是 Screen 的一个快捷键组合,用于暂时断开当前的屏幕会话,并将控制权返回给本地终端。这样,用户可以在本地终端中执行其他命令,而不会影响屏幕会话中的程序运行。
快捷键 Ctrl A + D
# 这个命令用于强制终止指定的进程。-9 选项表示使用 SIGKILL 信号,该信号将立即终止进程,不给进程任何清理资源或保存数据的机会。
kill -9 进程号# 编辑并更新用户的 bash 配置文件(.bashrc)
vi ~/.bashrc
# i 进入编辑模式;esc 退出编辑模式 ... 对该文件里的内容进行编辑,然后保存文件并退出编辑器。只想退出而不保存修改,可直接输入 :q!。
:wq
source ~/.bashrc# pip 和 conda 相关的查看版本、更新版本、安装第三方库以及清除缓存的操作
pip --version
python -m pip install --upgrade pip
pip install matplotlib==3.6.0 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
pip cache purgeconda --version
conda update conda
conda install matplotlib
conda clean --all# 一个用于查询和控制 NVIDIA GPU 设备的命令行工具。它可以显示关于 NVIDIA GPU 的详细信息,如温度、功耗、显存使用情况等。这个命令可以帮助用户了解 GPU 的状态,以便进行性能调优或故障排查。
nvidia-smi
# 一个用于查看 Linux 发行版信息的命令。它会显示当前系统的发行版名称、版本号和其他相关信息。在这个例子中,它用于查看 Ubuntu 系统的版本。
lsb_release -a
# 一个用于查看操作系统详细信息的命令。它会显示 /etc/os-release 文件中的内容,该文件包含了操作系统的名称、版本号和其他相关信息。这个命令可以用来获取更详细的操作系统信息。
cat /etc/os-release# 解压缩 ZIP 文件
unzip project.zip# 在当前目录下创建一个名为 "test_01" 的目录。如果该目录已经存在,将会显示一个错误消息。
mkdir test_01# 将一个或多个源文件或目录复制到指定的目标文件或目录。
cp [选项] 源文件 目标文件# 为文件或目录重命名,或将文件或目录移动到其他位置。
mv [options] source dest
mv [options] source directory# 删除文件或目录
rm [options] name...
# 删除指定目录下的所有文件及目录,无需逐一确认,直接执行命令行操作。
rm -rf /home/yetingyun/linux_demo/# 向 IP 地址为 140.82.113.3 的主机发送 ICMP 回显请求数据包,并等待接收到对应的回显应答数据包。如果能够成功接收到应答数据包,说明与该主机的网络连接正常;如果无法接收到应答数据包,可能表示网络连接存在问题。
ping 140.82.113.3# 创建一个新的空文件。如果指定的文件已经存在,那么 touch 命令将更新该文件的访问和修改时间。
touch linux_demo.py# 识别文件类型
file linux_demo.py
file Anaconda3-5.3.0-Linux-x86_64.sh# 查看用户执行过的命令历史记录
history
2. 查看硬盘信息
# 显示文件系统的磁盘空间使用情况
df -lh# 显示系统中所有的磁盘和分区信息
lsblk
# 显示块设备的名称,例如 sda、sdb 等。显示了块设备是否为旋转设备(如机械硬盘)或非旋转设备(如固态硬盘)。如果值为 1,则表示该设备是旋转设备;如果值为 0,则表示该设备是非旋转设备。
lsblk -o NAME,ROTA# 查看指定目录(在这个例子中是 "/home/yetingyun/project")的磁盘使用情况。
du -h /home/yetingyun/project
3. CPU 监控
vmstat 1
:这个命令用于监控 CPU 的使用情况,单位为秒。它会每秒输出一次系统的状态信息,包括进程、内存、块设备等。可以使用以下命令来运行它:
vmstat 1
top
:这个命令用于实时监控系统的进程状态,包括 CPU 使用率、内存占用等信息。
top
top -d 1
getconf LONG_BIT
:这个命令用于查看系统的 CPU 位数。它会返回一个数字,表示系统的 CPU 是 32 位还是 64 位。
getconf LONG_BIT
free -m
:这个命令用于查看系统的内存使用情况。它会显示总内存、已用内存和可用内存等信息。
free -m
cat /proc/cpuinfo | grep -c processor
:这个命令用于查看系统的 CPU 核数。它会输出系统中处理器的数量;cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
。这个命令用于查看系统的 CPU 的型号。
cat /proc/cpuinfo | grep -c processorcat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
这些命令可以帮助你监控和管理 Linux 系统的性能和资源使用情况。你可以根据需要选择适合的命令来进行监控和分析。
4. 监控内存
free -mcat /proc/meminfo
awk '/MemTotal|MemFree|MemAvailable|SwapTotal|SwapFree/ {print $1": " $2/1024 " MB"}' /proc/meminfo
这些命令都是用于查看 Linux 系统中的内存和交换空间使用情况的。
-
free -m
:这个命令会显示系统的总内存、已用内存、空闲内存、缓存和缓冲区内存等信息,单位是 MB。 -
cat /proc/meminfo
:这个命令会显示系统内存的详细信息,包括总内存、可用内存、缓存和缓冲区等。 -
awk '/MemTotal|MemFree|MemAvailable|SwapTotal|SwapFree/ {print $1": "$2/1024" MB"}' /proc/meminfo
:这个命令使用了 awk 工具来处理 /proc/meminfo 文件的内容。它会查找包含 “MemTotal”、“MemFree”、“MemAvailable”、“SwapTotal” 或 “SwapFree” 的行,并打印出这些行的字段 1(即内存名称)和字段 2(即内存大小,单位为 KB)除以 1024 后的结果(即转换为 MB)。这样,我们就可以看到每种内存的总量和使用量。
5. 文件查找
find /path -name 'aa.txt'
:这个命令用于在指定路径(/path)下查找文件名为 aa.txt 的文件。例如,如果你想在 /home/user 目录下查找名为 test.txt 的文件,可以使用以下命令:
find /home/user -name 'test.txt'
find /path -size +20M
:这个命令用于在指定路径(/path)下查找大于 20M 的文件。例如,如果你想在 /home/user 目录下查找大于 50M 的文件,可以使用以下命令:
find /home/user -size +50M
ls -l | grep '.txt'
:这个命令用于在当前目录下查找以 .txt 结尾的文件。首先,ls -l
命令会列出当前目录下的所有文件和文件夹的详细信息,然后通过管道符 |
将结果传递给 grep '.txt'
命令,后者会筛选出包含 .txt 的文件名。
find . -name '.txt' | xargs grep 'aa'
:这个命令用于在当前目录及其子目录下查找文件名包含 .txt 且内容中包含 aa 的文件。首先,find . -name '.txt'
命令会找出所有文件名包含 .txt 的文件,然后通过管道符 |
将结果传递给 xargs grep 'aa'
命令,后者会在这些文件中搜索包含 aa 的内容。
grep 'aaa' a.txt b.txt
:这个命令用于在多个文件中搜索包含 aaa 的内容。在这个例子中,它会在 a.txt 和 b.txt 这两个文件中搜索包含 aaa
的内容。
6. 文件解压缩
压缩文件: tar -czf tar_文件名 目录
,该命令用于将指定的目录压缩为一个 tar 文件。其中,-c
表示创建新的归档文件,-z
表示使用 gzip 进行压缩,-f
指定输出的文件名。例如,要将 /home
目录压缩为 aa.tar.gz
文件,可以使用以下命令:
tar -czf aa.tar.gz /home
列出压缩文件列表:tar -tzf tar_文件名
,该命令用于列出压缩文件中的内容列表。其中,-t
表示列出归档文件中的内容,-z
表示使用 gzip 解压缩,-f
指定输入的文件名。例如,要列出 aa.tar.gz
文件中的内容列表,可以使用以下命令:
tar -tzf aa.tar.gz
解压文件:tar -xvzf tar_文件名
,该命令用于解压缩 tar 文件到当前目录。其中,-x
表示解压缩归档文件,-v
表示显示详细信息,-z
表示使用 gzip 解压缩,-f
指定输入的文件名。例如,要解压缩 aa.tar.gz
文件到当前目录,可以使用以下命令:
tar -xvzf aa.tar.gz
这些命令是常用的 Linux 命令,用于处理 tar 文件的压缩和解压缩操作。通过使用适当的选项和参数,可以方便地创建、查看和解压缩 tar 文件。
7. 其他
这个命令的基本原理和作用是:
ps -ef | grep 应用名
-
ps -ef
:ps
是一个用于查看系统中进程状态的命令,-ef
参数表示显示所有进程的详细信息。 -
|
:管道符,用于将前一个命令的输出作为后一个命令的输入。 -
grep 应用名
:grep
是一个用于文本搜索的命令,它会在输入中查找包含指定字符串(这里是“应用名”)的行。
综合起来,这个命令的作用是在系统中查找与指定应用名相关的进程,并显示它们的详细信息。
这个命令是用于查看当前系统中所有进程的详细信息,并按照内存使用量(RSS)进行降序排序。
ps aux --sort -rss
解析如下:
-
ps
:这是一个用于报告当前系统的进程状态的命令。 -
aux
:这是ps
命令的选项,a
表示显示所有用户的进程,u
表示以用户为主的格式输出,x
表示显示没有控制终端的进程。 -
--sort -rss
:这是ps
命令的参数,--sort
表示对输出结果进行排序,-rss
表示按照内存使用量(RSS)进行降序排序。
所以,这个命令的作用就是查看当前系统中所有进程的详细信息,并按照内存使用量从高到低进行排序。
📚️ 相关链接:
-
开发中必知必会的常用 Linux 命令
-
开发必备的常用 Linux 命令整理
-
45 个常用 Linux 命令,让你轻松玩转 Linux!
相关文章:

Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?
🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 本博客旨在分享在实际开发过程中,开发者需要了解并熟练运用的 Linux 操作系统常用命令。Linux 作为一种操作系统,与 Windows 或 MacOS 并驾齐驱,尤其在服务器和开发环…...

js通过Object.defineProperty实现数据响应式
目录 数据响应式属性描述符propertyResponsive 依赖收集依赖队列寻找依赖 观察器 派发更新Observer完整代码关于数据响应式关于Object.defineProperty的限制 数据响应式 假设我们现在有这么一个页面 <!DOCTYPE html> <html lang"en"><head><m…...

docker最简单教程(使用dockerfile构建环境)
一 手里有的东西 安装好的docker+dockerfile 二 操作 只需要在你的dockerfile文件下执行命令 docker build -t="xianhu/centos:gitdir" . 将用户名、操作系统和tag进行修改就可以了,这就相当于在你本地安装了一个docker环境,然后执行 docker run -it xianhu/ce…...

Vue2 —— 学习(三)
目录 一、绑定 class 样式 (一)字符串写法 1.流程介绍 2.代码实现 (二)数组写法 1.流程介绍 2.代码实现 (三)对象写法 1.流程介绍 2.代码实现 二、绑定 style 样式(了解ÿ…...

Qt Creator 12.0.2 debug 无法查看变量的值 Expression too Complex
鼠标放在局部变量上提示“expression too complex”。 在调试窗口也看不到局部变量的值。 这应该是qt的一个bug,https://bugreports.qt.io/browse/QTCREATORBUG-24180 暂时解决方法: 如下图,需要右键项目然后执行"Clean"和&quo…...

LeetCode-Java:303、304区域检索(前缀和)
文章目录 题目303、区域和检索(数组不可变)304、二维区域和检索(矩阵不可变) 解①303,一维前缀和②304,二维前缀和 算法前缀和一维前缀和二维前缀和 题目 303、区域和检索(数组不可变ÿ…...
出海业务的网络安全挑战
出海业务的扩展带来了巨大的市场机遇,同时也带来了不少网络安全挑战: 数据泄露与隐私保护:跨境数据传输增加了数据被截获和泄露的风险。地理位置限制和审查:某些地区的网络审查和地理位置限制可能阻碍企业正常开展业务。网络攻击…...
蓝桥杯考前准备— — c/c++
蓝桥杯考前准备— — c/c 对于输入输出函数 如果题目中有要求规定输入数据的格式与输出数据的格式,最好使用scanf()和prinrf()函数。 例如:输入的数据是 2020-02-18,则使用scanf("%d-%d-%d",&year,&mouth,&day)即可…...

【MATLAB源码-第4期】基于MATLAB的1024QAM误码率曲线,以及星座图展示。
1、算法描述 正交幅度调制(QAM,Quadrature Amplitude Modulation)是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度(π/2)的正弦波,因此被称作正交载波。这种调制方式因此而得…...

数据结构-----枚举、泛型进阶(通配符?)
文章目录 枚举1 背景及定义2 使用3 枚举优点缺点4 枚举和反射4.1 枚举是否可以通过反射,拿到实例对象呢? 5 总结 泛型进阶1 通配符 ?1.1 通配符解决什么问题1.2 通配符上界1.3 通配符下界 枚举 1 背景及定义 枚举是在JDK1.5以后引入的。主要用途是&am…...
线上问题监控 Sentry 接入全过程
背景: 线上偶发问题出现后 ,测试人员仅通过接口信息无法复现错误场景;并且线上环境的监控,对于提高系统的稳定性 (降低脱发率) 至关重要;现在线上监控工具这个多,为什么选择Sentry?…...
【数据库(MySQL)基础】以MySQL为例的数据库基础
文章目录 0. 本文用到的emp表,dept表,salgrade表1. MySQL入门2. 简单查询3. 字段计算4. 条件查询4.1 and4.2 null4.3 or4.4 and和or的优先级4.4 in 和 not in4.5 模糊查询 5. 排序5.1 简单排序5.2 两个字段排序5.3 综合排序 6. 一些常用函数6.1 大小写转换6.2 substr子字符串6.…...

权限修饰符,代码块,抽象类,接口.Java
1,权限修饰符 权限修饰符:用来控制一个成员能够被访问的范围可以修饰成员变量,方法,构造方法,内部类 👻👗👑权限修饰符的分类 🧣四种作用范围由小到大(private<空着…...

CSS设置文本
目录 概述: text-aling: text-decoration: text-transform: text-indent: line-height: letter-spacing: word-spacing: text-shadow: vertical-align: white-space: direction: 概述: 在CSS中我们可以设置文本的属性,就像Word文…...
【svg】—— java提取svg中的颜色
需要针对svg元素进行解析,并提取其中的颜色,首先需要知道svg中的颜色。针对svg中颜色的格式大致可以一般有纯色和渐变两种形式。对于渐变有分为:线性渐变和放射性渐变针对svg中的颜色支持16进制的格式,又可以支持RGB的格式&#x…...

论文分享 | FAST'23 阿里云提出的针对SMR优化的存储引擎SMRSTORE
今天分享的一篇最近阅读的论文是FAST23的SMRstore: A Storage Engine for Cloud Object Storage on HM-SMR Drives。 https://www.usenix.org/conference/fast23/presentation/zhou 这篇文章是由阿里巴巴公司完成的,在这篇文章中,团队针对SMR的特性提出了…...

题目:建造房屋 (蓝桥OJ3362)
问题描述: 代码: #include<bits/stdc.h> using namespace std; int n, m, k, ans, mod 1e9 7; long long dp[55][2605]; /*dp[i][j]:第i个街道上建j个房屋的总方案数枚举所有的转移,累加到dp[n][k]即总方案数 */ int main() {cin >> n &…...

智能合约平台开发指南
随着区块链技术的普及,智能合约平台已经成为了这个领域的一个重要趋势。智能合约可以自动化执行合同条款,大大减少了执行和监督合同条款所需的成本和时间。那么,如何开发一个智能合约平台呢?以下是一些关键步骤。 一、选择合适的区…...

数学建模-最优包衣厚度终点判别法(主成分分析)
💞💞 前言 hello hello~ ,这里是viperrrrrrr~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页ÿ…...

Mysql内存表及使用场景(12/16)
内存表(Memory引擎) InnoDB引擎使用B树作为主键索引,数据按照索引顺序存储,称为索引组织表(Index Organized Table)。 Memory引擎的数据和索引分开存储,数据以数组形式存放,主键索…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...

Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...