在android shell中,我可以编辑一个文件吗?为了编辑像.rc这样的文件和类似的脚本,我目前使用的是adb pull拉取,然后编辑,再推回adb push,这当然效率很低。有没有办法我可以在android shell中编辑这些文件(就像Linux shell中的vim编辑器)我在我的设备上有根权限。因此如果需要,我可以安装根应用程序。
.rc
adb pull
adb push
bxjv4tth1#
可以使用以下方法创建文本文件:
adb shell $ cat > filename.txt
可使用以下命令向文本文件中添加行:
$ cat >> filename.txt
这两个命令都可以使用ctrl-D终止。
ctrl-D
rfbsl7qr2#
您可以从F-Droid商店安装BusyBox,如果您已经获得了设备的root权限,则可以使用vi编辑文件。
vi
adb shell busybox vi /sdcard/Download/test.txt
0x6upsns3#
Busybox中包含了vi for Android的简化版本,假设您运行的是Windows,一旦您安装了Busybox(并且您 * 确实 * 需要root权限才能完成此操作),我建议您按照https://stackoverflow.com/a/29033010/5025060中的说明,从Windows PC屏幕在Android设备上完成全屏文本编辑。
yquaqz184#
我还注意到默认的shell是sh,在输入bash之后,我可以使用nano。
sh
bash
nano
sg24os4d5#
Deepak的答案(使用cat >或>>)对于从头开始创建文件或追加到文件中是很好的。要更改现有文件的一部分,sed是另一个选项,在没有vi的手机上:
cat >
>>
sed
$ sed -i 's/old_regex/replacement/' filename.ext
xu3bshqb6#
虽然没有回答具体的问题,但我会说,在Play商店有一个名为Termux的应用程序,适用于无根设备。它只有200KB,支持vi。
ktca8awb7#
我发现在应用程序中编辑文件的最好方法是使用AndroidStudio的设备文件资源管理器。因为Shell刚刚给了我“访问被拒绝”的错误。点击后,双击打开文件并保存到本地环境中,然后将修改后的版本上传到Android设备,只需右键点击目标文件夹并选择上传选项(如下图所示)。我希望这能帮助到一些人:)
u5i3ibmn8#
实际上,如果你的设备使用toybox作为它的实用程序,并且安装了sed,你知道如何使用sed,你就可以使用toybox。实际上,你不需要toybox,但你确实需要一个编辑器,我发现我的系统使用了提供sed的toybox。我的三星甚至不支持亚行,但我的LG有我需要的。运行adb shell,使用run-as获得正确的权限并进行编辑。
$ which toybox /system/bin/toybox $ which sed /system/bin/sed
8条答案
按热度按时间bxjv4tth1#
可以使用以下方法创建文本文件:
可使用以下命令向文本文件中添加行:
这两个命令都可以使用
ctrl-D
终止。rfbsl7qr2#
您可以从F-Droid商店安装BusyBox,如果您已经获得了设备的root权限,则可以使用
vi
编辑文件。0x6upsns3#
Busybox中包含了vi for Android的简化版本,假设您运行的是Windows,一旦您安装了Busybox(并且您 * 确实 * 需要root权限才能完成此操作),我建议您按照https://stackoverflow.com/a/29033010/5025060中的说明,从Windows PC屏幕在Android设备上完成全屏文本编辑。
yquaqz184#
我还注意到默认的shell是
sh
,在输入bash
之后,我可以使用nano
。sg24os4d5#
Deepak的答案(使用
cat >
或>>
)对于从头开始创建文件或追加到文件中是很好的。要更改现有文件的一部分,
sed
是另一个选项,在没有vi
的手机上:xu3bshqb6#
虽然没有回答具体的问题,但我会说,在Play商店有一个名为Termux的应用程序,适用于无根设备。它只有200KB,支持
vi
。ktca8awb7#
我发现在应用程序中编辑文件的最好方法是使用AndroidStudio的设备文件资源管理器。因为Shell刚刚给了我“访问被拒绝”的错误。
点击后,双击打开文件并保存到本地环境中,然后将修改后的版本上传到Android设备,只需右键点击目标文件夹并选择上传选项(如下图所示)。
我希望这能帮助到一些人:)
u5i3ibmn8#
实际上,如果你的设备使用toybox作为它的实用程序,并且安装了sed,你知道如何使用sed,你就可以使用toybox。实际上,你不需要toybox,但你确实需要一个编辑器,我发现我的系统使用了提供sed的toybox。
我的三星甚至不支持亚行,但我的LG有我需要的。
运行adb shell,使用run-as获得正确的权限并进行编辑。