Linux常用命令

最近在弄Android源码,在旧机器上装了Ubuntu系统,所以顺带学习学习Linux的常用命令。内容会边用边补充。


1、man

      man的含义是manual,手册的意思。当不清楚某个命令是怎么使用的时候,可以通过man command来进行查询,command为对应的命令名称,例如man ls。


2、find

      find命令用于找寻某个文件或者文件夹。比如

      find . -name "*.java"
      该命令用于查找当前目录下扩展名为java的所有文件。find后面的点表示当前目录,*为通配符,代表任何名称。

      find命令的格式为:find PATH OPTION [-exec COMMAND { } \;]

      具体的使用可以通过man来查询。到时候再补充。


3、grep

      grep为正则表达式比配命令,给命令用于字符串匹配。比如,要查找“Hello.java”文件中包含“Activity”字符串的所有地方,可以使用以下命令:

grep "Activity" hello.java
      grep和find的区别在于,find用于查找目录或者文件,而grep用于查找指定的字符串,并且字符串可以用正则表达式来匹配。


4、xargs

      这不是一个命令,是一个标示。代表了上一个命令的结果,并作为下一个命令的参数。Linux命令可以流水线执行,也叫做“多管道执行”,即两个命令用“|”分隔符隔开。

比如,想查找当前目录下文件名中包含“oa”的所有文件:

ls |grep "oa"
       "多管道"后面的命令,会把前面命令的输出结果作为后面命令的参数。

find . -name "*.java" | xargs grep "Activity"
          查找当前目录下所有包含“Activity”字符串的java文件。

        再举个例子,想查找当前目录下子目录名称为res下的所有.xml文件,并且列出这些xml文件中包含“status_bar_size”字符串的地方。注意,本例子的限制条件是,查找的是res目录下的xml文件,而不是所有的xml文件。

find `find . -name res` -name "*xml" | xargs grep status_bar_size
         该命令中,find命令进行了嵌套使用,内部find包含在“·”符号之中。这个符号不是单引号,而是键盘上数字键1左边对应的那个符号。内嵌的find命令用于查找名称为res的目录或文件,外部的find命令从得到额这些目录下继续查找xml文件。“多管道”后面的命令用于查找指定的字符串。


5、cat

       cat命令用于连接文件内容并在Terminal中输出文件的内容,该命令后面如果只有一个文件名称,则仅输出该文件的内容。cat参数中的文件可以是普通意义上的有存储空间的文件,也可以是Linux系统中的设备文件。比如可以查看当前目录下main.java的文件内容,使用如下命令:

cat main.java
      也可以查看设备文件:

sudo cat /dev/disk0
      

6、chmod

       在Linux系统中,文件的访问者被划分为三类,并针对这三类用户指定不同的访问权限。这三类访问者是:

       user(u),用户自身,即创建该文件的用户。

       group(g),用户所在组,即与创建在一个组里面的用户。

        other(o),其他用户。

      chmod命令就是用于设置这三类访问者对某文件的访问权限。访问权限分为读(r)权限、写(w)权限、执行(x)权限,文件类型的不同,“执行”的含义不同。可以通过ls -l命令来查看文件的访问权限,Linux系统使用10位(bit)数据表示访问的权限。

     bit 0 :使用 - 或者 d 表示,前者表示这个一个文件,后者表示这是一个目录(directory)。

     bit 1~3 :用户自身user对该文件的访问权限。

     bit 4~6:用户组group对该文件的访问权限。

     bit 7~9:其他用户other对该文件的访问权限。

     下面来看chmod命令如何修改文件的访问权限。假设有一个角门文件copy.sh,创建改文件时,默认的访问权限不包括执行(x),但要运行改脚本,用户必须拥有对该文件的执行权限,于是使用以下命令为用户添加执行选项。

chmod u+x copy.sh
      命令u+x的含义就是给user添加执行(x)的权限,用a表示三类用户,即all。
      对于某些Linux系统,比如Android手机底层的Linux,chmod命令不识别r、w、x这样的参数,而只能使用8进制数字来表示,比如

chmod 777 copy.sh
    777表示:111 111 111,即分别代表u,g,o三类用户的访问权限。


7、ps,kill

      ps用于列出当前运行的所有进程,kill用于杀死某个进程。这两个命令多用于系统调试,比如,可以先用ps列出所有进程,从输出信息中得到每个进程的id值,即pid,然后调用kill -9 pid就可以杀死制定pid的进程。具体可以查看kill的详细。


8、export

     该命令用于将某个变量值的作用域设为全局范围。比如,可以将某个路径赋值给系统环境变量PATH,然后在export PATCH,从而,其他所有程序都可以使用该路径。

    该命令还有一个巧用。有些公司为了资产管理的需求,往往会给每一台PC机进行编号、命名,比如xxxxcom_yyypart_username,这就导致打开Terminal后提示符之间的字符串太长。此时,可以使用export PS1=me的命令,PS1一般代表了当前的Terminal,等号后面的字符串则任由用户定制,它将代替那串冗长的提示符。













  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值