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

ht4b089n  于 2023-02-17  发布在  Android
关注(0)|答案(8)|浏览(665)

在android shell中,我可以编辑一个文件吗?
为了编辑像.rc这样的文件和类似的脚本,我目前使用的是adb pull拉取,然后编辑,再推回adb push,这当然效率很低。
有没有办法我可以在android shell中编辑这些文件(就像Linux shell中的vim编辑器)
我在我的设备上有根权限。因此如果需要,我可以安装根应用程序。

bxjv4tth

bxjv4tth1#

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

adb shell
 $ cat > filename.txt

可使用以下命令向文本文件中添加行:

$ cat >> filename.txt

这两个命令都可以使用ctrl-D终止。

rfbsl7qr

rfbsl7qr2#

您可以从F-Droid商店安装BusyBox,如果您已经获得了设备的root权限,则可以使用vi编辑文件。

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

0x6upsns3#

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

yquaqz18

yquaqz184#

我还注意到默认的shell是sh,在输入bash之后,我可以使用nano

sg24os4d

sg24os4d5#

Deepak的答案(使用cat >>>)对于从头开始创建文件或追加到文件中是很好的。
要更改现有文件的一部分,sed是另一个选项,在没有vi的手机上:

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

xu3bshqb6#

虽然没有回答具体的问题,但我会说,在Play商店有一个名为Termux的应用程序,适用于无根设备。它只有200KB,支持vi

ktca8awb

ktca8awb7#

我发现在应用程序中编辑文件的最好方法是使用AndroidStudio的设备文件资源管理器。因为Shell刚刚给了我“访问被拒绝”的错误。
点击后,双击打开文件并保存到本地环境中,然后将修改后的版本上传到Android设备,只需右键点击目标文件夹并选择上传选项(如下图所示)。
我希望这能帮助到一些人:)

u5i3ibmn

u5i3ibmn8#

实际上,如果你的设备使用toybox作为它的实用程序,并且安装了sed,你知道如何使用sed,你就可以使用toybox。实际上,你不需要toybox,但你确实需要一个编辑器,我发现我的系统使用了提供sed的toybox。
我的三星甚至不支持亚行,但我的LG有我需要的。
运行adb shell,使用run-as获得正确的权限并进行编辑。

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

相关问题