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/bin
到PATH
环境变量中,以确保这些目录中的可执行文件可以直接在终端中运行。 export PATH
命令将修改后的PATH
变量导出,使其在子进程中也可用。
- 添加
这种配置使得用户可以在 .bashrc
中定义别名和函数,并在.bash_profile
中进行更多的环境设置,从而灵活地管理不同类型的 Bash 会话。
zsh 自启动文件 Startup
zsh 是另一种流行的 shell,具有更强大的功能和可定制性,以下是 zsh 的自启动文件:
- 系统级初始化文件
/etc/zprofile
- 登录用户特定初始化文件
~/.zprofile
- Shell 初始化文件
~/.zshrc
这些文件在 zsh 启动时按特定顺序读取和执行
-
系统级初始化文件
/etc/zprofile
:- 由系统管理员设置,适用于所有用户。
-
用户特定初始化文件
~/.zprofile
:- 由用户设置,适用于当前用户的登录 shell 会话。
-
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:
scoop
、winget
- CentOS/RedHat:
- 版本管理工具:如
pyenv
、nvm
- 安装包:如
.pkg
、.dmg
- 源码编译安装:通过
make
和make 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 下载地址
- java:java.com
- Oracle JDK:Oracle JDK 下载
- OpenJDK:OpenJDK
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 应用的所有工具。
下载地址
- Android Studio:推荐的开发环境,集成了 Android SDK.
- Android SDK:独立的命令行工具包。
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 环境
- 应用安装
- 环境配置