常用命令汇总

Android相关:

adb shell ps 得到进程号

adb shell am dumpheap 进程号  /storage/sdcard0/mem.hprof   //倒出hprof文件

adb reboot bootloader//重启进入fastboot模式

fastboot flash system system.img

make snod//产生一个新的系统映像system.img

make ramdisk//编译ramdisk

make userdateimage//编译userdata

make systeyimage//编译system

make bootimage//编译kernel

adb shell top -m 8//查看前8个CPU使用最高的进程

adb shell top -t -m 8//查看前8个CPU使用最高的线程

adb logcat -v time //输出时间信息 LOG

adb logcat -v time -b events //输出带有时间event信息 LOG

adb logcat -v time -s SurfaceFlinger//输出有时间信息并且TAG是SurfaceFlingerLOG

adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq//查看CPU频率

adb shell "echo 0 > /proc/sys/kernel/kptr_restrict sysctl" 在/proc/kallsyms输出的地址都为0时,可以导出符合表

应用打开debug模式:<application ...... android:debuggable="true">

禁止GC的方式:

VMRuntime localVMRuntime;

localVMRuntime = VMRuntime.getRuntime();

localVMRuntime.disableGcForExternalAlloc(true);

localVMRuntime.disableGcForExternalAlloc(false);

填满手机内置U盘空间

adb shell dd if=/dev/zero of=/mnt/sdcard/bigfile

adb shell getevent -lt /dev/input/eventXXX

adb shell showmap PID

adb shell showslab

adb shell procrank

native memory leak:

adb shell mv /system/lib/libc.so /system/lib/libc_original.so

adb shell mv /system/lib/libc_dubug.so /system/lib/libc.so

adb shell setprop persist.libc.debug.malloc 1

adb shell reboot

打印堆栈:

Log.d(TAG,Log.getStackTraceString(new Throwable()));

得到Client端的uid跟package name:

int uid = Binder.getCallingUid();

String as[] = ((PackageManagerService)ServiceManager.getService("package")).getPackagesForUid(uid);

if(as != null && as[0] != null)

编译内核模块:

make -C ~/src/jb_rel-M8974AAAAANLYA31050148/out/target/product/msm8974/obj/KERNEL_OBJ M=`pwd`  ARCH=arm
 CROSS_COMPILE=/opt2/oujunli/src/jb_rel-M8974AAAAANLYA31050148/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/  CFLAGS_MODULE=-fno-pic modules

adb forward tcp:8080 tcp:8080

adb shell am dumpheap 9800  /storage/sdcard0/123.hprof

adb shell "echo 1 > /sys/class/kgsl/kgsl-3d0/pwrnap"

adb shell "echo 0 > /sys/class/kgsl/kgsl-3d0/pwrnap"

adb shell "echo performance > sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor" GPU为performance

adb shell "echo ondemand > /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor"

在/system/build.prop里面添加

debug.mdpcomp.mixedmode.disable=1

debug.mdpcomp.logs=1

耗时的函数在mdss_mdp_overlay_kickoff 里面。

adb shell stop thermald

adb shell stop mpdecision

adb shell "echo 1 > /sys/devices/system/cpu/cpu0/online"

adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online"

adb shell "echo 1 > /sys/devices/system/cpu/cpu2/online"

adb shell "echo 1 > /sys/devices/system/cpu/cpu3/online"

adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor"

adb shell "echo performance > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor"

adb shell "echo performance > /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor"

adb shell "echo performance > /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor"

adb shell cat /sys/kernel/debug/tracing/available_events

adb shell cat /sys/kernel/debug/tracing/available_events | grep kgsl

mount -rw -o remount /system

adb shell "cat /sys/kernel/debug/clk/bimc_clk/rate"

find ./* -name ".svn" | xargs -exec rm -rif {}

man -k dtrace

sudo dtrace  -s py_calldist.d -c  sdk/platform-tools/systrace/systrace.py

sudo dtrace -s py_cputime.d  -c "python sdk/platform-tools/systrace/systrace.py"

find . -name "*.java" | xargs grep -rni "sdcard"  |tee  ~/logcat

adb shell am profile com.example.android start  /sdcard/example.trace

adb shell am   profile com.example.android stop

adb pull /sdcard/example.trace,再用eclipse打开

python systrace.py  --app=com.taobao.taobao gfx view am wm res dalvik hal webview  -o ojl.html

adb shell strace  -f -t -p 21627

adb shell debuggerd -b <pid>

adb shell cat /proc/<pid>/status

adb shell cat /data/system/packages.xml

In your DDMS configuration file (e.g. ~/.android/ddms.cfg on Linux), add "native=true". This enables the Native Heap tab.

Next, enable native heap allocation tracking on the device, and restart the app framework:

% adb shell setprop libc.debug.malloc 1

% adb shell stop

% adb shell start

Trace.beginSection("ContentView");

Log.d("ojl", "trace");

setContentView(R.layout.cart3);

Trace.endSection();

adb shell "tcpdump -n -s 0 -w - | nc -l -p 12345"

import android.os.Debug;

Log.d(TAG, "start method tracing");

Debug.startMethodTracing("cool", 20*1024*1024);

Log.d(TAG, "stop methond tracing");

Debug.stopMethodTracing();

Log.d("ojl", "ItemDownloader before priority = " + Process.getThreadPriority(Process.myTid()));

//Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND-4);

//Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND-10);

//Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT+1);

//Process.setThreadPriority(Process.THREAD_PRIORITY_DEFAULT

//+(Process.THREAD_PRIORITY_BACKGROUND - Process.THREAD_PRIORITY_DEFAULT)/2);

//Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND+Process.THREAD_PRIORITY_MORE_FAVORABLE);

import android.os.PowerManager;

import android.os.PowerManager.WakeLock;

private WakeLock wakeLock;

private LocationManager locationManager;

PowerManager pm = (PowerManager) getSystemService(this.POWER_SERVICE);

wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, this.getClass().getCanonicalName());

wakeLock.acquire();

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

编译gator.ko

make -C kernelpath  M=`pwd` ARCH=arm

adb forward tcp:8080 tcp:8080

adb shell setenforce 0

<7>[  855.028505] SELinux: initialized (dev gatorfs, type gatorfs), not configured for labeling

<5>[  855.029024] type=1400 audit(1406342819.348:241): avc:  denied  { mount } for  pid=2347 comm="gatord-main" name="/" dev="gatorfs" ino=13742 scontext=u:r:shell:s0 tcontext=u:object_r:unlabeled:s0 tclass=filesystem

setenforce 0

new Thread() {

public void run() {

try {

sleep(5000);

} catch (InterruptedException e) {

e.printStackTrace();

}

Log.d("myException","xxxxxxxxxxxxxxxxxx");

throw new RuntimeException("xxxxxxxxxxxxxxxxx");

}

}.start();

Linux相关:

awk ‘{print $5}‘ |awk ‘{sum += $5};END{print sum}‘ test 计算某一列的和

du -h --max-depth=1 ./ 计算文件夹及文件的大小

知道指定后缀名的文件总个数命令:

find . -name "*.cpp" | wc -l

知道一个目录下代码总行数以及单个文件行数:

find . -name "*.h" | xargs wc -l

find . -name "*.c" | xargs grep ‘^.‘ | wc -l    //不包括空白行

find <要查找的路径> -name .svn |xargs rm -rf

sudo find / -name "*opencv*" -exec rm -i {} \;

ssh [email protected]

scp [email protected]:/home/ojl/tmpfile  ./

fetch ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/9.1-RELEASE/src.txz

sudo apt-get build-dep gedit ,这样基本上你开发gtk+的库都会被安装上.

provider:

dtrace -l|grep -v "PROVIDER"|awk ‘{print $2}‘|sort -u

dtrace -l -P provider

provider:module

dtrace -ln ‘fbt:::‘ | awk ‘{ print $2":"$3 }‘ | sort -u

sudo dtrace -n ‘syscall:::entry { @[stack(), ustack()] = count(); }‘ -c ‘./ls1 .‘

sudo dtrace -Fn ‘syscall::: { }‘ -c ‘./shell1‘

rsync --delete-before -a -H -v --progress --stats /tmp src/

sudo stap -p2 -e ‘probe kernel.function("*") {}‘ 2>&1 | grep ^kernel.fun

echo `cat /proc/slabinfo|awk ‘BEGIN{sum=0}{sum=sum+$3*$4;}END{print sum/1024/1024}‘` MB

find . -name ‘*.cpp‘ -print0 | xargs -0 perl -pi -e ‘s/ALOGV/ALOGD/g‘

find . -name "*.c" -print0 | xargs -0 sed -i ‘s/ALOGV/ALOGD/g

ls |xargs realpath |tee ../basic.name

valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all  ./test-sdk

valgrind --tool=memcheck --leak-check=full --error-limit=no  --show-leak-kinds=all --dsymutil=yes  --log-file=logcat.txt --gen-suppressions=no -v ./Test

解:

jar xvf rt.jar

压:

jar cvf rt.jar rt

mvn dependency:tree

mvn eclipse:eclipse

git log -p --author="悟嗔"

adb shell "echo function > /sys/kernel/debug/tracing/current_tracer"

adb shell "echo 1846 > /sys/kernel/debug/tracing/set_ftrace_pid"

adb shell "echo 1 > /sys/kernel/debug/tracing/tracing_enabled"

adb shell cat /sys/kernel/debug/tracing/trace

adb shell "echo nop > /sys/kernel/debug/tracing/current_tracer"

adb shell "echo 0 > /sys/kernel/debug/tracing/tracing_enabled"

adb shell "echo 1 > /proc/sys/kernel/ftrace_dump_on_oops"

grep CONFIG_UPROBES /boot/config-`uname -r`

If uprobes is integrated, the output of this command is as follows:

CONFIG_UPROBES=y

If you are running a kernel prior to version 3.5, SystemTap automatically builds the uprobes module. However, you also need the utrace kernel extensions required by the SystemTap user-space probing to track various user-space events. More details about the
utrace infrastructure are available at http://sourceware.org/systemtap/wiki/utrace. To determine whether the currently running Linux kernel provides the needed utrace support, type the following at a shell prompt:

grep CONFIG_UTRACE /boot/config-`uname -r`

If the Linux kernel supports user-space probing, the command produces the following output:

CONFIG_UTRACE=y

openindiana相关:

pkg serache -pr package // 查找包

pkg install package //安装包

pkgin -y update   //更新数据

pkg -y install pacage //安装包

VIM相关:

1、删除文本中的^M

问题描述:对于换行,window下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样,将window上的文件拷到Unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。

· 使用命令:cat filename1 | tr -d "^V^M" > newfile;

· 使用命令:sed -e "s/^V^M//" filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。

· 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。

· :%s/^M$//g

如果上述方法无用,则正确的解决办法是:

· tr -d "\r" < src >dest

· tr -d "\015" dest

· strings A>B

""""""""""""""""""""""""""""""

" Tag list (ctags)

""""""""""""""""""""""""""""""

let Tlist_Ctags_Cmd = ‘/usr/bin/ctags‘

let Tlist_Show_One_File = 1

let Tlist_Exit_OnlyWindow = 1

let Tlist_Use_Right_Window = 1

"let Tlist_Use_Left_Window = 1

let Tlist_Sort_Type = ‘name‘

let Tlist_Show_Menu = 1

let Tlist_Auto_Open = 1

nmap <silent> <F8> :TlistToggle<CR><CR>

2、生成cscope和ctags

find . -name "*.c" -o -name "*.cpp" -o -name "*.h" -o -name "*.java" -o -name "*.S" > cscope.files && cscope -Rbqk -i cscope.files&&ctags -R

find . -path "./framework/*" -a -prune -o除去framework目录。

自动加载cscope文件,在.vimrc中添加:

if has("cscope")

set csprg=/usr/bin/cscope

set csto=1

set cst

set nocsverb

" add any database in current directory

if filereadable("cscope.out")

cs add cscope.out

endif

set csverb

endif

如果你是Python程序员,推荐http://t.cn/z84bJPg 。大名鼎鼎的移动支付公司 Square,最近将他们技术团队使用的 Vim 配置文件 Maximum Awesome 开源了,Vim 党们可以关注下。http://t.cn/z8UQPFW GitHub 地址:http://t.cn/z84w8ht

时间: 2024-10-22 16:30:01

常用命令汇总的相关文章

Linux 常用命令汇总

Linux 常用命令汇总 1. 显示日期与时间:date 可修改显示日期格式,如:date +%Y/%m/%d %H:%M à2016/12/25 17:05(%Y:年:%m:月:%d:日:%H:24小时制:%M:分) date –d 参数后可加:today/yesterday/tomorrow 来显示今天.昨天.明天日期 2. 显示日历:cal(默认显示本月月历) cal 2001 可显示2001年整年日历:cal 10 2001 可具体显示某月月历 3.  计算器:bc 4. Tab键:用在

GIT 版本控制常用命令汇总

[转自]:http://www.cnblogs.com/sawyerzhu/p/3578268.html GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git config user.name "Your Name Comes Here" 设置当前项目git用户名 git config --global user.name "Your

Postgres数据库常用命令汇总

1.导出查询语句的结果到文件(你必须通过psql登录后切换到数据库后执行该语句): \copy (select id,mk,bth from basic where state='0') to /tmp/test.csv  2.直接通过psql命令导出数据到文件(-f 后面跟存放sql语句的文件): psql -h 127.0.0.1 -Uusertest -d testdb -t -f tb2redis.sql >> format2redis.txt Postgres数据库常用命令汇总

【Linux】Linux 常用命令汇总

查看软件xxx安装内容:dpkg -L xxx 查找软件库中的软件:apt-cache search 正则表达式 查找软件库中的软件:aptitude search 软件包 查找文件属于哪个包:dpkg -S filename 查找文件属于哪个包:apt-file search filename 查询软件xxx依赖哪些包:apt-cache depends xxx 查询软件xxx被哪些包依赖:apt-cache rdepends xxx 增加一个光盘源:sudo apt-cdrom add 系统

linux vi(vim)常用命令汇总(转)

前言 首先解析一个vim vi是unix/linux下极为普遍的一种文本编辑器,大部分机器上都有vi的各种变种,在不同的机器上常用不同的变种软件,其中vim比较好用也用的比较广泛.vim是Vi Improved的缩写,表示更好的vi.本文就说些比较有用.比较常用的命令,若能熟练运用这些命令,那么会发现编辑文件很大帮助,尤其作为开发人员,能够快速的提高开发效率. 说明 以下的例子中 xxx表示在命令模式下输入xxx并回车 以下的例子中 :xxx表示在扩展模式下输入xxx并回车 小括号中的命令表示相

Cisco路由器配置的常用命令汇总

路由器是工作在OSI参考模型第三层--网络层的数据包转发设备.路由器通过转发数据包来实现网络互连.虽然路由器可以支持多种协议(如TCP/IP. IPX/SPX.AppleTalk等协议),但是在我国绝大多数路由器运行TCP/IP协议.路由器通常连接两个或多个由IP子网或点到点协议标识的逻辑端口,至少拥有1个物理端口.路由器根据收到数据包中的网络层地址以及路由器内部维护的路由表决定输出端口以及下一跳地址,并且重写链路层数据包头实现转发数据包.路由器通过动态维护路由表来反映当前的网络拓扑,并通过与网

Linux运维最常用命令汇总

Linux运维最常用命令汇总?线上查询及帮助命令? 命令 说明 man 查看命令帮助,命令的词典,更复杂的还有info,但不常用.(man手册) help 查看Linux内置命令的帮助,比如cd命令.查看命令帮助,命令的词典,更复杂的还有info,但不常用.(man手册)help 查看Linux内置命令的帮助,比如cd命令. ?文件和目录操作命令 命令 说明 ls 全拼list,功能是列出目录的内容及其内容属性信息. cd 全拼change directory,功能是从当前工作目录切换到指定的工

pipenv常用命令汇总

常用命令汇总 pipenv具有下列的选项: $ pipenv Usage: pipenv [OPTIONS] COMMAND [ARGS]... Options: --where 显示项目文件所在路径 --venv 显示虚拟环境实际文件所在路径 --py 显示虚拟环境Python解释器所在路径 --envs 显示虚拟环境的选项变量 --rm 删除虚拟环境 --bare 最小化输出 --completion 完整输出 --man 显示帮助页面 --three / --two 使用Python 3/

linux四剑客常用命令汇总

**四剑客常用命令汇总** 1.find find path -option [ -print ] [ -exec -ok command ] {} (find 查找路径 -type f/d -name ..... -size 1k/M -mtime/atime/ctime +-9 文件) find -type/-perm/-empty/ find /tmp -type f -name "*.tmp" -exec rm -rf '{}' \; find / -type f -name

【Ubuntu】常用命令汇总,整理ing

Ubuntu 常用命令 在Ubuntu系统使用过程中,会不断地接触到命令行操作,下面对一些常用的命令进行汇总,方便查找. 1.文件操作 1.1 文件复制拷贝 cp file_old file_copy 此命令会将路径中的 file_old 文件复制拷贝一份相同的文件,并命名为 file_copy 1.2 文件夹复制拷贝 cp -r folder_old folder_copy 此命令会将路径中的 folder_old 文件夹复制拷贝一份相同的文件夹,并命名为 folder_copy 注意:命令中