写在前面
部分机型修改环境变量存在风险,可能用于被覆盖而出现大量命令无法找到的情况
可以输入这个解决
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
往期相关内容
探索Miniconda3:简单、灵活的Python环境和软件包管理利器
【Vue3-Flask-BS架构Web应用】实践笔记1-使用一个bat脚本自动化完整部署环境
半自动化使用.bat手动打包迁移python项目
文章目录
- 写在前面
- 往期相关内容
- 解决方案
- 方案一:使用绝对路径指定Anaconda中的Python
- 方案二:创建别名
- 方案三:su切root然后再次初始化conda
- 小结
- conda常用命令
- 以下是基础知识介绍
- 1. Linux基础知识
- 1.1. 操作系统和Linux概述
- 1.2. 用户权限和sudo命令
- 1.3. Shell和常用命令
- 2. Shell编程
- 2.1. 变量、条件语句和循环
- 2.2. 函数和脚本编写
- 2.3. Shell配置文件和别名
- 2.4. sh与bat的对比
- 3. 风险管理与系统维护
- 3.1. 备份和恢复数据
- 3.2. 安全原则和风险防范
- 3.3. 系统调优和性能监控
- 4. Windows对比和迁移
- 4.1. Windows和Linux系统对比
- 4.2. 迁移指南和跨平台操作
- 4.3. 常见问题解决和技巧分享
解决方案
sudo命令仍然默认使用系统中的Python 2.7而不是Anaconda环境中的Python。您可以尝试以下方法解决这个问题:
方案一:使用绝对路径指定Anaconda中的Python
- 先找路径
which python
- 尝试直接指定Anaconda环境中的Python解释器的路径来运行Python脚本,例如:
sudo /home/topeet/miniconda3/bin/python your_script.py
这将确保您在sudo下使用的是Anaconda环境中的Python。
方案二:创建别名
您还可以通过在.bashrc
文件中创建别名来简化操作。打开终端并编辑.bashrc
文件:
nano ~/.bashrc
在文件末尾添加以下行:
export PATH="/home/topeet/miniconda3/bin/python:$PATH"
alias sudo='sudo env PATH=$PATH'
保存并关闭文件,然后重新加载.bashrc
文件:
source ~/.bashrc
现在尝试再次运行 sudo python
命令,应该会使用Anaconda环境中的Python。
方案三:su切root然后再次初始化conda
conda activate
当您运行conda activate
时出现问题时,建议按照以下步骤尝试解决:
- 运行
conda init bash
命令以初始化您的 Bash shell。 - 关闭当前 shell 会话,然后重新打开一个新的 shell。
- 确保在新 shell 中运行
conda activate
命令。
小结
总结原理:
-
使用绝对路径指定Anaconda中的Python: 这种方法通过直接指定 Anaconda 环境中 Python 解释器的绝对路径,确保在 sudo 下使用的是 Anaconda 环境中的 Python 版本,绕过可能存在的环境变量问题。
-
创建别名: 通过在
.bashrc
文件中创建别名,将 Anaconda 环境中的 Python 添加到系统 PATH 中,并为 sudo 命令设置相同的环境变量,从而确保 sudo 命令也使用 Anaconda 环境中的 Python。 -
使用su切root然后再次初始化conda: 切换到 root 用户后重新初始化 conda 环境,这有助于解决可能由于权限或环境配置问题导致的
conda activate
失败的情况,通过在 root 用户下执行初始化操作来修复环境配置问题。
这些方法的核心原理在于确保在 sudo 或 root 权限下,系统能够正确使用 Anaconda 环境中的 Python 解释器,以避免因环境变量或权限问题而导致 conda activate
出错。
conda常用命令
探索Miniconda3:简单、灵活的Python环境和软件包管理利器
确保Anaconda环境已正确激活,并且环境变量设置正确。您可以执行以下命令检查当前是否在Anaconda环境中:
conda info --envs
如果Anaconda环境没有正确激活,请使用以下命令激活:
conda activate your_environment_name
然后尝试再次运行 sudo python
命令。
退环境
conda deactivate
以下是基础知识介绍
1. Linux基础知识
1.1. 操作系统和Linux概述
操作系统是计算机系统的核心软件,负责管理硬件资源、提供用户界面等功能。Linux是一种开源的Unix-like操作系统内核,与Windows等操作系统有着明显的区别。Linux广泛应用于服务器、个人电脑和嵌入式设备等领域。
1.2. 用户权限和sudo命令
在Linux系统中,用户权限分为超级用户(root)和普通用户。为了执行需要超级用户权限的操作,可以使用sudo
命令。通过/etc/sudoers
文件配置,普通用户可以以特权身份运行特定命令。
示例:
sudo apt-get install nginx
1.3. Shell和常用命令
Shell是用户与操作系统内核交互的接口,最常见的是Bash(Bourne Again SHell)。用户可以通过Shell执行各种命令,如文件操作、进程管理等。
常用命令示例:
ls
:列出目录内容cd
:切换目录mkdir
:创建新目录
示例:
ls -l
cd Documents
mkdir new_folder
以上是Linux基础知识的一部分,理解这些概念将有助于您更好地使用和理解Linux系统。接下来会继续深入探讨Shell编程、风险管理与系统维护等主题。如果您有任何问题或需要进一步解释,请随时告诉我!
2. Shell编程
2.1. 变量、条件语句和循环
在Shell编程中,变量的定义以及使用条件语句和循环可以有效地控制程序流程。
示例:
# 定义一个变量
name="Alice"# 使用条件语句
if [ "$name" == "Alice" ]; thenecho "Hello, Alice!"
fi# 使用循环
for i in {1..5}; doecho $i
done
2.2. 函数和脚本编写
通过Shell支持的函数定义,可以将代码块封装成函数以便重复调用。此外,编写Shell脚本可以批量执行一系列操作。
示例:
# 定义一个函数
say_hello() {echo "Hello, $1!"
}# 调用函数
say_hello "Bob"
2.3. Shell配置文件和别名
Shell配置文件如.bashrc
可用于设定环境变量、别名等。别名是一种方式,通过简洁的名称来表示一条长命令或一系列命令。
示例:
# 设置一个别名
alias ll='ls -la'
2.4. sh与bat的对比
【Vue3-Flask-BS架构Web应用】实践笔记1-使用一个bat脚本自动化完整部署环境
半自动化使用.bat手动打包迁移python项目
sh
是Unix/Linux系统默认的Shell解释器,而bat
则是Windows系统中的批处理脚本。它们有着不同的语法和功能特点。bat
文件通常以.bat
为扩展名,在Windows环境下运行。与sh
相比,bat
脚本更多地用于Windows系统中进行批处理操作,包括文件操作、目录操作等。需要根据具体操作系统和需求选择适合的脚本类型。
以下是一个简单的.bat
批处理脚本示例:
@echo off
echo Welcome to My Batch Script
set name=John
if "%name%"=="John" (echo Hello, John!
) else (echo Hello, Stranger!
)for /l %%i in (1, 1, 5) do (echo %%i
)
这个批处理脚本演示了变量定义、条件语句和循环的基本用法,可以在 Windows 环境下运行。
3. 风险管理与系统维护
3.1. 备份和恢复数据
数据备份是确保数据安全的重要步骤。我们可以使用rsync
工具来创建数据备份,并进行恢复操作。
示例:
# 使用rsync进行数据备份
rsync -av /source/directory /destination/directory
解释:
rsync
: 是一个强大的文件同步工具,可以用于数据备份和文件同步。-av
: 参数用于指定操作模式,-a
表示以递归模式处理文件,并保持所有文件属性,-v
表示详细模式输出。/source/directory
: 源目录,需要备份的数据所在位置。/destination/directory
: 目标目录,备份数据存放的位置。
3.2. 安全原则和风险防范
为确保系统安全,必须遵循一些关键的安全原则和采取相应的风险防范措施。这包括但不限于:
- 定期更新系统补丁,确保系统安全漏洞得到及时修复。
- 限制用户权限,避免未授权访问系统关键部分。
- 使用防火墙规则,过滤网络流量并保护系统免受恶意攻击。
3.3. 系统调优和性能监控
系统调优可以提高系统性能,常见的调优措施包括优化内存使用和调整文件系统参数。同时,通过监控工具如top
和htop
可以实时查看系统资源的使用情况。
示例:
# 使用top监控系统资源
top
解释:
top
: 是一个命令行实用程序,用于实时监视系统资源的使用情况,包括CPU、内存、进程等信息。通过top
命令可以了解系统中资源消耗较高的进程,帮助进行性能监控和调优。
4. Windows对比和迁移
4.1. Windows和Linux系统对比
Windows和Linux操作系统在设计理念和操作方式上存在显著差异:
- 注册表 vs 文本文件: Windows系统使用注册表来存储系统配置信息,而Linux通常使用文本文件(如
/etc
目录下的配置文件)进行配置。 - 图形界面 vs 命令行: Windows注重图形用户界面(GUI),而Linux更加强调命令行操作,尤其对于系统管理员和开发人员而言。
- 商业化 vs 开源性: Windows是商业操作系统,而Linux是开源的,用户可以自由获取并修改其源代码。
4.2. 迁移指南和跨平台操作
在进行Windows到Linux系统迁移时,需要考虑以下关键因素:
- 文件格式兼容性: 确保从Windows迁移到Linux时文件格式得到正确处理,例如将CRLF换行符转换为LF。
- 应用程序支持: 部分Windows专有软件可能无法直接在Linux上运行,需寻找替代方案或使用虚拟机等技术。
- 跨平台工具: 利用跨平台工具(如Git、Python)可以在不同操作系统中共享项目和数据,提高工作效率。
4.3. 常见问题解决和技巧分享
解决Windows和Linux系统问题的方法可能存在一些区别:
- 权限管理: Linux系统采用基于权限的安全模型,涉及到用户、组和文件权限;而Windows系统较为复杂,涉及ACL(访问控制列表)等概念。
- 软件安装: Linux中通常使用包管理器(如APT、YUM)安装软件,而Windows则通过安装程序或应用商店进行软件安装。
- 网络设置: 网络配置在两个系统中也有不同,了解网络设置差异有助于排查网络问题。
通过深入了解这些不同点,并学会灵活运用适当的解决方案和技巧,可以更好地管理、维护和迁移Windows和Linux系统。