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文件,如果存在,则执行它,通常包括用户定义的别名和函数。 - 设置用户特定的环境变量:
添加H O M E / . l o c a l / b i n 和 HOME/.local/bin和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
版本管理工具:如pyenv、nvm
安装包:如.pkg、.dmg
源码编译安装:通过make和make install
RedHat/CentOS 平台示例
# 搜索软件包 yum search $package # 安装软件包 yum install $package # 卸载软件包 yum remove $packageUbuntu/Debian 平台示例
# 搜索软件包 apt-cache search $package # 安装软件包 apt-get install $package # 卸载软件包 apt-get remove $package开源镜像站
国内的云服务提供商提供了很多镜像站点,加速从海外下载开发工具:
- 华为:https://mirrors.huaweicloud.com/
- 阿里云:https://developer.aliyun.com/mirror/
- 网易开源镜像站:http://mirrors.163.com/
- 中科大开源镜像站:https://mirrors.ustc.edu.cn/
- 清华大学开源镜像站:https://mirrors.tuna.tsinghua.edu.cn/
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 $PATHPython 知识点
- 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 installNode.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 # 安装 OpenJDK11yum install-y java-11-openjdkCentOS Java 多版本配置
# 列出可用的 Java 版本 sudo alternatives--list # 配置默认使用的 Java 版本 sudo alternatives--config javaMaven 环境配置
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.jarAndroid 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 uiautomatorviewerSDK 构建工具
构建工具位于 build-tools/ 目录中,每个版本的构建工具都包含多种工具,例如:
ls/Users/seveniruby/Library/Android/sdk/build-tools/29.0.3/# 输出内容可能包括: aapt dx zipalign aapt2 lib etc.SDK 路径配置
配置环境变量以便在命令行中方便地使用 SDK 工具:
#====================Unix/Mac 系统(核心修改:SDK路径)====================# 第一步:把/Users/你的用户名/Library/Android/sdk 换成你实际的 SDK 安装路径 export ANDROID_SDK_ROOT=/Users/你的用户名/Library/Android/sdk # 无需修改下面这行,PATH 会自动拼接 SDK 工具路径 export PATH=$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/tools/bin:$PATH #====================Windows 系统(核心修改:SDK路径)====================#1.右键「此电脑」→「属性」→「高级系统设置」→「环境变量」 #2.系统变量中新建: # 变量名:ANDROID_SDK_ROOT # 变量值:D:\Android\Sdk (换成你实际的 SDK 安装路径,比如 C:\Users\你的用户名\AppData\Local\Android\Sdk) #3.编辑系统变量「Path」,新增以下4行: #%ANDROID_SDK_ROOT%\emulator #%ANDROID_SDK_ROOT%\platform-tools #%ANDROID_SDK_ROOT%\tools #%ANDROID_SDK_ROOT%\tools\bin #1.创建自定义名称的 AVD(核心修改:-n 后面的名称,比如 my_test_avd_29) avdmanager create avd-n'my_test_avd_29'-k 'system-images;android-29;google_apis;x86_64' #2.列出所有已创建的 AVD(无需修改,直接执行) emulator-list-avds #3.启动你自定义的 AVD(核心修改:@ 后面的名称和创建时一致) emulator @my_test_avd_29 #4.列出连接的设备(无需修改,直接执行) adb devices #5.查看设备日志(无需修改,直接执行) adb logcat #6.运行 Monkey 测试(核心修改:-p 后面的应用包名,比如替换成你要测试的 App 包名) adb shell monkey-p com.example.myapp500#7.删除你自定义的 AVD(核心修改:-n 后面的名称和创建时一致) avdmanager delete avd-n my_test_avd_29