我可以在 Android ADB shell 中编辑文件吗?

问题描述 投票:0回答:9

有没有办法在 android shell 中编辑文件?

为了编辑像

.rc
这样的文件和类似的脚本,我目前正在使用
adb pull
来拉动它们,然后编辑它们,然后将它们推回
adb push
。这肯定是低效的。

有没有办法可以在 android shell 中编辑这些文件(就像 Linux shell 中的 vim 编辑器)

我的设备拥有 root 权限。因此,如果有必要,我可以安装 root 应用程序。

android editor
9个回答
38
投票

您可以使用以下方法创建文本文件:

 adb shell
 $ cat > filename.txt

您可以使用以下方法向文本文件添加行:

 $ cat >> filename.txt

这两个命令都可以使用

ctrl-D
终止。


31
投票

您可以从 F-Droid 商店安装 BusyBox,如果您已 root 设备,则可以使用

vi
编辑文件。

adb shell
busybox vi /sdcard/Download/test.txt

8
投票

Deepak 的答案(使用

cat >
>>
)非常适合从头开始创建文件或附加到文件。

要更改现有文件的一部分,

sed
是另一种选择,在没有
vi
的手机上:

$ sed -i 's/old_regex/replacement/' filename.ext

6
投票

Android 版 vi 的简化版本包含在 Busybox 中。 假设您运行的是 Windows,一旦安装了 Busybox(并且您确实需要 root 权限才能执行此操作),我建议您按照 https://stackoverflow.com/a/29033010/5025060 中的说明进行操作从 Windows PC 屏幕在 Android 设备上完成全屏文本编辑。


6
投票

我还注意到默认 shell 是

sh
,输入
bash
后我可以使用
nano


2
投票

实际上您可以,如果您的设备使用 toybox 作为其实用程序并且安装了 sed 并且您知道如何使用 sed。 实际上你不需要toybox,但你确实需要一个编辑器,我发现我的系统使用提供sed的toybox。

我的三星甚至不支持 ADB,但我的 LG 有我需要的。

运行 adb shell,使用 run-as 获取正确的权限并进行编辑。

$ which toybox
/system/bin/toybox
$ which sed
/system/bin/sed

0
投票

虽然不回答具体问题,但我会说 Play 商店中有一个名为 Termux 的应用程序适用于未 root 的设备。只有200KB并且支持

vi


0
投票

我发现在应用程序内编辑文件的最佳方法是使用 AndroidStudio 的设备文件资源管理器。因为 Shell 刚刚给我带来了“拒绝访问”错误。

到达那里后,双击打开文件并将其保存在本地环境中,然后将此修改后的版本上传到 Android 设备。为此,只需右键单击目标文件夹并选择上传选项(下图)。

我希望这对某人有帮助:)

enter image description here


0
投票

如果您无法安装 busybox 并且您的手机有预安装的 toybox,请输入

adb shell $toybox vi filename
文件名是占位符

© www.soinside.com 2019 - 2024. All rights reserved.