Linux基础 for Android
一、 Linux系统根目录结构
目录名 |
描 述 |
bin |
用户级二进制工具 |
boot |
Linux内核镜像文件及开机相关文件,由bootloader程序读取并装载 |
dev |
各种系统硬件设备 |
etc |
系统配置文件及其他配置文件 |
home |
用户工作目录 |
lib |
系统运行时所需的各种库文件 |
opt |
操作系统额外安装的应用程序目录 |
proc |
内核及进程所虚拟的系统文件,该目录不会占用磁盘空间,其数据都存在内存中 |
root |
管理员工作目录 |
sbin |
该目录下的二进制工具程序仅用于管理员 |
sys |
一般是驱动程序对应的虚拟系统文件 |
usr |
管理安装的、所有用户都可以访问的应用程序 |
var |
放置系统执行过程中经常变化的文件,如调试信息文件或者相关统计文件 |
二、 Linux启动过程
首先是开机,给系统供电,此时硬件电路会产生一个确定的复位时序,保证CPU是最后一个被复位的器件。正确复位之后,CPU开始执行引导程序Bootloader,用来装载内核之类的程序。
第二步是执行内核程序,内核程序初始化时执行初始化各种硬件,包括内存、显示器、网络接口、输入设备,然后建立起线程调度及内存管理所需的各种内部数据结构。
第三部就是运行Home程序,比如Windows系统的桌面。通过该程序可以方便地启动其它应用程序。
三、Android开发过程中常用Linux命令
●man
man的含义就是manual,即手册。使用格式 man command,command为具体的命令名称。
●find
find命令用于查找某个文件或者文件夹,例如:
其中.表示当前目录。
●grep
grep命令用于字符串匹配。例如,查找hello.java文件中包含“Activity”字符串的所有地方,使用如下命令。
●xargs
该命令可理解为一个标识,代表上一条命令的执行结果,并作为下一条命令的参数。Linux命令可以流水线执行,两个命令用“|”分隔符隔开。下面进行举例说明:
查找当前目录下文件名中包含“oa”的所有文件。
查找当前目录下所有包含“Activity”字符串的java文件。
该命令中,``符号是数字键1左边的符号,此处对find命令进行了嵌套使用,内嵌的find命令用于查找名称为res的目录或文件,外部的find命令从得到的这些目录下继续查找.xml文件。
●cat
cat命令用于链接文件内容并输出文件内容。cat参数中的文件可以是普通意义上的有存储空间的文件,也可以是Linux系统中的设备文件。
$sudo cat /dev/disk0
●chmod
在Linux系统中,文件的访问者被划分为三类,针对这三类用户指定不同的访问权限。
usr(u) 用户自身,即创建该文件的用户
group(g)用户所在组
other(o) 其它用户
chmod命令就是用于设置这三类访问者对某文件的访问权限。
访问权限分为读(r)、写(w)、执行(x)权限,可以通过ls –l 命令查看文件的访问权限。
Linux使用10位数据表示访问的权限。例如”drwxr-xr-x”,下面进行说明
bit0:使用-或d表示,前者表示这是一个文件,后者表示这是一个目录。
bit1-bit3:user的访问权限
bit4-bit6:group的访问权限
bit7-bit9:other的访问权限
chmod命令应用举例
即是给user添加执行(x)的权限。也可以用a来代表三类用户,如a+x等。
而对于Android手机底层的Linux,chmod命令不识别r、w、x这样的参数,而只能使用8进制数字值来表示,比如:
其中777为8进制的数,对应的二进制数据为111 111 111,分别代表了u,g,o三类用户的访问权限。
●ps,kill
ps用于列出当前运行的所有进程,kill用于杀死某个进程。这两个命令多用于系统调试。
●export
该命令用于将某个变量值的作用域设为全局范围。比如,可以将某个路径赋值给系统环境变量PATH,然后再export PATH
作者:Wayne
出处:http://www.cnblogs.com/dwayne/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,且在文章页面明显位置给出原文链接。