Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,808,261 Members 37,795 Now Online
XDA Developers Android and Mobile Development Forum

[REF][DEV]Terminal Emulator Commands

Tip us?
 
hetunandu
Old
(Last edited by hetunandu; 14th April 2012 at 06:12 AM.)
#1  
hetunandu's Avatar
Senior Member - OP
Thanks Meter 219
Posts: 271
Join Date: May 2011
Default [REF][DEV]Terminal Emulator Commands

Always wondered what the terminal emulator app does? Dont now what commands to type? Well this thread is all about that



ALERT!!! ALERT!!
BELOW ARE THE COMMANDS AND THE PROCESSES THAT WILL HAPPEN BY TYPING THE COMMANDS!!!

IF YOU DO NOT UNDERSTAND SOMETHING PLEASE SO NOT TRY IT.. IT IS RISKY AND WILL POTENTIALLY HARM YOUR DEVICE!!

DO NOT BLAME ME THEN!!

THIS IS A REFERENCE AND DEV THREAD. NOOBS SHOULD NOT LINGER AROUND HERE



The Android Shell
A "shell" is a program that listens to keyboard input from a user and performs actions as directed by the user. Android devices come with a simple shell program. This shell program is mostly undocumented. Since many people are curious about it I thought I'd write up some documentation for it.

Quote:
Currently this documentation is incomplete, sorry!
Common problems
Quote:
The built-in shell has very limited error handling. When you type a command name incorrectly it will say "permission denied", even though the real problem is that it couldn't find the command:
Code:
$ dir
dir: permission denied  <---- this is a misleading error message, should say 'dir: not found'
$ ls
... listing of current directory
The PATH variable

The Android shell will run any program it finds in its PATH. The PATH is a list of directories. You can find out what your shell's PATH is set to by using the built-in echo command:

Code:
$ echo $PATH
/data/local/bin:/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
Depending upon your shell, you may see a different result.

Built in Commands
Every shell has a few built-in commands. Some common built-in commands are:
  • echo -- prints text to stdout.
  • set -- sets shell variables
  • export -- makes shell variables available to command-line programs
  • cd -- change the current directory.
  • pwd -- print name of the current directory.

Commands

Quote:
To find out what commands you have available to you, use the "ls" command on each of the directories in the PATH variable.
Finding documentation for the Android commands.

Many of the Android commands are based on standard Linux (or bsd) commands. If you're curious about a command, you can sometimes learn how it works by using the "man" command on a desktop Linux or OSX (Apple Macintosh) computer. The Linux or OSX version of the command may be different in details, but much of the documentation will still apply to the Android version of the command.

Another source of documentation for people without a Linux or OSX machine handy is to use a web browser and use a web search engine to search for the text: "man Linux command-name".

List of commands

The following is a list of the commands that are present on a Nexus S phone running an Android 2.3.3 "user-debug" build. Many of these commands are not present on a "user" phone. (They are missing from a "user" phone because they are specific to developing or debugging the Android operating system.)

Code:
$ ls /data/local/bin
/data/local/bin: No such file or directory
Notice that by default there is no /data/local/bin directory. You can create this directory using the "mkdir" command if you like.

Code:
$ ls /sbin
opendir failed, Permission denied
The /sbin directory exists, but you don't have permission to access it. You need root access. If you have a developer phone, or otherwise have root access to your phone you can see what's in this directory.

Code:
$ su
# ls /sbin
ueventd
adbd
# exit
$
Quote:
Notice that the shell prompt changes from a '$' to a '#' to indicate that you have root access.
Notice also that neither of the /sbin commands are useful to the shell -- the adb and ueventd files are 'daemon' programs used to implement the Android Debugger "adb" program that is used by developers.

Code:
$ ls /vendor/bin
gpsd
pvrsrvinit
Vendor/bin is where device vendors can put device-specific executables. These files are from a Nexus S.

Code:
$ ls /system/sbin
/system/sbin: No such file or directory
This directory does not exist on a Nexus S.

Code:
$ ls /system/bin
am
Quote:
am is the Android Activity Manager. It's used to start and stop Android activities (e.g. applications) from the command line. Type am by itself to get a list of options.
Code:
amix
aplay
Command line audio file player.

Code:
app_process
applypatch
Used to apply patches to android files.

Code:
arec
Command line audio recorder.

Code:
audioloop
bluetoothd
BlueTooth daemon

Code:
bmgr
Backup manager - type command by itself to get documentation.

Code:
bootanimation
Draws the boot animation. You may have to reset your phone to get out of this.

Code:
brcm_patchram_plus
bugreport
cat
Copy the contents of a file to standard output.

Code:
chmod
Change the mode of a file (e.g. whether it can be read or written.)

Code:
chown
Change the owner of a file.

Code:
cmp
Compare two files byte-by-byte

Code:
dalvikvm
The dalvik virtual machine. (Used to run Android applications.)

Code:
date
Prints the current date and time

Code:
dbus-daemon
dd
Convert and copy a file. By default copies standard in to standard out.

Code:
debuggerd
dexopt
df
Shows how much space is free on different file systems on your device.

Code:
dhcpcd
dmesg
dnsmasq
dumpstate
dumpsys
dvz
fsck_msdos
gdbserver
getevent
getprop
gzip
hciattach
hd
id
ifconfig
iftop
ime
input
insmod
installd
ioctl
ionice
iptables
keystore
keystore_cli
kill
Send signals to processes.

Code:
linker
ln
Used to set up a file system link.

Code:
log
logcat
Prints the Android runtime log.

Code:
logwrapper
ls
Lists files.

Code:
lsmod
lsof
make_ext4fs
mediaserver
mkdir
Make a directory.

Code:
monkey
A program that sends random events, used to test applications. (Like having a monkey playing with the device.)

Code:
mount
mtpd
mv
Move a file from one directory to another. (Only on the same file system. Use "cat a > b" to copy a file between file systems.

Code:
nandread
ndc
netcfg
netd
netstat
newfs_msdos
notify
omx_tests
pand
ping
pm
pppd
printenv
ps
List active processes.

Code:
qemu-props
qemud
racoon
radiooptions
reboot
Reboot the device.

Code:
record
renice
rild
rm
Remove a file.

Code:
rmdir
Remove a directory.

Code:
rmmod
route
rtp_test
run-as
schedtest
schedtop
sdcard
sdptool
sendevent
service
servicemanager
setconsole
setprop
setup_fs
sh
showlease
sleep
smd
stagefright
start
Starts the Android runtime.

Code:
stop
Stops the Android runtime.

Code:
surfaceflinger
svc
sync
system_server
tc
testid3
toolbox
top
Shows which processes are currently using the most CPU time.

Code:
umount
uptime
Prints how long your device has been running since it was last booted.

Code:
vdc
vmstat
vold
watchprops
wipe
wpa_cli
wpa_supplicant

$ ls /system/xbin
add-property-tag
btool
check-lost+found
dexdump
dhdutil
hcidump
latencytop
librank
opcontrol
oprofiled
procmem
procrank
rawbu
scp
Secure copy program. (Used to copy files over the network.)

Code:
showmap
showslab
sqlite3
Used to administer SQLite databases.

Code:
strace
System trace command - use to see what system calls a program makes.

Code:
su
Start a shell with root privileges.

Versions of the Android Shell
Android 1.0 used a shell that had no tab completion or history editing.
Android 2.3 added history editing. You can for example use the up/down arrows to edit previous commands.

Other shells
Busybox
Busybox is a program that contains a shell and a set of command line utilities. Search Android Market for "Busybox" and you should find some versions you can install. The Busybox shell includes tab completion and history editing. Some versions of Busybox for Android do not require that you root your phone.

Debian utilities
You can install the full Debian shell and utilities. (Debian is a popular desktop Linux distribution.) I don't know the details, and it may require a "rooted" phone. Try a web search for "Debian Android install".

Custom ROMs
Some custom ROMs come with their own shells and utilities. If you are using a custom ROM, check its documentation to find out what's available.


Owner of a :Samsung Galaxy nexus
Previous : Xperia X8
Previous : Samsung Corby
Previous : Nokia 6600

Looking for WORLD CLASS WEBHOSTING?? Click Here! I recommend it


PRESSTHANKS IF U FELT I HELPED
The Following 33 Users Say Thank You to hetunandu For This Useful Post: [ Click to Expand ]
 
scandiun
Old
#2  
scandiun's Avatar
Senior Member
Thanks Meter 760
Posts: 1,291
Join Date: Jul 2010
How can I view stdout outputs in terminal emulator window?
For example with dd command, not specifying output should display it at current terminal, like in linux, but actually doesn't. Any ideas?
 
fotak-x
Old
#3  
fotak-x's Avatar
Recognized Contributor
Thanks Meter 732
Posts: 3,295
Join Date: May 2012
Location: Varaždin /dev/null

 
DONATE TO ME
Hey wanna troll someone's phone
Type in terminal "stop" lololol

Sent from my E15i using xda premium
My work on XDA


 
wilbso
Old
#4  
wilbso's Avatar
Senior Member
Thanks Meter 243
Posts: 1,369
Join Date: Aug 2011
Location: The Internet

 
DONATE TO ME
Similar to linux terminal commands I use

Nice work though, great guide, thanks dude

W!LßSO @ XDA
Nice to be back.
 
RoberGalarga
Old
#5  
RoberGalarga's Avatar
Senior Member
Thanks Meter 260
Posts: 730
Join Date: Dec 2011
Location: In front of my laptop :D
Great guide, but you have forgot a very useful command: grep
It allows to apply filters to the output of the commands. The syntax is:
Code:
command | grep filter
For example, to list only the apk files inside a folder:
Code:
ls /folder/to/list | grep .apk
The Following 3 Users Say Thank You to RoberGalarga For This Useful Post: [ Click to Expand ]
 
SpyderX
Old
(Last edited by SpyderX; 13th June 2012 at 02:25 PM.)
#6  
SpyderX's Avatar
Senior Member
Thanks Meter 839
Posts: 924
Join Date: Mar 2011
Location: Singapore
Great guide!

IMO dmesg is also important. Maybe you should add in a description for it?

Dmesg --> prints the Linux kernel output, which is different from the Android system output, logcat. Useful for checking hardware and to see if modules started up succesfully. Also useful for debugging in conjunction with logcat.
Code:
cat /proc/kmsg > /sdcard/dmesg.txt
Copies the dmesg output to a file fled dmesg.txt on the sdcard

And
Code:
cat /dev/log/system > /sdcard/logcat.txt
Copies the logcat output to a file named logcat.txt on your sdcard.


Also, you missed out the parted and e2fsck commands, used for partitioning and checking filesystem integrity.

Also, the command free (display free ram/swap) is not included.


Sent from my E15i using Tapatalk 2

Think-Search-Discuss, not the other way around. Hit the Thanks button if I helped you. My PM is not personal prioritised support/help.



Don't be a:
Spammer/troll/whiner:
And please:
Or else this will happen to you:

My work and device:

Xperia X8 running GingerDX + Alfs kernel
How to behave on XDA: http://forum.xda-developers.com/show....php?t=1736078
Bootloader unlock guide for MSM7227 SEMC devices: http://forum.xda-developers.com/show....php?t=1254225
List of great apps: http://forum.xda-developers.com/show....php?t=1697127
Dev-Host link: d-h.st/users/SpyderX
With more to come...
The Following User Says Thank You to SpyderX For This Useful Post: [ Click to Expand ]
 
dspPunk
Old
#7  
dspPunk's Avatar
Member
Thanks Meter 6
Posts: 76
Join Date: Apr 2012
Is there a command for check disk utility as in windows.. chkdsk...

my memory card is not working hence thought of running the check disk if possible...
SGS-II
- JB XXMS1 NeatRomLite
 
scandiun
Old
#8  
scandiun's Avatar
Senior Member
Thanks Meter 760
Posts: 1,291
Join Date: Jul 2010
Quote:
Originally Posted by dspPunk View Post
Is there a command for check disk utility as in windows.. chkdsk...

my memory card is not working hence thought of running the check disk if possible...
Code:
su
fsck_msdos /dev/block/yourdevice
For ext4 there's e2fsck
 
dspPunk
Old
#9  
dspPunk's Avatar
Member
Thanks Meter 6
Posts: 76
Join Date: Apr 2012
Quote:
Originally Posted by scandiun View Post
Code:
su
fsck_msdos /dev/block/yourdevice
For ext4 there's e2fsck
Dint get it... Sorry i am a so not into commands...

Kindly tell me the step wise solution... How can i see my device [yourdevice] which you have specified...
SGS-II
- JB XXMS1 NeatRomLite
 
scandiun
Old
#10  
scandiun's Avatar
Senior Member
Thanks Meter 760
Posts: 1,291
Join Date: Jul 2010
Quote:
Originally Posted by dspPunk View Post
Dint get it... Sorry i am a so not into commands...

Kindly tell me the step wise solution... How can i see my device [yourdevice] which you have specified...
I don't have a Xperia X8 actually, does it support mass storage mode for internal sdcard?

http://www.jayceooi.com/2012/03/14/h...ung-galaxy-s2/

Tags
terminal emulator
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes