androidlinux开发环境搭建
① 如何在linux下配置AndroidStudio开发环境
1、系统环境
[android@localhost ~]$uname -a
Linux localhost.localdomain 2.6.32-71.el6.i686 #1SMP Wed Sep 1 01:26:34 EDT 2010 i686 i686 i386 GNU/Linux
[android@localhost ~]$lsb_release -a
LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 6.0 (Santiago)
Release: 6.0
Codename: Santiago
[android@localhost ~]$
2、准备软件
eclipse
android-sdk
ADT
这些软件都可以在官网上下载。
3、搭建过程
(1) 安装java
[android@localhost ~]$ rpm -qa | grep java
eclipse-mylyn-java-3.3.2-4.5.el6.i686
java-1.6.0-openjdk-devel-1.6.0.0-1.21.b17.el6.i686
java-1.6.0-openjdk-1.6.0.0-1.21.b17.el6.i686
tzdata-java-2010l-1.el6.noarch
gcc-java-4.4.4-13.el6.i686
java-1.5.0-gcj-1.5.0.0-29.1.el6.i686
subversion-javahl-1.6.11-2.el6.i686
ooobasis3.3-javafilter-3.3.0-9567.i586
libvirt-java-0.4.5-2.el6.noarch
lpg-java-compat-1.1.0-4.1.el6.noarch
libvirt-java-devel-0.4.5-2.el6.noarch
mysql-connector-java-5.1.12-2.el6.i686
ant-javamail-1.7.1-13.el6.i686
java-1.6.0-openjdk-javadoc-1.6.0.0-1.21.b17.el6.i686
java_cup-0.10k-5.el6.i686
[android@localhost ~]$
通过命令查看当前已经安装了java的相关jdk,可以进行下一步。
(2) 安装eclipse
从官网上下载的eclipse不需要按装,直接解压即可使用。如:
[android@localhost Base Env]$ ls
ADT-18.0.0.zip
android-sdk_r18-linux.tgz
Android开发环境搭建(Linux篇).doc
eclipse
eclipse-cpp-indigo-SR2-incubation-linux-gtk.tar.gz
Linux环境搭建.doc
Linux 下Android 开发环境搭建 .doc
[android@localhost Base Env]$ rm -R eclipse
[android@localhost Base Env]$ ls
ADT-18.0.0.zip
android-sdk_r18-linux.tgz
Android开发环境搭建(Linux篇).doc
eclipse-cpp-indigo-SR2-incubation-linux-gtk.tar.gz
Linux环境搭建.doc
Linux 下Android 开发环境搭建 .doc
[android@localhost Base Env]$tar -zxfeclipse-cpp-indigo-SR2-incubation-linux-gtk.tar.gz
[android@localhost Base Env]$ls
ADT-18.0.0.zip
android-sdk_r18-linux.tgz
Android开发环境搭建(Linux篇).doc
eclipse
eclipse-cpp-indigo-SR2-incubation-linux-gtk.tar.gz
Linux环境搭建.doc
Linux 下Android 开发环境搭建 .doc
[android@localhost Base Env]$cd eclipse
[android@localhost eclipse]$ls
about_files configuration eclipse.ini icon.xpm p2
about.html dropins epl-v10.html libcairo-swt.so plugins
artifacts.xml eclipse features notice.html readme
[android@localhost eclipse]$ll
总用量 540
drwxrwxr-x. 2 android android 4096 2月 17 03:06 about_files
-rw-rw-r--. 1 android android 18909 2月 8 21:55 about.html
-rw-rw-r--. 1 android android 88246 2月 17 03:06 artifacts.xml
drwxrwxr-x. 5 android android 4096 2月 17 03:06 configuration
drwxrwxr-x. 2 android android 4096 2月 17 03:06 dropins
-rwxr-xr-x. 1 android android 62814 2月 8 22:16 eclipse
-rw-rw-r--. 1 android android 407 2月 17 03:06 eclipse.ini
-rw-rw-r--. 1 android android 6 2月 8 21:36 epl-v10.html
drwxrwxr-x. 46 android android 4096 2月 17 03:06 features
-rw-rw-r--. 1 android android 9022 2月 8 21:54 icon.xpm
-rwxr-xr-x. 1 android android 266168 2月 8 21:54 libcairo-swt.so
-rw-rw-r--. 1 android android 8951 2月 8 21:36 notice.html
drwxrwxr-x. 5 android android 4096 2月 17 03:05 p2
drwxrwxr-x. 10 android android 36864 2月 17 03:06 plugins
drwxrwxr-x. 2 android android 4096 2月 17 03:06 readme
[android@localhost eclipse]$./eclipse
启动eclipse之后,eclipse会自动创建并寻找workspace文件夹,可以直接点击ok按钮即可。eclipse的启动过程如下图所示:
② 如何在linux系统里面搭建开发android环境,eclipse已经完成了安装。。。
http://developer.android.com/sdk/installing.html, 和Windows里环境搭建基本一样。
1. 安装JDK+eclipse, 设置java环境变量,这个linux下的教程很多
2. 在eclipse里安装ADT插件, http://developer.android.com/sdk/eclipse-adt.html#installing
3. 下载Android SDK, http://developer.android.com/sdk/index.html 下载linux版本
4. 通过ADT插件关联解压后的Android SDK目录
5. 关联之后,根据你的需要,也是通过ADT,下载其他platform(2.2, 2.3, 4.0,4.0.3等)。
③ Linux环境下C开发_linux搭建c语言开发环境
一:C语言嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件操作、队列、栈等。
二:Linux基础Linux操作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI,编译器GCC,调试器GDB和Make项目管理工具,ShellMakefile脚本编写等知识,嵌入式开发环境的搭建。
三:Linux系统编程重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。
四:Linux网络编程计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
五:数据结构与算法数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮旅瞎性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
六:C、QTC是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。
七:CortexA8、Linux平台开发通过基于ARMCortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nandflash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android操作系统开发流程。Android系统是基于Linux平台的开源操作系统,该平台由操作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
八:驱动开发拆颤空驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶洞租段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发操作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARMCortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
以上就是列出的关于一名合格嵌入式Linux开发工程师所必学的理论知识,其实,作为一个嵌入式开发人员,专业知识和项目经验同样重要,所以在我们的理论学习中也要有一定的项目实践,锻炼自己的项目开发能力。
④ 如何在Linux平台下编译android工程
我是在windows下做开发的,但是编译环境还是在linux上。。大体的步骤如下:
1.首先在windows环境下编写工程(eclipse下编写android工程)
2.打开linux开发环境(tcl平台:\\10.120.90.207\longc\workspace\code\project\kernel\android\JB)
3.将运行环境的脚本文件运行./evnsetup:配置android运行环境
/JB/build/
找到envsetup.sh
运行.envsetup.sh(source envsetup.h或./envsetup)
所有操作都在终端完成
4.将工程文件拷贝到指定目录下(TCL平台下的自带程序在package\TCL_Apps目录下)
5.删除一些文件
保留/res,/src,AndroidManifest.xml三个文件
创建Android.mk(makefile文件,linux下用makefile文件来集成一些命令,运行程序的指令和设置都在此处)Android.mk的编写
6.编译
进入工程文件目录
输入mm命令进行编译。
7.生成apk文件,编译完成
⑤ linux怎么搭建android开发环境
在ubuntu下搭建android开发环境,准备学习一下android开发。经过2个多小时,终于搭建成功。
1、安装JDK
首先到oracle的官网上下载linux版本的JDK(网址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u26-download-400750.html),这里选择 Linux x86 - Self Extracting Installer。直接运行安装,先把这个文件cp到你的安装目录下,然后在你的安装目录直接执行:
./jdk-6u26-linux-i586.bin
如果执行失败是因为没有执行权限,那么还需要加上执行权限:
chmod +x ./jdk-6u26-linux-i586.bin
安装程序会自动给你安装到当前目录的jdk1.6.0_26目录下。程序安装好了,接着需要设置环境变量。执行:
sudo gedit /etc/profile
执行中提示:(gedit:4849): Gtk-WARNING **: Attempting to store changes into `/root/.local这个错误,从网上搜索了一下,sudo mkdir -p /root/.local/share/ 也就是表示以超级用户(sudo命令)身份创建目录,这样解决了这个问题。
在配置文件最后加入如下部分:
export JAVA_HOME=/home/jackwong/jdk1.6.0_26
export JRE_HOME=/home/jackwong/jdk1.6.0_26/jre
export PATH=/home/jackwong/jdk1.6.0_26/bin:$PATH
export CLASSPATH=.:/home/jackwong/jdk1.6.0_26/lib:/home/jackwong/jdk1.6.0_26/jre/lib
保存,然后注销当前用户,重新登录,环境变量就生效了。
验证是否安装成功:
执行:
java -version
如果出现:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b06)
Java HotSpot(TM) Server VM (build 20.0-b11, mixed mode)
这样的信息,就说明OK了。
注意,ubuntu默认已经安装了openjdk,所以你就算不安装jdk,执行java -version也不会报错,但是报告的信息和安装了jdk是不一样的,请注意区分。
2.安装eclipse
目前官方推荐开发环境是eclipse+ADT。当然你完全可以采用其他任何一种开发环境,但是我还是选择了官方的推荐,因为一切都是免费的。下载eclipse的地址是:http://www.eclipse.org/downloads/我下载的是32bit linux :
Eclipse IDE for Java Developers。
我下载下来的文件是eclipse-java-juno-SR1-linux-gtk.tar.gz
当然首先是解压,执行命令:
tar zvxf eclipse-java-juno-SR1-linux-gtk.tar.gz
解压成功之后,就出现了一个eclipse目录。这个目录就是安装好的eclipse了,进入这个目录,执行eclipse文件,即可启动eclipse。
自己建立桌面启动快捷方式,即桌面右键创建启动器。
3.下载安装Android SDK Starter Package
Android SDK Starter Package这个只是SDK的核心基本工具,有了它,再利用它的管理工具下载其他你需要到部分。看到这个目录中有个android脚本文件了吗?执行它,就会启动Android SDK and AVD Manager,这个工具可以帮你下载其他你需要的部分,还可以创建模拟机。
下载地址是:http://developer.android.com/sdk/index.html
一般是下载最新版,我下载的:android-sdk_r21.1-linux.tgz。
接下来当然是解包了:tar zvxf android-sdk_r21.1-linux.tgz
解包完毕,就会在当前目录下出现android-sdk-linux_x86目录了。这个目录下就是sdk的基本工具了。记住这个目录,因为以后你运行工具或者设置ADT的时候,会需要这个目录的!
4.安装ADT(Android Development Tools)插件
ADT插件是google官方开发的Eclipse的一个插件,专门为Android应用开发而准备的。 启动 Eclipse, 然后选择 Help > Install New Software....。单击右上角的Add按钮,在弹出的 Add Repository 对话框中,Name一栏目填写 "ADT Plugin",在Location一栏就有两个选择,一个是填入下载网址:https://dl-ssl.google.com/android/eclipse/,这样就可以网上下载安装。第二个选择是如果我已经下载了ADT Plugin,那么就单击旁边的Archive按钮,直接找到插件所在到包即可。这里我用的是第一种方法。比如我用的就是第二种,把Developer SDK Tools前面的checkbox选上,然后单击下面的next按钮,然后就等着安装进度条完成吧,其中会出现安装软件的列表,你单击Next即可,然后会出现license,你必须选择agree才行,然后单击finish就完成了。安装完成之后,重启eclipse即可。
5.配置ADT 插件
配置的内容就是要修改在eclipse中到ADT插件的引用指向,需要指向前面安装好的Android SDK目录,还记得这个目录吗?
启动eclipse,选择Window > Preferences..
在弹出的Preferences对话框中左边选择Android标签,右边SDK location选择你当初Android SDK的目录即可。比如我到目录是:/home/AAA/android-sdk-linux_x86(AAA这里是我的用户名),然后单击apply,再单击ok即可。
在这个过程中会弹出一个对话框问你是否要参加google的满意度调查报告。你可以选择参加还是不参加。单击process按钮即可。
安装好之后,你可以常用Help > Check for Updates选项来保持ADT保持最新。
6.添加Android操作系统和部件
到目前为止,基本配置都差不多了,但是为了开发android应用,还必须添加一个android操作系统,用于模拟器模拟你的应用程序。当然还有一些其他部件需要安装。其实就是通过SDK 工具包中的Android SDK Manager来完成。当然在eclipse中可以直接启动这个程序:Window > Android SDK Manager.
当然也可以直接运行sdk目录下的tools目录下的android脚本来启动。
推荐的部件一般是:
SDK Tools,这个你安装了sdk starter package实际上已经装好了。
SDK Platform-tools,这个要装。
SDK platform,这个至少需要一个。也就是操作系统,你可以下载多个,比如2.2,3.1你可以都下载,但是至少必须一个,因为模拟器运行的时候是必须要的。所以,如果你想各种平台都模拟测试一下,那么你就需要各种版本的android都下载一个。
我下载了SDK Platform-tools和Android 2.3.3,Android 4.1,Extras几个包。
下载完成之后,Android的开发环境就搭建好了。
7.对模拟器进行设置
选择windows->Android Virtual Device Manager 点击new,具体配置如图.
完成后点击start,虚拟机运行后,可将语言调整为中文简体。
8.hello,android测试程序
启动eclipse,选择File->New->Project...,选择android下Android Application Project.
Application name:Hello,Android 这是应用程序名字,也是程序运行的时候显示在屏幕上方的文字,注意第一个字母要大写。
project name:HelloAndroid 这是项目名称,也就是包含文件的目录名称
Package Name:my.android 这个不用解释,学过java的都应该知道,这是类的包名。
其它地方默认就可以了。
然后一路next,在Activity name处设置为:Helloandroidactivity(注意要求第一个字母大写)就可以了。
完成后,在my.android下找到Helloandroidactivity.java,打开后,把里面的onCreate方法的代码更新如下:
import android.widget.TextView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android!=你好,安卓!");
setContentView(tv);
}
然后运行,等一段时间,会出现android虚拟机,并运行该程序。
⑥ 如何在Ubuntu下搭建Android NDK开发环境
1 搭建Android SDK开发环境
2 下载NDK开发包
3打开官网: 下载NDK 开发包,当前最新版本是r7b
下载解压到 ~/bin 目录下,
3 配置NDK环境参数
打开 ~/.bashrc文件:
⑦ Linux下的Android开发环境搭建问题
看样子是你的sdk版本和eclipse的adt插件不兼容
⑧ 如何搭建 android 开发环境
一.认识android的架构
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。
android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
二.搭建环境
搭建开发环境
对国内的开发者来说最痛苦的是无法去访问android开发网站。为了更好的认识世界,对程序员来说,会翻墙也是的一门技术,带你去领略墙外的世界,好了,不废话了, 国内开发者访问(androiddevtools) 上面已经有了所有你要的资源,同时可以下载到我们的主角framework
但是这样的搭建只能去阅读源代码,我们无法去更进一步去实现自己的rom,我们看到锤子的系统在早期的开放rom是自己从新实现了framework的代码,现在看起来他成功了,所以我们还要去搭建android系统的源码编译环境。
搭建源码编译环境
三.开始主题
在一开始写c程序的时候都有一个运行的入口,比如
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
//这里的main就是应用的入口
int main(int argc, const char * argv[]){
return 0;
}
在计算机网络原理中我们用socket实现一个服务器端,不断的接听客户端的访问,而且他的代码是这样实现的:
#include <winsock2.h>
#pragma comment(lib, "WS2_32.lib")
#include <stdio.h>
void main()
{
WORD wVersionRequested;//版本号
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(2, 2);//2.2版本的套接字
//加载套接字库,如果失败返回
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
return;
}
//判断高低字节是不是2,如果不是2.2的版本则退出
if (LOBYTE(wsaData.wVersion) != 2 ||
HIBYTE(wsaData.wVersion) != 2)
{
return;
}
//创建流式套接字,基于TCP(SOCK_STREAM)
SOCKET socSrv = socket(AF_INET, SOCK_STREAM, 0);
//Socket地址结构体的创建
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//转换Unsigned long型为网络字节序格
addrSrv.sin_family = AF_INET;//指定地址簇
addrSrv.sin_port = htons(6000);
//指定端口号,除sin_family参数外,其它参数都是网络字节序,因此需要转换
//将套接字绑定到一个端口号和本地地址上
bind(socSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//必须用sizeof,strlen不行
listen(socSrv, 5);
SOCKADDR_IN addrClient;//字义用来接收客户端Socket的结构体
int len = sizeof(SOCKADDR);//初始化参数,这个参数必须进行初始化,sizeof
//循环等待接受客户端发送请求
while (1)
{
//等待客户请求到来;当请求到来后,接受连接请求,
//返回一个新的对应于此次连接的套接字(accept)。
//此时程序在此发生阻塞
SOCKET sockConn = accept(socSrv, (SOCKADDR*)&addrClient, &len);
char sendBuf[100];
sprintf(sendBuf, "Welcome %s to JoyChou",
inet_ntoa(addrClient.sin_addr));//格式化输出
//用返回的套接字和客户端进行通信
send(sockConn, sendBuf, strlen(sendBuf)+1, 0);//多发送一个字节
//接收数据
char recvBuf[100];
recv(sockConn, recvBuf, 100, 0);
printf("%s\\n", recvBuf);
closesocket(sockConn);
}
}
他采用了一个while死循环去监听客户端的请求。
先上源代码
public final class ActivityThread {
public static void main(String[] args) {
SamplingProfilerIntegration.start();
CloseGuard.setEnabled(false);
Environment.initForCurrentUser();
EventLogger.setReporter(new EventLoggingReporter());
Security.addProvider(new AndroidKeyStoreProvider());
final File configDir = Environment.getUserConfigDirectory(UserHandle.myUserId());
TrustedCertificateStore.setDefaultUserDirectory(configDir);
Process.setArgV0("<pre-initialized>");
Looper.prepareMainLooper();
//从中可以看到为app开辟了一个线程进入了looper之中
ActivityThread thread = new ActivityThread();
thread.attach(false);
if (sMainThreadHandler == null) {
sMainThreadHandler = thread.getHandler();
}
AsyncTask.init();
if (false) {
Looper.myLooper().setMessageLogging(new
LogPrinter(Log.DEBUG, "ActivityThread"));
}
Looper.loop();
throw new RuntimeException("Main thread loop unexpectedly exited");
}
}
看到源码失望了,没有一个while循环啊,其实用了他方法实现
//用一个looper的机制循环监听响应
Looper.prepareMainLooper();
Looper.loop();
进一步深入代码
public static void loop() {
final Looper me = myLooper();
if (me == null) {
throw new RuntimeException("No Looper; Looper.prepare() wasn't called on this thread.");
}
final MessageQueue queue = me.mQueue;
Binder.clearCallingIdentity();
final long ident = Binder.clearCallingIdentity();
// 在这里看到了一个循环监听消息
for (;;) {
Message msg = queue.next(); // might block
if (msg == null) {
// No message indicates that the message queue is quitting.
return;
}
Printer logging = me.mLogging;
if (logging != null) {
logging.println(">>>>> Dispatching to " + msg.target + " " +
msg.callback + ": " + msg.what);
}
msg.target.dispatchMessage(msg);
if (logging != null) {
logging.println("<<<<< Finished to " + msg.target + " " + msg.callback);
}
// Make sure that ring the course of dispatching the
// identity of the thread wasn't corrupted.
final long newIdent = Binder.clearCallingIdentity();
if (ident != newIdent) {
Log.wtf(TAG, "Thread identity changed from 0x"
+ Long.toHexString(ident) + " to 0x"
+ Long.toHexString(newIdent) + " while dispatching to "
+ msg.target.getClass().getName() + " "
+ msg.callback + " what=" + msg.what);
}
msg.recycleUnchecked();
}
}
⑨ 如何在Ubuntu下配置Android开发环境
下载配置JDK 这里选择下载 Java SE 7u55,Linux 64位:jdk-7u55-linux-x64.tar.gz。 进入下载目录,将JDK包放到 /opt/Java 目录下: sudo mkdir /opt/Java sudo mv jdk-7u55-linux-x64.tar.gz /opt/Java/ 进入/opt/Java: cd /opt/Java 解压JDK到当前目录:(解压没问题后就可以把这个文件删了) sudo tar -zxvf jdk-7u55-linux-x64.tar.gz 然后是配置JAVA的环境变量,linux中配置环境变量有4个地方: /etc/environment:设置整个码吵系统的环境,与登录用户无关 /etc/profile:为系统的每个用户设答模帆置环境信息,当用户第一清雹次登录时,该文件被执行并从/etc/profile.d目录的配置文件中搜集shell的设置