为什么Linux命令无法在Android上正常工作? -- adb 领域 和 linux 领域 和 shell 领域 和 command-line 领域 android 相关 的问题

Why do Linux commands not work properly on Android?


简体版||繁體版
7
vote

问题

中文
  > adb shell sh-4.1$ ls -F -F: No such file or directory   

-F 交换机在我的Ubuntu上工作正常。

为什么不在Android上工作?有没有办法使它工作?

english
> adb shell sh-4.1$ ls -F -F: No such file or directory 

-F switch works fine on my Ubuntu.

Why doesn't it work on Android? Is there a way to make it work?

           

回答列表

10
 
vote
vote
最佳答案
 

android中的大多数shell命令不是gnu版本或符合POSIX的实现,它们是来自工具箱或BusyBox,大多剥离版本。

/system/bin 中有很多命令是 /system/toolbox 的界限链接。我没有找到关于它的许多文档,只是 https://android.googlesource.com/platform/system/core/+/jb-mr1-release/toolbox/

busybox是几个常见shell命令的另一个实现,具有比默认工具箱更多的命令和特征。它也用于其他嵌入式系统,以及一些可引导的GNU / Linux CD,因此您可能已经熟悉它。因为它是开源,Google Play上有几个安装人员:只需搜索"BusyBox" 。

 

Most shell commands in Android are not GNU versions or a POSIX-compliant implementation, they are either from Toolbox or Busybox and mostly stripped down versions.

A lot of commands in /system/bin are symlinks to /system/toolbox. I haven't found much documentation about it, just the source at https://android.googlesource.com/platform/system/core/+/jb-mr1-release/toolbox/

Busybox is another implementation of several common shell commands, with more commands and features than the default Toolbox. It's used on other embedded systems too, and some bootable GNU/Linux CDs, so you may already be familiar with it. Because it's open-source, there are several installers available on Google Play: just search for "Busybox".

 
 
   
   

相关问题

1  是否可以在Android上安装“IPRUTE2”?  ( Is it possible to install iproute2 on android ) 
我试图在googleSource的页面中使用 git clone ,但它没有多大。我想从包中使用 ss 命令,但我不知道如何安装它。我的手机是手臂32位。 ...

1  如何调查内存使用量?  ( How do i investigate the memory usage ) 
我是一个micromax a74,with(rooted)Android 4.2.2。最近我面临着一些应用程序的崩溃并开始分析RAM的使用。 设置> apps>运行没有帮助: 有时我发现只有2 MB免费! 我想知道哪个应用程序正在消耗内存? 我还尝试过 top -n 1 -m 8 : 但我...

24  是否有任何命令行SSH客户端可用于rooted Android手机?  ( Are there any command line ssh clients available for rooted android phones ) 
我当然有connectbot,但我正在寻找我可以脚本的东西。 编辑:要澄清这里,我对来自终端的脚本不感兴趣。我要做的是以自动/计划方式运行SSH命令。 tasker和locale执行是Cron的等同器,我只需要的是'ssh'命令从 脚本运行 。 ...

3  如何为rooted设备安装其他终端命令的捆绑?  ( How to install bundles of additional terminal commands for rooted devices ) 
我最近扎根了HTC野火S设备并闪过Android 4.1.2 AOKP果冻豆类自定义ROM。一个好处是我现在可以使用终端。 我有点习惯于在台式机上使用终端仿真器,但从中从未在Android设备上做过。我注意到没有找到一些命令,例如: $ tree /system/bin/sh: tree: not found ...

0  如何修复“mount:'remount' - >'/ system':没有这样的文件或目录”?  ( How to fix mount remount system no such file or directory ) 
angler:/ # mount -o rw, remount /system mount: 'remount'->'/system': No such file or directory 1|angler:/ # 当我在手机中尝试在Kali Linux中: root@kali:~# mount -o ...

9  如何在SD卡上找到交换分区的路径名?  ( How to find the pathname of the swap partition on sd card ) 
作为 < / a>警告,你不应该在错误的分区上启用交换,或者您可以销毁您的手机: 在我们进一步进一步之前好的!之前的手机有一个分区布局,其中MMCBLCK0是SDCard(外部)我们的手机使用MMCB1CCK1用于外部SD。这很重要,因为如果使用应用程序,它可能会预设使用mmcblck0作为交换分区。使用此设置将导...

3  我应该在哪里安装Toybox?  ( Where should i install toybox ) 
我拥有一个rooted三星galaxy s继承4g运行股票和roid4.1.2。 如果您有Android 6.0"Marshmallow" 或更好,那么您有 toybox 。这是一包命令行工具,为有时使用终端仿真器的高级用户提供方便。不幸的是,Android 4.1.2不包括Toybox。相反,它包括一些与使用不太好...

3  手动安装Split APK  ( Install split apk manually ) 
最近我必须知道一个名为split apks的东西,并发现切片作为无效的apk文件,只有基础是。不幸的是,这意味着通常的默认包安装程序无法处理此操作,因此我必须知道另一件名为SAI的东西,一个拆分APK安装程序,能够与或没有root工作。然而,好奇,我想知道它是如何在内部工作的,并开始做一些研究。我没有走得太远,但我必...

24  是否可以从命令行激活“USB系列”Android设置?  ( Is it possible to activate the usb tethering android setting from the command ) 
我想在Bash脚本中激活"USB系列" ,因此有可能使用 adb shell 来运行命令行以更改一些Android设置? edit1 : 以下命令打开所需的设置,但不单独更改任何内容: am start -n com.android.settings/.TetherSettings 我发现的 tethe...

7  如何使用adb更改“首选网络模式”而无需重新启动?  ( How to change preferred network mode using adb without reboot ) 
我正在尝试将手机的(cm 12,股票4.2,rooted)首选的网络模式从"gsm / wcdma" (0)更改为"WCDMA仅" (2),反之亦然(可以有其他模式也是)仅使用命令行。基于这个答案我可以使用命令将相关变化与 Settings.db 进行相关变化: adb shell su settings...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有