1.进程操作
ps用于列出当前运行的所有进程,kill用于杀死某个进程,这两个命令多用于系统调试
$ ps //列出进程
$ pid //得到每个进程id
$ kill -9 pid //杀死pid指定的进程,-9(数字9)是一个参数
2.export
export将某个变量值的作用域设为全局范围,例如:可以将某个路径赋值给系统环境变量PATH,然后再export PATH
.从而其他应用程序都可以使用该路径。
3.man
man的含义是manual,即手册。当我们不清楚某个Linux命令的作用和用法时,可以使用man cmmand
进行查询,command为具体的命令名称。eg:
$ man ls
4.find
find命令用于查找某个文件或者文件夹。
$ find . -name "*.java"
该名命用于查找当前目录下扩展名为java的所有文件。find命令后面的”点”代表当前目录,*为通配符,代表任何名称
5.grep
grep命令为正则表达式匹配命令,该命令用于字符串匹配,eg:想查找hello.java文件中包含”Activity”字符串的所有地方,可使用如下命令:
$ grep "Activity" hello.java
grep和find的区别在于.find 用于查找目录或文件,而grep用于查找指定的字符串,并且字符串可以由正则表达式描述。
6.xargs
xargs并不是一个命令,而是一个标识,代表了上一个命令的执行结果,并作为下一个命令的参数。Linux命令可以流水线执行,也叫做”多管道”执行,即两个命令用”|”分隔符隔开,eg:想查找当前目录下文件名中包含”oa”的所有文件,可使用以下命令:
$ ls |grep "oa"
该命令中ls用于列出所有文件,”多管道”后面的命令把前面命令的输出结果作为后面命令的参数,eg:想查找当前目录下所有包含”Activity”字符串的java文件。
$ find .-name *.java | xargs grep "Activity"
7.cat
cat命令用于连接文件内容并在Terminal中输出文件内容,该命令后面如果只有一个文件名称,则输出文件内容,cat参数中的文件可以是普通意义上的文件也可以是Linux系统中的设备文件,eg:可以查看当前目录下main.java的文件内容,使用如下命令:
$ cat main.java
也可以查看设备文件,eg:查看/dev/disk0的内容
$ sudo cat /dev/disk0
该命令中sudo的含义是使用管理员权限执行后续命令,因为有些命令要求有管理员权限。
8.chmod
chmod在Linux中,文件访问者被划分为三类,并针对这三类用户指定不同的访问权限:
- user(u):用户自身,即创建该文件的用户
- group(g):用户所在组,即与创建在一个组里面的用户
- other(o):其他用户
- all(a):代表三类用户所有
chmod命令就是用于设置这三类访问者对某文件的访问权限,访问权限分为读(r)权限、写(w)权限、执行(x)权限,文件类型不同,”执行”的含义也不同,可通过ls -l
命令查看文件的访问权限,Linux系统使用10位(bit)数据表示访问权限。
-rw-r--r--@ 1 keyd staff 73 Mar 9 23:23...
drwxr-xr-x 4 keyd ...
bit0:使用-
或者d
表示,文件/目录(directory)
bit1~bit3:用户自身对该文件的访问权限
bit4~bit6:用户组对该文件的访问权限
bit7~bit9:其他用户对该文件的访问权限
chmod修改文件权限
$ chmod u+x copy.sh //u+x就是给用户添加执行权限,u代表用户自己
对于某些Linux系统,比如Android手机底层的Linux。chmod命令不识别r、w、x这样的参数,而只能用8进制数字值来表示
$ chmod 777 copy.sh //给所有用户分配所有权限
777
是8进制数,对应的二进制数据为111 111 111
:分别代表u、g、o三类用户的访问权限