Android 用到的Linux命令

1.    进入shell

adb shell

2.    列出文件列表

 ls命令代表 (LiSt Directory Contents), 列出运行此命令的目录的内容, 无论是文件或文件夹.

root@vbox86p:/ # ls
acct
cache
charger
config
d
...

  ls -a 命令列出目录中包含以‘.’开头的隐藏文件在内的所有内容

  ls -l(等同于 ll)令用“长(详细)列表”风格列出目录的内容。

130|root@vbox86p:/ # ll
drwxr-xr-x root     root              2016-04-13 21:12 acct
drwxrwx--- system   cache             2016-04-13 21:13 cache
lrwxrwxrwx root     root              1969-12-31 19:00 charger -> /sbin/healthd
dr-x------ root     root              2016-04-13 21:12 config
lrwxrwxrwx root     root              2016-04-13 21:12 d -> /sys/kernel/debug
drwxrwx--x system   system            2016-04-13 23:13 data
-rw-r--r-- root     root          287 1969-12-31 19:00 default.prop
drwxr-xr-x root     root              2016-04-14 03:16 dev
lrwxrwxrwx root     root              2016-04-13 21:12 etc -> /system/etc
-rw-r--r-- root     root        10924 1969-12-31 19:00 file_contexts

    对应含义是:

  • 文件属性:

        -  普通文件

        d  目录文件

        b  块设备文件

        c  字符设备文件

        l  符号链(相当于win的快捷方式)

        p  管道特殊文件

  • 权限:

        共计9位,三位一组了:分别是所有者权限、用户组权限、其他组权限(世界权限)

        权限分为r(可读,权限4)、w(可写,权限2)、x(可执行,权限1)

        另外,权限组还有一些特殊的表示法.比如/usr/X11R6/bin/XFree86具有如下权限:   

[root@gucuiwen root]# ll /usr/X11R6/bin/XFree86 
 -rws--x--x 1 root root 1960262 2003-02-28 /usr/X11R6/bin/XFree86

       其中的s表示这个是网络接口程序"s"是socket的缩写.该程序在运行过程中会打开一个网络接口.

       其他UNIX类系统如FreeBSD中还有t权限,表示一个临时(temporary)文件 

       drwxrwxrwt

  • 文件拥有者

  • 文件拥有者所在的组

  • 文件大小

  • 文件最后一次修改的时间

  • 文件名

        如果是一个符号链接,那么会有一个 "->" 箭头符号,后面跟一个它指向的文件名.

3.     更改目录

     cd 命令用于更改当前所在目录

     直接执行”cd“ 默认进入”/data“目录",执行”cd .."返回父目录

root@vbox86p:/ # cd
root@vbox86p:/data # cd /system/app
root@vbox86p:/system/app # cd ..
root@vbox86p:/system #

4.    chmod命令

    改变文件的模式位,权限如上ll所示

C:\Users\wss\Desktop>adb shell
root@vbox86p:/ # cd /system/bin
root@vbox86p:/system/bin # chmod 777 softpoweroff
root@vbox86p:/system/bin #

5 .    mount -o remont ,rw   挂载目录使之可读写

    上面命令如果直接执行会报错    

    提示 /system 是只读,因此先将/system 改为可读写

root@vbox86p:/ # cd /system/bin
1|root@vbox86p:/system/bin # mount -o remount,rw /system
root@vbox86p:/system/bin #

6.    push 和 pull 命令

    pull 将机器或虚拟机上文件发送到pc

    push 将文件从pc上发送到Android设备或模拟器上

    要注意:目录要有修改权限,指定的目录要存在,否则会失败,在adb中使用 不是shell

C:\Users\wss>adb pull /sdcard/down/test.zip D:\
26 KB/s (636 bytes in 0.023s)

    提醒:我在win的cmd下使用正常 ,在AS 1.51 上报 “annot create 'D;\': No such file or directory”具体原因不清楚 ,  我觉得可能是终端平台的原因

7.    安装应用

  • adb install  将安装包发送到设备并且安装

 adb install [-lrtsdg] <file>
                               - push this package file to the device and install it
                                 (-l: forward lock application)
                                 (-r: replace existing application)
                                 (-t: allow test packages)
                                 (-s: install application on sdcard)
                                 (-d: allow version code downgrade)
                                 (-g: grant all runtime permissions)
  • pm install 安装一个单一的传统包(pm install: install a single legacy package)

C:\Users\wss>adb shell
root@vbox86p:/ # pm install [-lrtsfd] [-i PACKAGE] [PATH]
                                 (-l: forward lock application)
                                 (-r: replace existing application)
                                 (-t: allow test packages)
                                 (-s: install application on sdcard)
                                 (-f: install application on internal flash)
                                 (-d: allow version code downgrade)

    pm install 参数含义是我根据 adb install ,个人感觉应该是对的

    附上pm 命令集

1|root@vbox86p:/ # pm
usage: pm list packages [-f] [-d] [-e] [-s] [-3] [-i] [-u] [--user USER_ID] [FILTER]
       pm list permission-groups
       pm list permissions [-g] [-f] [-d] [-u] [GROUP]
       pm list instrumentation [-f] [TARGET-PACKAGE]
       pm list features
       pm list libraries
       pm list users
       pm path PACKAGE
       pm dump PACKAGE
       pm install [-lrtsfd] [-i PACKAGE] [PATH]
       pm install-create [-lrtsfdp] [-i PACKAGE] [-S BYTES]
       pm install-write [-S BYTES] SESSION_ID SPLIT_NAME [PATH]
       pm install-commit SESSION_ID
       pm install-abandon SESSION_ID
       pm uninstall [-k] [--user USER_ID] PACKAGE
       pm set-installer PACKAGE INSTALLER
       pm clear [--user USER_ID] PACKAGE
       pm enable [--user USER_ID] PACKAGE_OR_COMPONENT
       pm disable [--user USER_ID] PACKAGE_OR_COMPONENT
       pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT
       pm disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT
       pm hide [--user USER_ID] PACKAGE_OR_COMPONENT
       pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT
       pm grant PACKAGE PERMISSION
       pm revoke PACKAGE PERMISSION
       pm set-install-location [0/auto] [1/internal] [2/external]
       pm get-install-location
       pm set-permission-enforced PERMISSION [true|false]
       pm trim-caches DESIRED_FREE_SPACE
       pm create-user [--profileOf USER_ID] [--managed] USER_NAME
       pm remove-user USER_ID
       pm get-max-users

8.    创建文件

    mkdir 创建目指定名称的目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录

    

mkdir [选项] 文件地址             
      -m 权限设置 类似chmod    
      -p 创建多个目录
      -v 每次创建都显示信息
      -help 显示帮助信息并退出
      -version 显示版本信息并退出

9.    删除目录

     rm 删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除。对于链接文件,只是删除了链接,原有文件均保持不变。

rm [选项] 文件地址
    -f, --force    忽略不存在的文件,从不给出提示。    
    -i, --interactive 进行交互式删除,会提示是否删除
    -r, -R, --recursive   指示rm将参数中列出的全部目录和子目录均递归地删除。
    -v, --verbose    详细显示进行的步骤
        --help     显示此帮助信息并退出
        --version  输出版本信息并退出

   注意:rm 文件  如果没有 -r  不能删除目录

 







你可能感兴趣的:(Android 用到的Linux命令)