Python 与机器学习,在服务器使用过程中,常用的 Linux 命令包括哪些?

news2024/10/5 13:37:35

🍉 CSDN 叶庭云https://yetingyun.blog.csdn.net/


本博客旨在分享在实际开发过程中,开发者需要了解并熟练运用的 Linux 操作系统常用命令。Linux 作为一种操作系统,与 Windows 或 MacOS 并驾齐驱,尤其在服务器和开发环境中占据重要地位。命令,简而言之,就是指导计算机执行特定操作的指令。

在 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 purge

conda --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 processor

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

这些命令可以帮助你监控和管理 Linux 系统的性能和资源使用情况。你可以根据需要选择适合的命令来进行监控和分析。

4. 监控内存

free -m

cat /proc/meminfo
awk '/MemTotal|MemFree|MemAvailable|SwapTotal|SwapFree/ {print $1": " $2/1024 " MB"}' /proc/meminfo

这些命令都是用于查看 Linux 系统中的内存和交换空间使用情况的。

  1. free -m:这个命令会显示系统的总内存、已用内存、空闲内存、缓存和缓冲区内存等信息,单位是 MB。

  2. cat /proc/meminfo:这个命令会显示系统内存的详细信息,包括总内存、可用内存、缓存和缓冲区等。

  3. 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 应用名
  1. ps -efps 是一个用于查看系统中进程状态的命令,-ef 参数表示显示所有进程的详细信息。

  2. |:管道符,用于将前一个命令的输出作为后一个命令的输入。

  3. grep 应用名grep 是一个用于文本搜索的命令,它会在输入中查找包含指定字符串(这里是“应用名”)的行。

综合起来,这个命令的作用是在系统中查找与指定应用名相关的进程,并显示它们的详细信息。

这个命令是用于查看当前系统中所有进程的详细信息,并按照内存使用量(RSS)进行降序排序。

ps aux --sort -rss

解析如下:

  • ps:这是一个用于报告当前系统的进程状态的命令。

  • aux:这是 ps 命令的选项,a 表示显示所有用户的进程,u 表示以用户为主的格式输出,x 表示显示没有控制终端的进程。

  • --sort -rss:这是 ps 命令的参数,--sort 表示对输出结果进行排序,-rss 表示按照内存使用量(RSS)进行降序排序。

所以,这个命令的作用就是查看当前系统中所有进程的详细信息,并按照内存使用量从高到低进行排序。


📚️ 相关链接:

  • 开发中必知必会的常用 Linux 命令

  • 开发必备的常用 Linux 命令整理

  • 45 个常用 Linux 命令,让你轻松玩转 Linux!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1564493.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Node.js从基础到高级运用】二十一、使用child_process模块创建子进程

引言 在Node.js中,child_process模块是一个提供了创建和管理子进程的能力的核心模块。通过使用child_process模块,Node.js可以执行系统命令、运行其他脚本或应用程序,实现与Node.js进程的并行处理。 child_process模块提供了几种创建子进程的…

环信IM集成教程——Web端UIKit快速集成与消息发送

写在前面: 千呼万唤始出来,环信Web端终于出UIKit了!🎉🎉🎉 文档地址:https://doc.easemob.com/uikit/chatuikit/web/chatuikit_overview.html 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开…

Docker:探索容器化技术,重塑云计算时代应用交付与管理

一,引言 在云计算时代,随着开发者逐步将应用迁移至云端以减轻硬件管理负担,软件配置与环境一致性问题日益凸显。Docker的横空出世,恰好为软件开发者带来了全新的解决方案,它革新了软件的打包、分发和管理方式&#xff…

聚观早报 | 蔚来推出油车置换补贴;iPhone 16 Pro细节曝光

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 4月02日消息 蔚来推出油车置换补贴 iPhone 16 Pro细节曝光 小米SU7创始版第二轮追加开售 OpenAI将在日本设立办事…

OSPF中配置静态路由实验简述

静态路由协议和OSPF(开放最短路径优先)协议是两种常见的路由协议,它们在路由选择和网络管理方面有一些区别。他们可以共存。 静态路由协议需要手动配置路由表,不会自动适应网络拓扑变化,适用于小型网络或者网络拓扑变化…

图神经网络:处理非欧几里得数据的新视角

目录 1. 引言 2.图数据与图神经网络基础 3.GNN模型详解 4.应用案例 4.1. 社交网络分析 4.2. 化学分子性质预测 5.总结 1. 引言 非欧几里得数据指的是那些不遵循传统欧几里得空间几何规则的数据。在欧几里得空间中,数据点之间的距离和形状可以通过标准的几何度…

书生·浦语大模型(学习笔记-1)

一、大模型的发展 模型与通用人工智能(AGI),大模型通常被视为发展通用人工智能的重要途径。AI研究从专用模型向通用模型转变,在过去的一二十年中,研究重点在于针对特定任务的专用模型。专用模型的已经再多个领域取得显…

试过了,ChatGPT确实不用注册就可以使用了!

看到官网说不用登录也可以直接使用ChatGPT 我们来试一下 直接打开官网 默认是直接进入了chatgpt3.5的聊天界面 之前是默认进的登录页面 聊一下试试 直接回复了,目前属于未登录状态,挺好! 来试下ChatGPT4 跳转到了登录页面 目前来看gpt4还…

时序预测 | Matlab实现CPO-LSTM【24年新算法】冠豪猪优化长短期记忆神经网络时间序列预测

时序预测 | Matlab实现CPO-LSTM【24年新算法】冠豪猪优化长短期记忆神经网络时间序列预测 目录 时序预测 | Matlab实现CPO-LSTM【24年新算法】冠豪猪优化长短期记忆神经网络时间序列预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现CPO-LSTM【24年新算法】…

【Java+Springboot】----- 通过Idea快速创建SpringBoot项目操作方法

一、第一步: 点击选择【File】->【New】-> 【Project】 最后弹出[new Project]界面。 二、第二步: 1. 选择【Spring Initializr】 2. 然后选择【Project SDK】的版本 3. 然后 Choose Initializr Service URL 选择默认(Default&#x…

OpenCV项目实战-深度学习去阴影-图像去阴影

往期热门博客项目回顾: 计算机视觉项目大集合 改进的yolo目标检测-测距测速 路径规划算法 图像去雨去雾目标检测测距项目 交通标志识别项目 yolo系列-重磅yolov9界面-最新的yolo 姿态识别-3d姿态识别 深度学习小白学习路线 //正文开始! 图…

Python+requests+Pytest+logging+allure+pymysql框架详解

一、框架目录结构 1)tools目录用来放公共方法存储,如发送接口以及读取测试数据的方法,响应断言 数据库断言 前置sql等方法;2)datas目录用例存储接口用例的测试数据,我是用excel来存储的数据,文件数据 图片数据等;3)testcases目录用来存放测试用例,一个python文件对应…

linux删除 buff/cache缓存

1.查看当前内存占用 free -h如图,缓存占用了将近9G,接下来进行清理 释放页缓存 echo 1 > /proc/sys/vm/drop_caches释放dentries和inodes echo 2 > /proc/sys/vm/drop_caches释放所有缓存 echo 3 > /proc/sys/vm/drop_caches再次查看&#…

uniapp创建opendb-city-china Schema文件后,如何导入城市的数据?

1.点击opendb-city-china后面的详情,进入到gitee代码仓库 2.下载如下图所示的data.json文件 3.将本地创建的opendb-city-china.schema.json上传到云端 4.点击导入json 如果直接将data.json导入会报错,如下图所示: 5.将data.json本来的数组对象&#…

物联网行业中,我们如何选择数据库?

在当今数字化潮流中,我们面对的不仅是海量数据,更是时间的涟漪。从生产线的传感器到金融市场的交易记录,时间序列数据成为了理解事物演变和趋势的关键。在面对这样庞大而动态的数据流时,我们需要深入了解一种强大的工具——时序数…

Flutter 开发学习笔记(3):第三方UI库的引入

文章目录 前言初始化程序Icon导入如何导入 Toast消息提示框引入简单封装简单使用 Charts图表导入新建pages文件夹存放page简单代码实现效果 总结 前言 Flutter已经发布了有10年了,生态也算比较完善了。用于安卓程序开发应该是非常的方便。我们这里就接入一些简单的…

经营数据分析怎么做?企业月度经营分析的思路与方法分享

企业经营分析是企业成功的关键之一,无论企业规模大小,都需要通过系统性的数据分析来指导经营决策。这一过程不仅仅是对集团大局数据的简单处理,还包括对市场、客户、生产、财务、运营、项目进展、人效等多个方面数据的全面审视。通过深入分析…

ubuntu-server部署hive-part4-部署hive

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本:ubuntu-server-22.04.3 虚拟机:virtualbox7.0 部署hive 下载上传 下载地址 http://archive.apache.org/dist/hive/ apache-hive-3.1.3-bin.tar.gz 以root用户上传至…

Redis缓存设计与性能优化【缓存和数据库不一致问题,解决方案:1.加过期时间这样可以一段时间后自动刷新 2.分布式的读写锁】

Redis缓存设计与性能优化 缓存与数据库双写不一致 缓存与数据库双写不一致 在大并发下,同时操作数据库与缓存会存在数据不一致性问题 1、双写不一致情况 2、读写并发不一致 解决方案: 1、对于并发几率很小的数据(如个人维度的订单数据、用户数据等)&a…

六自由度Stewart控制系统matlab仿真,带GUI界面

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 六自由度Stewart平台控制系统是一种高精度、高稳定性的运动模拟装置,广泛应用于飞行模拟、汽车驾驶模拟、虚拟现实、精密定位等领域。其工作原理基于Stewart机构&a…