Linux中的命令非常多,下面记录一些在开发Android中常用的Linux命令。
1 man
man的含义是manual,手册,当我们不清楚某个Linux命令的作用和用法的时候,可以使用man command 进行查询,如查询 ls :man ls.
2 find
查找某个文件或者文件夹,如查找当前文件夹中的 .sh 文件 :$ find . -name "*.sh"
3 grep
正则表达式匹配命令,该命令用来字符串匹配,比如,想查找whiledo.sh文件中出现 echo 的所有地方,可以使用如下命令:$ grep "echo" whiledo.sh
4 xargs
xargs不是一个命令,而是一个标识,代表了上一个命令的执行结果,并作为下一个命令的参数。Linux命令可以流水线执行,也叫“多管道”执行,即两个命令用“|”分开,比如,想查找当前目录下文件名中包含“sh”的所有文件,可以命令如下:$ ls | grep sh
又如查找当前目录下的firstblh文件夹下所有的.txt文件,并且这些文件出现 firstblh 字符串的地方:$ find `find . -name "firstblh"` -name "*.txt" |xargs grep "firstblh"
5 cat
cat命令用于连接文件内容,并在Terminal中输出文件内容,该命令后面如果只有一个文件名称,则输出该文件的内容,cat参数中的文件可以是普通意义上的有存储空间的文件,也可以是Linux系统中的设备文件。比如,可以查看当前目录下的 aaa.txt文件
6 sudo
获得超级管理员的执行权限。
7 chmod
设置访问者(u:用户自身,创建该文件的用户,g:用户所在组,创建在一个组里面的用户,o:其他用户)权限,设置当前目录下的bbb.txt的当前用户的操作权限:chmod u+x bb.txt
使所有访问者获得 bbb.txt 的读、写、操作 权限 $ chmod a+rwx bbb.txt (或者$ chmod 777 bbb.txt)
8 ps、kill
ps用于列出当前运行的所有进程,kill用于杀死某个进程。这两个命令多用于系统调试,比如,可以用ps列出所有进程,然后可以在输出信息中得到每个进程的id值,即pid,然后调用 kill -9 pid,就可以杀死pid对应的进程,-9是一个参数,详情可以使用man kill查看。
9 export
该命令用于将某个变量值的作用域设为全局范围。比如,可以将某个路径赋值给系统的环境变量PATH,然后再export PATH,从而,其他所有程序都可以使用该路径。
10命令别名(alias)设定功能
若要知道某个目录下的所有文件(包含隐藏文件)及所有的文件属性,必须输入ls -al这样的指令,这挺麻烦,更快的替代方法是用命令别名。例如我喜欢直接用lm这个自定义命令来取代上面的命令,也就是说,lm等于ls –al。要实现自定义命令可以使用alias,在命令行输入alias就可以知道当前的命令别名都有哪些。也可以直接输入下列命令来设定别名:
alias lm='ls -al'