1)切换到上级目录:cd ..
2)进入指定(xx)文件夹:cd xx
3)进入上次所在目录:cd -
4)进入主目录:cd;cd ~;
1)查看当前路径:pwd
2)显示目录下文件:ls
-l:显示文件详细信息
-a:显示所有文件,包括隐藏文件
-alh:显示全部文件大小和详细信息
-alh | more:加载更多效果
3)显示指定.xx后缀文件:ls *.xx
4)显示指定.xx后缀且指定文件名长度为2:ls ??.xx
5)显示指定.xx后缀且第二个数为1到6:ls 1[1-6]5.py
6)将目录下所有文件名保存到xx.txt中且覆盖xx.txt原内容:ls > xx.txt
7)将目录下所有文件名保存到xx.txt中,在xx.txt内容末尾追加:ls >> my.txt
8)树状显示目录下文件:tree
1)创建文件夹:mkdir
-p:parents,需要时创建上层目录,如目录早已存在则不当作错误
2)创建文件:touch
3)打开文件:gedit
4)删除空文件夹:rmdir
5)删除文件xx.xx:rm xx.xx
-r:删除文件或文件夹
-ri:交互式方式执行删除
-rf:强制删除,忽略不存在文件
1)显示文件内容:cat xx.txt
2)复制xx.txt到xxx.txt:cat xx.txt > xxx.txt
3)复制xx1.txt、xx2.txt到xx3.txt:cat xx1.txt xx2.txt > xx3.txt
1)将xx.txt文件拷贝到xx文件夹下:cp xx.txt xx/
-a:将文件夹及内容拷贝到指定文件夹
-f:目标存在直接覆盖
-i:目标存在提示是否覆盖
-v:显示拷贝进度
1)将xx.txt文件剪切到xx目录下:mv xx.txt xx
2)将xx.txt重命名为my.txt:mv xx.txt my.txt
grep [选项] “模式” [文件]
-E :开启扩展(Extend)的正则表达式。
-i :忽略大小写(ignore case)。
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
-n :显示行号
-w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有woman,而我搜寻的只是man,就可以使用-w选项来避免匹配woman
-c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。
-o :只显示被模式匹配到的字符串。
--color=auto :将匹配到的内容以颜色高亮显示。
-A n:显示匹配到的字符串所在的行及其后n行,after
-B n:显示匹配到的字符串所在的行及其前n行,before
-C n:显示匹配到的字符串所在的行及其前后各n行,context
1)在xx.txt文件中搜索以xx开头的行的内容:grep -n '^xx' xx.txt
2)在xx.txt文件中搜索以xx结尾的行的内容:grep -n 'xx$' xx.txt
3)在xx.txt文件中搜索grep\Grep\greP\GreP:grep -n '[Gg]re[Pp]' xx.txt
4)在xx.txt文件中搜索以exe(x任意字符)内容:grep -n 'e.e' xx.txt
5)查找根目录下包含"xxx_xx"内容的所有文件:grep -nriw "xxx_xx" ./
1)查找当前文件夹下xx.txt文件:find ./ -name xx.txt
2)查找当前文件夹下.txt文件:find ./ -name '*.txt'
3)查找当前文件夹下以数字开头文件:find ./ -name '[0-9]*'
4)查找当前文件夹下大小为2M的文件:find ./ -size 2M
5)查找当前文件夹下大于2M,小于4M的文件:find ./ -size +2M -size -4M
6)查找当前文件夹下权限为777的目录或文件:find ./ -perm 0777
7)查找根目录下包含"xxx_xx"内容的所有文件:find ./ -type f|xargs grep "xxx_xx"
1)将xx1.txt和xx2.txt打包成my.tar:tar -cvf my.tar xx1.txt xx2.txt
2)当前文件夹解压xx.tar:tar -xvf xx.tar
3)将xx.tar解压到my文件夹下:tar -xvf xx.tar -C ./my
1)压缩xx.xx文件:gzip -r xx.xx
2)解压缩xx.xx.gz文件:gzip -d xx.xx.gz
3)将xx1.txt和xx2.txt打包成my.tar后压缩:tar -zcvf xx.tar xx1.txt xx2.txt
1)压缩打包后文件:bzip2 xx.tar
2)打包后压缩文件:tar jcvf xx.tar.bz2 xx1.txt xx2.txt
3)解压缩:tar jxvf xx.tar.bz2
1)压缩:zip -r
2)解压:unzip -d
adb root
adb remount
adb push 本地路径 手机路径
adb root
adb remount
adb pull 手机路径 本地路径
sed -i 's,fetch="要替换的内容",fetch="替换的新内容",g' <要替换的文件>
sudo dmidecode | grep -A 9 "System Information"
sudo dmidecode -t memory
关键信息:Number Of Devices(卡槽数)、Type(型号)、Speed(频率)、Manufacturer(品牌)等。
更新目录:sudo apt-get update
更新文件:sudo apt-get upgrade
更新依赖关系:sudo apt-get dist-upgrade
一般在软件无法更新时,执行上面命令。
1)查看日历:cal
2)时间:date
3)重启:reboot
4)重启,提示其他用户:shutdown -r now
5)关机:shutdown -h now
6)定时关机:shutdown -h 20:00
7)10分钟后关机:shutdown -h +10
8)关机:init 0
9)重启:init 6
10)磁盘使用情况:df11)查找可执行文件位置:which
1)获取权限:adb root
2)获取读写权限:adb remount
3)进入shell:adb shell
4)查看日志:adb logcat
清除日志:adb logcat -c
筛选查看:adb logcat | grep "关键字"
筛选不区分大小写:adb logcat | grep -iE "关键字"
5)发送广播:adb shell am broadcast -a "自定义action" --ei "参数名(int)" 参数值
6)应用启动时间:adb shell am start -S -R 10 -W com.cx.test/.MainActivity
7)启动app:adb shell am start -n com.example.xx/com.example.xx.MainActivity
1)查看进程:ps -A筛选查看:ps -A | grep "关键字"
2)杀掉进程:kill -9 "进程pid"
3)查看日志:logcat
筛选查看:logcat | grep "关键字"
查看指定进程日志:logcat --pid "进程pid"
4)查看ip地址:ifconfig
5)查看磁盘空间:df -h
6)应用启动时间:am start -S -R 10 -W com.cx.test/.MainActivity
7)启动app:am start -n com.example.xx/com.example.xx.MainActivity
8)添加权限:chmod 777 "文件名"
9)查看分辨率:wm size
设置分辨率:wm size <宽> x <高>
恢复设置:wm size reset
10)查看屏幕密度(dpi 值):wm density
设置屏幕密度:wm density
恢复设置:wm density reset
1)minicom串口
进入串口:sudo minicom
指定USB串口:sudo minicom -D /dev/ttyUSB0
2)picocom串口
进入串口:sudo picocom
指定USB串口:sudo picocom /dev/ttyUSB2 -b 115200
3)串口切换到adb:runla
4)adb切换到串口:Ctrl + \
5)重启设备:reset
6)查看系统A/B面:# swdl_utils
切换系统A/B面:# update_util -t 0
sudo apt install adb
sudo apt install android-tools-adb
安装好adb工具之后,连接安卓设备,并开启usb调试,使用 adb devices 发现显示出来的竟然是 ?????? no permissions。
lsusb
输出
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 020: ID 2717:ff80
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 002: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
这里可以过连接/断开的方式确认设备连接 USB 的 ID,这里确认并记录下 USB 的 id 信息 0403 和 idVendor 6001。
进入 /etc/udev/rules.d/ 目录下,查看.rules文件。
ls /etc/udev/rules.d/
这里找到对应文件 70-snap.snapd.rules,文件名称可能略有不同。如果没有找到则自己创建。
sudo vim /etc/udev/rules.d/70-android.rules
sudo vim /etc/udev/rules.d/70-snap.snapd.rules
使用 vim 编辑器打开文件添加如下代码:
SUBSYSTEM==“usb”,ATTRS{idVendor}“0403”,ATTRS{idProduct}“6001”,MODE=“0666”
这里 0403 和 6001 则分别是上一步中查看到的 android 设备的 ID 信息,MODE应该是表示权限。
sudo chmod a+rx /etc/udev/rules.d/70-snap.snapd.rules
sudo service udev restart
拔掉 usb 重新连接,然后在运行如下命令,便可进行adb操作:
sudo adb kill-server
sudo adb start-server
sudo devices