Skip to content

Linux环境配置

Linux 环境配置

Linux 环境与 PATH 变量

了解和配置 Linux 环境以及 PATH 变量是每个开发者的基本技能,正确配置 PATH 变量能够使系统找到相应的可执行文件,提高开发效率。

Bash 环境

Bash 是大多数 Linux 系统默认的命令行解释器,以下是各平台的 Bash 配置方式:

  • Linux:大多数发行版自带 Bash。
  • Mac:自带 Bash,但可以通过 Homebrew 更新到最新版本。
  • Windows:可以使用 Git Bash,下载地址:https://gitforwindows.org/

Bash 自启动文件 Startup

Bash 的自启动文件用于配置环境变量、别名等。当 Bash 启动时,它会读取和执行以下文件:

  • 系统级初始化文件 /etc/profile:影响所有用户的配置。
  • 登录用户特定初始化文件 ~/.bash_profile:影响特定用户的登录会话配置。
  • Bash 初始化文件 ~/.bashrc:影响特定用户的非登录会话配置。

Bash Profile 文件

以下是一个 .bash_profile 文件的示例:

# .bash_profile

# 获取别名和函数
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# 用户特定的环境和启动程序

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH
  • 获取别名和函数:
    • 检查是否存在.bashrc文件,如果存在,则执行它,通常包括用户定义的别名和函数。
  • 设置用户特定的环境变量:
    • 添加$HOME/.local/bin$HOME/binPATH 环境变量中,以确保这些目录中的可执行文件可以直接在终端中运行。
    • export PATH 命令将修改后的 PATH 变量导出,使其在子进程中也可用。

这种配置使得用户可以在 .bashrc 中定义别名和函数,并在.bash_profile中进行更多的环境设置,从而灵活地管理不同类型的 Bash 会话。

zsh 自启动文件 Startup

zsh 是另一种流行的 shell,具有更强大的功能和可定制性,以下是 zsh 的自启动文件:

  • 系统级初始化文件 /etc/zprofile
  • 登录用户特定初始化文件 ~/.zprofile
  • Shell 初始化文件 ~/.zshrc

这些文件在 zsh 启动时按特定顺序读取和执行

  1. 系统级初始化文件 /etc/zprofile

    • 由系统管理员设置,适用于所有用户。
  2. 用户特定初始化文件 ~/.zprofile

    • 由用户设置,适用于当前用户的登录 shell 会话。
  3. Shell 初始化文件 ~/.zshrc

    • 设置交互式 shell 会话的配置,如别名、环境变量等。

这使得 zsh 能够灵活地配置系统范围和用户范围的启动行为,从而为不同的使用场景提供定制化的设置。

PATH 变量

PATH 变量是一个路径列表,用于指定系统查找可执行文件的目录。正确配置 PATH 变量可以简化命令的使用:

  • 路径列表以 : 分隔
  • 优先级高的路径应放在前面
export PATH=$HOME/bin:/usr/local/bin:$PATH

在这个示例中,$HOME/bin/usr/local/bin 被添加到 PATH 变量的最前面,因此这些目录中的可执行文件会被优先找到。

常见的 PATH 变量的问题

  • Python 版本冲突:系统可能同时安装了 Python 2 和 Python 3,通过 PATH 变量可以指定使用哪个版本。
  • 命令找不到:安装软件后,如果没有正确配置 PATH 变量,系统会找不到相应的可执行文件。
export PATH=/path/to/software/bin:$PATH

应用安装

在 Linux 系统上,可以通过多种方式安装应用程序。

  • 平台自带的包管理工具

    • CentOS/RedHat:yum
    • Ubuntu/Debian:apt-get
    • Windows:scoopwinget
  • 版本管理工具:如pyenvnvm
  • 安装包:如.pkg.dmg
  • 源码编译安装:通过makemake install

RedHat/CentOS 平台示例

# 搜索软件包
yum search $package

# 安装软件包
yum install $package

# 卸载软件包
yum remove $package

Ubuntu/Debian 平台示例

# 搜索软件包
apt-cache search $package

# 安装软件包
apt-get install $package

# 卸载软件包
apt-get remove $package

开源镜像站

国内的云服务提供商提供了很多镜像站点,加速从海外下载开发工具:

  • 华为:https://mirrors.huaweicloud.com/
  • 阿里云:https://developer.aliyun.com/mirror/

Python 环境配置

Python 是种强大的编程语言,广泛用于开发、数据科学、自动化等领域。

安装包管理工具

使用系统自带的包管理工具安装 Python

# 在 CentOS/RedHat 上安装 Python3
yum search python3
yum install -y python3

安装包方式

  • Windows:下载 .exe安装包。
  • Mac:下载.dmg.pkg安装包。
  • Linux:使用.rpm包。

安装

# 下载源码包
curl -O https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz

# 解压源码包
tar -zxvf Python-3.10.0.tgz

# 进入源码目录
cd Python-3.10.0

# 配置安装选项
./configure

# 编译源码
make

# 安装 Python
sudo make install

环境检查

# 检查 Python 版本
python -V

# 查看 Python 可执行文件的位置
which python

# 检查 PATH 变量
echo $PATH

Python 知识点

  • pip:python 的包管理工具。
  • virtualenv:创建独立的 python 环境。
  • pycharm:流行的 python 集成开发环境。

Node.js 环境配置

Node.js 是一个基于 V8 引擎的 JavaScript 运行时,用于构建高性能的网络应用。

Node.js 生态

  • Node.js:https://nodejs.org/zh-cn/
  • npm:Node 的包管理工具。
  • cnpm:国内镜像版客户端。

npm 包管理工具

使用 npm 可以方便地管理 Node.js 的包

# 全局安装包
npm install -g $package

# 卸载包
npm uninstall $package

# 安装当前目录下的 package.json 定义的所有包
npm install

Node.js 项目的编译

# 克隆 Appium 仓库
git clone https://github.com/appium/appium.git

# 进入项目目录
cd appium

# 安装项目依赖
npm install

# 编译项目
npm run build

# 启动项目
node .

Java 环境配置

Java 是一种流行的编程语言,广泛用于企业级应用开发。

Java 下载地址

CentOS Java 安装

# 搜索 JDK 包
yum search jdk

# 安装 OpenJDK 11
yum install -y java-11-openjdk

CentOS Java 多版本配置

# 列出可用的 Java 版本
sudo alternatives --list

# 配置默认使用的 Java 版本
sudo alternatives --config java

Maven 环境配置

Maven 是一个项目管理和构建自动化工具,主要用于 Java 项目。

Maven 安装

# 解压 Maven 安装包
unzip apache-maven-3.8.3-bin.zip

# 配置 PATH 变量
export PATH=/opt/apache-maven-3.8.3/bin:$PATH

# 检查 Maven 是否安装成功
which mvn

常用命令

Maven 提供了多种命令来管理和构建项目

# 清理项目
mvn clean test

# 打包并安装项目
mvn package install

# 跳过测试打包
mvn test -DskipTests

# 清理项目,运行测试并生成测试报告
mvn clean \
  org.jacoco:jacoco-maven-plugin:0.8.5:prepare-agent \
  test \
  org.jacoco:jacoco-maven-plugin:0.8.5:report \
  -Dmaven.test.failure.ignore=true \
  -Dmaven.test.skip=false

编译项目

以 Spring Boot 项目为例,展示如何编译一个 Maven 项目

# 克隆 Spring Boot 示例项目
git clone https://github.com/spring-guides/gs-spring-boot.git

# 进入项目目录
cd gs-spring-boot/complete

# 打包项目
mvn package

# 启动项目
java -Dserver.port=8888 -jar target/spring-boot-complete-0.0.1-SNAPSHOT.jar

Android SDK 环境配置

Android SDK 是 Android 应用开发所需的工具包,包含了开发、调试和构建 Android 应用的所有工具。

下载地址

SDK 维护

可以使用 Android Studio 提供的 SDK Manager 来管理 SDK 组件。

SDK 命令行工具

Android SDK 提供了多种命令行工具,可以在 SDK 安装目录的 tools/bin/ 路径下找到

ls /Users/seveniruby/Library/Android/sdk/tools/bin/
# 输出内容可能包括:
apkanalyzer     jobb            screenshot2
archquery       lint            sdkmanager
avdmanager      monkeyrunner        uiautomatorviewer

SDK 构建工具

构建工具位于 build-tools/ 目录中,每个版本的构建工具都包含多种工具,例如:

ls /Users/seveniruby/Library/Android/sdk/build-tools/29.0.3/
# 输出内容可能包括:
aapt            dx              zipalign
aapt2           lib             etc.

SDK 路径配置

配置环境变量以便在命令行中方便地使用 SDK 工具:

# Unix 系统,在 ~/.bash_profile 或 ~/.bashrc 中添加
export ANDROID_SDK_ROOT=/Users/seveniruby/Library/Android/sdk
export PATH=$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/tools/bin:$PATH

# Windows 系统,在系统属性中添加
# 创建一个新的 Android 虚拟设备 (AVD)
avdmanager create avd -n 'ceshiren.com.29' -k 'system-images;android-29;google_apis;x86_64'

# 列出所有可用的 AVD
emulator -list-avds

# 启动指定的 AVD
emulator @ceshiren.com.29

# 列出连接的设备
adb devices

# 查看设备日志
adb logcat

# 在设备上运行 Monkey 测试
adb shell monkey -p com.google.android.apps.messaging 500

# 删除指定的 AVD
avdmanager delete avd -n ceshiren.com.29

总结

  • Linux 环境与 PATH 变量
  • Bash 环境
  • PATH 环境
  • 应用安装
  • 环境配置