【【【常用的ubuntu第三方工具及android命令(自存档)】】】

30 篇文章 0 订阅
10 篇文章 0 订阅

top

watch -n1 "date"


watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了

1.命令格式:

watch[参数][命令]

2.命令功能:

可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令

3.命令参数:

-n或--interval  watch缺省每2秒运行一下程序可以用-n或-interval来指定间隔的时间

-d或--differences  用-d或--differences 选项watch 会高亮显示变化的区域 而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来

-t 或-no-title  会关闭watch命令在顶部的时间间隔,命令当前时间的输出

  -h, --help 查看帮助文档

4.使用实例:

实例1:

命令:每隔一秒高亮显示网络链接数的变化情况

watch -n 1 -d netstat -ant
说明:

其它操作:
切换终端: Ctrl+x
退出watch:Ctrl+g

实例2:每隔一秒高亮显示http链接数的变化情况

命令:

watch -n 1 -d 'pstree|grep http'

说明:

每隔一秒高亮显示http链接数的变化情况。 后面接的命令若带有管道符,需要加''将命令区域归整。

实例3:实时查看模拟攻击客户机建立起来的连接数

命令:

watch 'netstat -an | grep:21 | \ grep<模拟攻击客户机的IP>| wc -l' 

说明:

实例4:监测当前目录中 scf' 的文件的变化

命令:

watch -d 'ls -l|grep scf' 

实例5:10秒一次输出系统的平均负载

命令:

watch -n 10 'cat /proc/loadavg'



1、ubuntu远程工具(xdrp xmanager xshell putty)前2个是可视化的,后2个是命令行


java -jar 与javaw -jar的运行区别:

跟java命令相对的,运行java命令时,会出现并保持一个console窗口, 程序中的信息可以通过System.out在console内输出,而运行javaw,
开始时会出现console,当主程序调用之后,console就会消失; javaw 大多用来运行GUI程序
在linux中发现 只要加一个 java -jar **.jar &后即使关闭shell也没有影响后台还在运行,但是在windows上就不行了,必须javaw运行才可以
 
D:\test_jar>javaw -jar crackpasswd.jar 2>err.log(输出重定向将ERR输出到err.log上,如果是 java -jar **.jar >1.txt 2>&1这样就可以将正常的OUT以及ERR都定位到1.txt上)
 
 改进:在 linux远程命令行任务,nohup java -jar **.jar>1.txt2>&1 是最为推荐的后台操作方式。

 

安装包:

sudo apt-get install nautilus-open-terminal 文件夹菜单中增加快捷命令行

sudo apt-get install meld 比较工具

sudo apt-get install shutter 截图工具

sudo apt-get install wine 该工具据说可以运行EXE,还未测试使用

sudo apt-get install wireshark 是个很好用的抓包工具,物理网口和localhost回环的包都可以进行抓取(windows版本的wireshark不可以抓取localhost回环很遗憾)

 

4*((size+3)/4) 四字节对齐

linux etc/rc.local中是启动脚本

cometed bayeux是push服务器开源的比较好的一种

命令

1、netstat -lnp|grep :80,看看哪一个进程占用了80的端口,然后使用“kill -9 进程号”杀掉该进程;

2、ps -aux | grep ***,***代表进程名字,该命令可以查看 是否有该进程;(有的时候要用-A参数)

3、通常修改linux hosts(/etc/hosts)文件的时候是不需要重启服务的,如果不放心可以使用sudo /etc/init.d/networking restart重启进程服务;

4、如果知道服务名字,可以使用sudo /etc/init.d/*** restart/stop/start ,来进行重启、停止、开启,如常用的apache2\xrdp\networking等等;

(更新ubuntu 12.04以后建议使用 service *** start/stop等等了)

5、ifconfig eth0 查看第一块网卡的IP信息;

6、通常通过包压缩包安装文件,需要先解压缩,然后将文件夹放入 /usr/lib中,然后使用ln命令快捷连接到/usr/bin中

以firefox的安装为例:

先cd /usr/bin

如果之前有老版本的firefox则执行rm -rf  firefox

紧接着sudo ln -s /usr/lib/firefox-16.0a1/firefox firefox安装完毕,可以直接在控制台中firefox命令启动浏览器;

7、cd ~返回根目录,cd -返回上一次cd 之前的目录

8、写bash脚本文件的时候记得要加上x执行权限(echo -e "zte\nzte" 这样的写法是可以识别换行的)

9、echo "" > txt 与>>一个是覆盖还有一个是追加

10、find ./data -type f -printf "/data/%P\n" >> v1_sys_attr.txt 罗列出当前data文件夹下面的所有文件,注意不同的参数表示不同的意思 -type d 表示文件夹-type l表示是链接文件

 11、修改ubuntu上的GCC版本,安装gcc4.4和g++4.4

sudo apt-get install gcc-4.4
sudo apt-get isntall g++-4.4

  • 修改默认gcc和g++为4.4的版本
sudo update-alternatives --remove-all gcc

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 40
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 40

  • 配置默认的gcc和g++
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
 
12、查看cpu个数
查看当前的CPU情况:
cat /proc/cpuinfo
或者直接显示逻辑CPU的个数:
cat /proc/cpuinfo |grep "processor"|wc -l
 
13、查看某一端口,哪个进程占用
ps -ef|grep 8009查看端口
 
14、cat /proc/version 查看linux版本
 
15、该规则针对redhat
    iptables -nL  查看当前的IP规则配置
    iptables -I INPUT -p tcp --dport 80 -j ACCEPT 打开本机的80端口接受权限
    service iptables save
 
16 cp -r /xx/xx/ /yy/ 将/xx/xx/连其本身文件夹以及内所有文件拷贝到 /yy下面
   而 cp -r /xx/xx/* /yy/ 将/xx/xx/内所有文件拷贝到 /yy下面
 
17 scp -r /xx/xx/* loginaccount@remoteip:path 本地拷贝至远程   
   scp -r loginaccount@remoteip:path/* /xx/xx/ 远程拷贝本地 
 

 参见:Linux SCP 远程拷贝

 

18 Linux检查是否安装一个软件的方法:rpm -qa | grep glib

测试libevent是否安装成功:ls -al /usr/lib | grep libevent(或 ls -al /usr/local/lib | grep libevent) 

出现类似下图结果则表示安装成功:

# ls -al /usr/lib | grep libevent

# ls -al /usr/local/bin/mem*

 

19 find * -type d|sort -r >> find.txt 输出当前目录下的文件夹目录,并从高到低排序输出到find.txt (-type f是所有文件)

http://forum.linuxfans.org/redirect.php?fid=24&tid=44043&goto=nextoldset

20 grep

它是通用规则表达式分析程序(General Regular Expression Parser)的缩写。

grep命令可以在它的输入中搜索指定的字符串模式(Pattern)。输入中所有包含指定字符串模式的行组成grep命令的输出。

例如,要找出carey用户是否在系统中登录,只要在passwd文件中搜索这一用户名称的字符串:

$ grep carey /etc/passwd
carey:……

 

21 sudo

  在shell脚本中需要用root用的来执行指令:

  sudo 自动输入密码

  echo "password" | sudo -S netstat -tlnp

  -S

  The -S (stdin) option causes sudo to read the password from the standard input instead of the terminal device.

22  tar -cvf ./xx.tar * 当前目录下打包

      tar -zcvf ./xx.tar.gz  * 当前目录下压缩打包

      tar -tvf   *.tar 查看压缩包内文件列表 

 

23 tail -f 是实时的查看LOG的最新流输出

24  在linux系统中/var/log中大量的系统日志

25 getconf PAGESIZE 查看当前的系统的页大小

26 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力(df -hl)。du可以查看文件及文件夹的大小。

http://www.yayu.org/look.php?id=162

[root@**]# du -h --max-depth=1 work/testing
27M     work/testing/logs
35M     work/testing

du -sm * 查看每个文件的大小


 如果有一个进程在打开一个大文件的时候,这个大文件直接被rm 或者mv掉,则du会更新统计数值,df不会更新统计数值,还是认为空间没有释放。直到这个打开大文件的进程被Kill掉。(使用fuser -u /var/spool/clientmqueue 可以看到这个文件是哪个文件占用的)

27 定期删除文件

# cd /etc/cron.daily
# vi logcron
输入如下内容
#!/bin/sh
find /logs -type f -ctime +30 | xargs rm -rf (这里实现了删除30天之前文件的命令,当然还可以加入-name 模糊匹配名字查询)
-mtime 7 是只保留尽7天
然后保存该文件,最后执行如下命令给该文件服务可执行权限
# chmod +x /etc/cron.daily/logcron
哈哈,任务完成,如果你想实验下效果可以把该文拷贝到/etc/cron.hourly目录下,然后把系统时间改成整点,你就能够看到30天之前的文件已经自动被删除了。

28 find -atime -ctime -mtime区别
access time  , atime在读取文件或执行文件时会修改
create time  , ctime在文件写入,更改所有者,权限。链接时文件的ctime会随之改变
modified time ,mtime 在文件写入时会改变。

ls -lu  或者 ls -l --time=atime 显示文件的atime
ls -lc 或者  ls -l --time=ctime 显示文件的ctime
ls -l    显示文件的mtime

 stat **.log 可以看到这个文件的所有属性时间

 

29 split -b 200M catalina.out -- 每个文件200M 

30 关掉特定的进程的方法 ps -ef | grep firefox | awk '{print $2}' | xargs kill -9

或者 是一样的 kill -9 `ps -ef | grep firefox | awk '{print $2}'`
进阶:kill -9 `ps -ef | grep firefox | grep -v grep | awk '{print $2}'`


windows上网络

1、arp -a 查看的是路由器的MAC信息(本例192.168.1.2),如果要看自己的电脑所有网卡的信息的话用 ipconfig /all

2、route print当前路由信息

192.168.1.103就是环回路由了吧

 

192.168.42.*是PC上连接的手机网卡,系统自动为其配置了三条路由。

 

 

 

android命令

1、cat   /proc/mtd

2、flash_image recovery /sdcard/**.img (flash_image boot /sdcard/**.img)

3、cat /dev/mtd/mtd8 > /sdcard/**.img

4、busybox hexdump -c -n 512 mtd8

5、修改ip 以及默认网关

busybox ifconfig usb0 192.168.42.231 netmask 255.255.255.0(usb0 为上网卡,可以替换成本地的任何设备名)
busybox route delete default
iptables -F
iptables -F -t nat
busybox route add default gw 
192.168.42.230
setprop net.dns1 8.8.8.8

6、找到一个可以把log保存下来的方法,这样如果不接USB线时操作手机发生问题就能看见log了,简单实验可行

执行adb shell登到手机

logcat -v time -f /sdcard/locker.log *:W & (补充可以去查一下logcat 的参数协议,如果是希望所有类型的参数全部打出的话用"*"替换"*:W")

然后就可以拔掉USB线正常测试,发生问题后再连接USB把log抓出来,最好记下问题发生的大致时间,以便事后查找
 7、busybox route 查看路由;
8、busybox arp 查看当前网络的网关(路由);
9、ping -c 10 -i 2 **.**.**.** -c 表示次数 -i表示间隔;
10、busybox traceroute  **.**.**.** 查看ping 某IP的全路由过程在window上是(traceRT)

 

 

 

android刷机包

1、google服务原生刷包 gapps-gb-20110613-signed.zip


 

android开发问题汇总:

1、如果考虑做一个全功能的版本至少兼容到2.2,但是有些函数是没有的在2.2

java.lang.NoSuchMethodError: java.lang.String.isEmpty
java.lang.NoSuchMethodError: java.io.File.getTotalSpace

2、关于图像处理的函数最好 使用缓存机制

3、工具监控模式的使用:

monkey 测试 adb shell monkey -p com.xx.xx  -v --throttle 100 5000

strictmode的使用

memorymonitor的内存监控工具使用


base/kernel/drivers一般放的是片外驱动

/drivers/media/video/zc301/zc301_core.c 

1、V4L2驱动注册、注销函数

Video核心层(drivers/media/video/videodev.c)提供了注册函数



java

StringTokenizer 的使用。


git使用

1、安装 apt-get install git-core

另外配置一下各自git的用户名和email,以便上传代码时方便识别。
可以用命令如下命令进行配置(双引号中的部分请替换):
git config –global user.name “myname”
git config –global user.email “myname@server”

2、克隆一个库  git clone ssh://git@10.42.217.219:22/xx.git master

操作:
1、增加文件   在那个目录下 git add .
2、删除文件   git rm 文件   git rm -r 文件夹
3、提交到本地库  git commit -m "说明"
4、提交到远程   git push ssh://git@10.42.217.219:22/xx.git master
5、从服务器拉变化  git pull ssh://git@10.42.217.219:22/xx.git master

使用git remote add origin ssh://git@10.42.217.219:22/xx.git 进行origin url设置
之后,可以

git pull origin master 

git push origin master

6、把修改回退到pull push状态  git reset默认是软恢复,git reset --hard是硬恢复

-------------------------------------------------------------------------------------------------------------

在Windows电脑上使用git可以参考以下方法:

1. 安装windows版的git软件(Git-1.8.1.2-preview20130201.exe),建议安装在C:\Git目录下,以免路径中出现空格导致bash中操作的问题。
2. 将 C:\Git\bin 和 C:\Git\libexec\git-core 加入系统的环境变量path中。
3. 如果想使用类似TortoiseSvn的图形化界面,可以安装TortoiseGit(安装TortoiseGit-1.8.3.0-32bit.msi时如果提示windows installer版本过低,请先安装WindowServer2003-KB942288-v4-x86.exe然后重新安装TortoiseGit)。
4. 利用命令行或右键TortoiseGit菜单使用git即可。


私钥,并将其改名为id_rsa。linux机器请将私钥放置在 ~/.ssh/ 下;windows机器请放置在类似 C:\Documents and settings\XXX\.ssh\ 的目录下,同时添加环境变量HOME = C:\Documents and settings\XXX 。


常用git控制使用:

1、查看某个文件某次的修改很简单,这样就可以了
git show 某次的提交哈希值 文件名

git show 12e49a7720fe92d5c19a8015fbc40a410e52370d .../src/com/android/mms/ui/ManageSimMessages.java

2、git log是查看修改的历史记录

如想看某次提交的统计信息(在git log的基础上进行了变化文件的总体对比),git log --stat,

可以通过git log --help找到所有的子项帮助

3、git log -p -- packages/apps/Mms/src/com/android/mms/ui/ManageSimMessages.java
会显示所有的这个文件的提交细节对比

git log  packages/apps/Mms/src/com/android/mms/ui/ManageSimMessages.java

查看这个文件的粗略修改记录

4、git diff 两次的commit 具体文件

可以查看到具体2个commit的差异,在文件提交的时候可以使用git diff看看

5、git log --pretty=short --graph 查看历史记录的彩色路线合并图

6、在服务器侧进行仓储的版本恢复的时候,直接git reset --soft xxx就可以了(注意服务器端是没有hard节点的,这个只有客户端git才有);

7、git当在本地commit以后,pull (fetch+merge)如果有merge失败,如果需要merge的这些文件不关心的话,可以git reset --hard进行复位(可以将这些有问题的,也不需要合入的文件给删除了),然后pull最新的文件,最后push 本地的commit变化。

8、使用git pull冲突了,并且之前本地有未提交的修改。问题变得比较复杂,因为涉及4方面:

  • 工作目录的修改
  • 暂存区的修改
  • merge来的修改
  • Merge前的修改

解决方法:使用git merge --abort中止merge。merge manual中说,这条命令会尽力恢复到Merge之前的状态(可能失败!)。




HTTP网络开发模拟(GET POST DELETE CREATE等等)

1、用chrome浏览器上的postman插件



编码转换

editplus进行批量转换好东西


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值