我正在尝试boot.img
从 Android 图像查看文件中的内容。
我用谷歌搜索并发现这篇文章可以提取system.img
,但它不适用于boot.img
. 尝试为 执行此操作时boot.img
,它显示以下内容:
Invalid sparse file format at header magi
Failed to read sparse file
Run Code Online (Sandbox Code Playgroud)
是simg2img
仅用于提取system.img
?
boot.img
吗?boot.img
什么问题?我正在尝试读取两个特定文件,即status
和smaps_rollup
下的所有进程/proc
。所有进程目录都有dr-xr-xr-x
权限,我可以进入这些目录中的每一个。
对于所有进程,这两个文件的权限都是-r--r--r--
.
这是奇怪的行为。假设我尝试读取 PID 1 的两个文件。我可以读取status
file,但不能读取smaps_rollup
. 见下文:
$ cd /proc/1
$ ls -l status smaps_rollup
-r--r--r-- 1 root root 0 Apr 5 18:34 smaps_rollup
-r--r--r-- 1 root root 0 Mar 21 12:18 status
$ grep "Swap:" status
VmSwap: 1072 kB
$ grep "Swap:" smaps_rollup
grep: smaps_rollup: Permission denied
$ cat smaps_rollup
cat: smaps_rollup: Permission denied
Run Code Online (Sandbox Code Playgroud)
我查找了相关问题并遇到了其中的一些问题[1][2][3][4]。他们都没有同样的问题。这些其他问题的解决方案必须修复目录上缺少的可执行权限。这里的情况并非如此。
这是 proc 的挂载信息:
proc on /proc type proc …
Run Code Online (Sandbox Code Playgroud) 我有两个别名:
alias rm='python my/rm/script.py '
alias docker='sudo docker '
Run Code Online (Sandbox Code Playgroud)
问题是,当运行该语句时,$ docker rm ARGS
关键字rm
被扩展为别名,并且 docker 抱怨'python' is not a docker command.
我寻找了几个解决方案。一种解决方案是使用command
关键字。另一种是用于shopt
切换别名扩展。我无法充分利用它们。
这两个都不适合我:
alias docker='shopt -u expand_aliases; sudo docker '
alias docker='command sudo docker '
Run Code Online (Sandbox Code Playgroud)
Unalias 的工作原理:
alias docker='unalias rm; sudo docker '
Run Code Online (Sandbox Code Playgroud)
unalias 的问题是,过了一段时间,我会忘记我的 rm 别名不再存在于正在运行的 shell 环境中,无论我的 docker 命令已被执行。因此,我rm
在文件上使用时会立即删除它,而我的 python 脚本则充当安全网并将要删除的文件移动到垃圾箱中。我想避免陷入这种情况,即我错误地最终使用了 GNU rm 命令而不是我的 rm 别名,这就是我不想使用 unalias 的原因。
另一个解决方案是放弃 docker 别名。缺点是我必须sudo
为我想要执行的每个有用的 docker 命令编写关键字。这是一件苦差事,我避免使用 docker 的别名。
另一种解决方案是转义 …
我有一个目录,其中包含名为“o1.ray”到“o293.ray”的文件。我想将它们移动到另一个目录,同时将它们重命名为“o132.ray”到“o424.ray”。
我如何在终端中执行此操作?
cd directory
for i in {1...293};
do cp o$i.ray subdirectory/o$i+131.ray;
done
Run Code Online (Sandbox Code Playgroud)
我知道这是错误的,因为我得到:
error message 'cp: cannot stat 'o{1...293}.ray': No such file or directory
Run Code Online (Sandbox Code Playgroud)