- grep
grep "test" ./ -rn
在当前目录及其子目录中递归搜索包含 "test" 字符串的文件,并显示匹配的行号和内容,
- logcat
logcat -b all |grep test
- 查看某个进程或线程的 cpu 占用
top -d 5 -H -p 30759 |grep cae
- 文件权限解读
-rwxr-xr-x 是 Linux 或 Unix 系统中文件权限的一种表示方式。它描述了文件的所有者、所属组和其他用户对文件的访问权限
- -rwxr-xr-x 的具体含义 -:这是一个普通文件。 rwx:文件所有者有读、写、执行权限。 r-x:文件所属组有读和执行权限,但没有写权限。 r-x:其他用户有读和执行权限,但没有写权限。
-
open . 打开根目录
-
拷贝 sdcard 文件到电脑
1、不能在 shell 环境中执行 pull 命令,会报 inaccessible or not found 2、对于 pull 包含空格的文件路径,需要将需要拷贝的文件加上" "号
adb pull "/sdcard/acoustic/2024-12-24 15-38-39/original.wav" F:\document //ok
adb pull /sdcard/acoustic/2024-12-24 15-38-39/original.wav F:\document //error
- 显示某个文件夹下的文件
ls -la |grep 2024
- 从文件夹中循环查找某个字符串
grep "100006" . -r
. : 表示当前目录。`grep`会从该目录开始搜索。
-r: 递归选项(`--recursive`的简写),指示 `grep`递归搜索当前目录及其所有子目录下的文件内容。
- 查看某个文件的大小 修改日期等信息
ls -la test.txt
- 修改目录权限
chmod 777 /data/data/com.tcl.pkgName/lib/*.so
chown system:system /data/data/com.tcl.walleve/lib/*.so
将当前目录下所有以 `.so` 结尾的文件的用户和群组所有权更改为 `system`
- `chown`:命令本身,用于改变文件的用户和群组。
- `system:system`:指定新的所有者和群组。在这个例子中,文件的新所有者和群组都被设置为 `system`。冒号 `:` 之前的部分是用户(OWNER),之后的(如果有的话)是群组(GROUP)。如果群组部分省略,那么文件的群组将被设置为与用户相同的名称。
- `*.so`:这是一个通配符,表示当前目录下所有以 `.so` 结尾的文件。`.so` 文件通常是共享库文件,在 Linux 系统中,它们是动态链接库(Dynamic Link Library)。
- 重命名文件
mv是最常用的重命名命令,也可用于移动文件。
`mv oldfile.txt newfile.txt`: 将 `oldfile.txt`重命名为 `newfile.txt`:
`mv oldfile.txt dir/newfile.txt`: 移动并重命名(将文件移动到 `dir/`并改名):
- 删除指定路径文件的文件或者文件夹;
rm test.txt :删除文件 加上 -f 强制删除(可选)
rm -r <folder>: `-r`:递归删除目录及其子内容。
- 移动文件到新的目录
mv <old-folder> <new-folder>
- adb shell mkdir path/foldelname
作用:新建文件夹; adb shell chmod777 设置文件的权限; adb shell cat <folder/file> 查看文件内容;
- 在u 盘新建目录
mkdir /mnt/usb/9998-4EC0/databases
- sdcard 拷贝文件到某个应用目录下
先 cd 到 sdcard ,然后
cp -r wicket.json /data/data/com.xxx.xxx/json/
- 拷贝文件到 u 盘
cp-r databases/* /mnt/usb/9998-4EC0/databases/
sync
把 databases 目录下的所有文件拷贝到 u盘的 databases 目录,记得需要执行 sync 同步一下
cp -r /path/to/source /path/to/destination (-r 选项告诉 cp 命令递归地复制目录及其所有子目录和文件。)
- 在u 盘新建目录
mkdir /mnt/usb/9998-4EC0/databases
- sdcard 拷贝文件到某个应用目录下
先 cd 到 sdcard ,然后
cp -r wicket.json /data/data/com.xxx.xxx/json/
- 查看 top 命令
top -d 1
- 查看 带 walleve 的进程
ps -A|grep walleve
- 查看某个进程的所有日志
logcat --pid 10245
- 杀进程
top -9 pId
killall com.tcl.walleve
- 连续执行多个指令
logcat -c; killall com.tcl.walleve; logcat |grep -Ei "yunyun"
-
查找指定进程 *> ps -A |grep -Ei "xiri"
-
修改文件权限
chmod 777 *
chmod 755 *
- 查看文件权限
ls -l
- 新建文件
touch readme.txt
- 打开文件
open readme.txt 或者 open e readme.txt
- cat readme.txt
查看文件内容
- 创建一个包含文本内容的文件
echo "Hello, World!" > newfile.txt
- 用vi命令打开文件
touch .bash_profile 创建文件
- vim .bash_profile
- 输入i ,切换为insert模式
- 编辑文本
- 按「ESC」键,切换为命令行模式
- 输入 :wq 保存结果, :q! 退出(不保存)
- 使修改的文件立即生效
source readme.txt
-
cd 切换到用户主目录
-
获取md5值
md5 /system/app/SDKLongRrs.apk
linux 命令
-
拷贝文件
-
删除文件
rm test.txt
rm -f test.txt
rm -rf CMakeFiles CMakeCache.txt cmake_install.cmake Makefile main
- 删除空文件夹
rmdir foldname
- 删除非空文件夹
rm -rf foldname -r 选项表示递归地删除目录及其子目录,-f 选项表示强制删除,不进行确认提示。请注意,rm 命令删除的操作也是不可恢复的,请谨慎使用。
- 删除某个文件夹下的所有文件
rm -f *
rm -rf prefix_* //删除以某个前缀开头的所有文件和文件夹
- 终端执行 ./gradlew build -s 提示没有权限
chmod +x gradlew
再执行 ./gradlew build -s 就可以了
- 查看文件
ls -la /sdcard
- 拷贝文件
cp -r /sdcard/iflytek_asr.wav /mnt/media_rw/1FD1-8B6B/
sync
cp v1 v2 -r //将 v1 目录的所有文件拷贝到 v2 目录
cp test.txt ../ //将 test.txt 拷贝到上级目录
- 移动文件
mv walleve.apk /sdcard
mv header.h include/
- 创建目录
mkdir /sdcard/test
- 查看 top 进程
top -d 1
top: 这是命令本身,用于启动 top 工具。
-d 1: 这个选项设置 top 的刷新间隔时间为 1 秒。-d 是 "delay" 的缩写,后面的数字表示刷新间隔的秒数。在这个例子中,top 会每 1 秒刷新一次显示的信息。
可查看 pid 进程号、cpu 、内存等信息
- 查看某个进程的详细信息
top -d 1 -p 21383 -H
top: 这是命令本身,用于启动 top 工具。
-d 1: 这个选项设置 top 的刷新间隔时间为 1 秒。-d 是 "delay" 的缩写,后面的数字表示刷新间隔的秒数。在这个例子中,top 会每 1 秒刷新一次显示的信息。
-p 21383: 这个选项指定要监控的进程 ID(PID)。-p 是 "process" 的缩写,后面的数字 21383 是你要监控的进程的 PID。top 只会显示这个特定进程的信息,而不是所有进程。
-H: 这个选项告诉 top 显示指定进程的所有线程信息。-H 是 "threads" 的缩写。启用这个选项后,top 会显示该进程的每个线程的详细信息,而不是只显示进程的总体信息。
- 查看某个进程属于哪个应用
which walleve
- mount
mount -o rw,remount
- 移动文件
rm test.txt /sdcard/backup
- 修改权限
mount -o rw,remount 先 mount 再 remount
-
卸载 预装 apk
-
cd 到某个目录
cd data/data/com.tcl.walleve/lib
- 查看某个包名所在的安装目录
pm path com.iflytek.xiri