$ $JAVA_HOME/bin/native2ascii
$ git clone https://github.com/nicolasgramlich/AndEngine.git
Cloning into AndEngine...
remote: Counting objects: 26252, done.
remote: Compressing objects: 100% (4023/4023), done.
remote: Total 26252 (delta 17236), reused 25960 (delta 16977)
Receiving objects: 100% (26252/26252), 8.32 MiB | 118 KiB/s, done.
Resolving deltas: 100% (17236/17236), done.
ls 命令可以说是Linux下最常用的命令之一。它有众多的选项,其中有很多是很有用的,你是否熟悉呢?下面列出了 ls 命令的绝大多数选项。
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。
-b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。
-c 输出文件的 i 节点的修改时间,并以此排序。
-d 将目录象文件一样显示,而不是显示其下的文件。
-e 输出时间的全部信息,而不是输出简略信息。
-f -U 对输出的文件不排序。
-g 无用。
-i 输出文件的 i 节点的索引信息。
-k 以 k 字节的形式表示文件的大小。
-l 列出文件的详细信息。
-m 横向输出文件名,并以“,”作分格符。
-n 用数字的 UID,GID 代替名称。
-o 显示文件的除组信息外的详细信息。
-p -F 在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通
文件;“/”表示目录;“@”表示符号链接;“|”表示FIFOs;“=”表示套
接字(sockets)。
-q 用?代替不可输出的字符。
-r 对目录反向排序。
-s 在每个文件名后输出该文件的大小。
-t 以时间排序。
-u 以文件上次被访问的时间排序。
-x 按列输出,横向排序。
-A 显示除 “.”和“..”外的所有文件。
-B 不输出以 “~”结尾的备份文件。
-C 按列输出,纵向排序。
-G 输出文件的组的信息。
-L 列出链接文件名而不是链接到的文件。
-N 不限制文件长度。
-Q 把输出的文件名用双引号括起来。
-R 列出所有子目录下的文件。
-S 以文件大小排序。
-X 以文件的扩展名(最后一个 . 后的字符)排序。
-1 一行只输出一个文件。
--color=no 不显示彩色文件名
--help 在标准输出上显示帮助信息。
--version 在标准输出上输出版本信息并退出。
Linux下的任意精度计算器bc:
1. 文本计算器,方便快捷
2. 任意精度,scale= precision 设定,启动时默认为整数计算,bc -l启动为20位小数
3. 支持变量,循环操作,语法与C相似,详细可 man 查看
4. 含数学函数库 s(x), c, a, l, e, j 函数
5. 可运行自写的脚本文件,如a.txt内容为 sqrt(2), 命令 bc -l a.txt 输出 1.4142135623
$ tar -cvf testdx.tar testdx $ tar -cjvf testdx.tar.bz2 testdx $ tar -czvf testdx.tar.gz testdx
-rw-r--r--+ 1 pdh None 98232320 Sep 27 17:13 testdx.tar -rw-r--r--+ 1 pdh None 94316617 Sep 27 17:14 testdx.tar.bz2 -rw-r--r--+ 1 pdh None 94083582 Sep 27 17:12 testdx.tar.gz
不是linux命令,用wndows下xcopy命令,注意,是windows的方法,在go.bat文件运行
xcopy /s ..\misc\xcf\src\assets\*.png .\dst\assets\. 再写一个带参数的例子 set CHANNEL=SUM_NAME set DST=.\assets set SRC=..\misc\xcf\%CHANNEL%\assets xcopy /s /y %SRC%\*.png %DST%\.
find . -name "*" | xargs -i cp {} /home/users/ -i 表示 find 传递给xargs的结果 由{}来代替 谢谢XD 已经搞定 -I 必须指定替换字符 -i 是否指定替换字符-可选 举例: find . | xargs -I {} cp {} $D_PATH 与 find . | xargs -i cp {} $D_PATH
$ adb shell pm list package | grep -i -E "zte.*" package:com.zte.backup.mmi package:com.zte.bookmarklist package:com.zte.emode package:com.zte.music package:com.zte.stopwatch package:com.zte.tool package:zte.com.cn.alarmclock package:zte.com.cn.filer package:zte.com.cn.globeltime package:zte.com.cn.notepad package:zte.com.cn.taskmanager package:zte.com.cn.wo3G
$ adb shell pm list package | grep -i -E "zte.*" | awk -F ':' '{print $2}' com.zte.backup.mmi com.zte.bookmarklist com.zte.emode com.zte.music com.zte.stopwatch com.zte.tool zte.com.cn.alarmclock zte.com.cn.filer zte.com.cn.globeltime zte.com.cn.notepad zte.com.cn.taskmanager zte.com.cn.wo3G
linux中统计字节数、字数、行数命令wc用法详解:
linux中的wc命令主要功能是统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。
语法:
wc [选项] 文件…
说明:
该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,
则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。
该命令各选项含义如下:
c 统计字节数。
l 统计行数。
w 统计字数。
这些选项可以组合使用。
输出列的顺序和数目不受选项的顺序和数目的影响。
总是按下述顺序显示并且每项最多一列。
行数、字数、字节数、文件名
如果命令行中没有文件名,则输出中不出现文件名。
例如:
$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total
省略任选项-lcw,wc命令的执行结果与上面一样
$ find -name "*.*" ! -name "*.txt"
$ find -name "*" ! -type d ! -name "*.class" ./META-INF/MANIFEST.MF
AppVersionCode=20130215 cat $XML | \ sed "s^android:versionCode=.*^android:versionCode=\"$AppVersionCode\"^" |cat > AndroidManifest.xml
(1)
--include要在exclude前面,参数要用单引号括起来,不要用双引号,否则容易拷贝不成功
rsync -az ${SRC_UI}/* ${ASSETS_PATH} --progress --delete --include='*.json' --exclude='*.*'
在cygwin下从linux服务器同步指定文件夹,有中文文件夹名称同步后经常乱码,添加 --iconv=gbk,utf-8即可。在linux上从windows同步文件,将GBK与utf-8调换即可。
语法:--iconv=本地字符集,服务器端字符集
$ rsync -az dy@dypi:/mnt/d/shared/a/huo ./ --progress --iconv=gbk,utf-8 --delete
(2)
从linux服务器拷贝文件,免密码。如我的linux服务器密码是"mypasshh"。当要排除指定文件psd时,要用 --exclude "psd"。注意用双引号,用空格连接,别用=单引号,否则排除规则无效。
错误示范如下:
#!/usr/bin/expect set timeout 30 spawn rsync -az dy@dypi:/mnt/d/shared/a/cikechuanshuo ./ \ --progress \ --iconv=gbk,utf-8 \ --exclude='assets' \ --exclude='cocostudio' \ --exclude='psd' \ --delete expect "password:" send "mypasshh\r" interact
正确示范如下:
#!/usr/bin/expect set timeout 30 spawn rsync -az dy@dypi:/mnt/d/shared/a/cikechuanshuo ./ \ --progress \ --delete \ --iconv=gbk,utf-8 \ --exclude "assets" \ --exclude "cocostudio" \ --exclude "psd" expect "password:" send "mypasshh\r" interact
查找指定大小的文件
查找等于2Byte的文件 find -size 2b 查找大于2K的文件 find -size +2k 查找小于2M的文件 find -size -2M 查找大于2G的文件 find -size +2G
语法:
[ function ] funname [()]
{
action;
[return int;]
}
例子:#!/bin/sh fSum 3 2; function fSum() { echo $1,$2; return $(($1+$2)); } fSum 5 7; total=$(fSum 3 2); echo $total,$?;结果:
sh testfun1.sh testfun1.sh: line 3: fSum: command not found 5,7 3,2 1 5
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
(1).第一种写法:
$ LIST1=(elem1 elem2 elem3 elem4 ); echo ${LIST1[2]}结果:
elem3
(2).第二种写法:
$ LIST2[0]=elem1; LIST2[1]=elem2; LIST2[2]=elem3; LIST2[3]=elem4; echo ${LIST2[3]}运行结果:
elem4
(3).数组长度
echo ${#LIST2[*]}运行结果:
(4).遍历素组:
$ LIST2[0]=elem1; LIST2[1]=elem2; LIST2[2]=elem3; LIST2[3]=elem4; for ((i=0;i< ${#LIST2[*]}; i++));do echo ${LIST2[$i]}; done运行结果:
elem1
elem2
elem3
elem4
参数意义:
脚本代码如下: ############################################## #!/usr/bin/expect set timeout 30 spawn ssh -l username 192.168.1.1 expect "password:" send "ispass\r" interact ############################################## 1. [#!/usr/bin/expect] 这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。 注意:这一行需要在脚本的第一行。 2. [set timeout 30] 基本上认识英文的都知道这是设置超时时间的,现在你只要记住他的计时单位是:秒 3. [spawn ssh -l username 192.168.1.1] spawn是进入expect环境后才可以执行的expect内部命令,如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的。所以不要用 “which spawn“之类的命令去找spawn命令。好比windows里的dir就是一个内部命令,这个命令由shell自带,你无法找到一个dir.com 或 dir.exe 的可执行文件。 它主要的功能是给ssh运行进程加个壳,用来传递交互指令。 4. [expect "password:"] 这里的expect也是expect的一个内部命令,有点晕吧,expect的shell命令和内部命令是一样的,但不是一个功能,习惯就好了。这个命令的意思是判断上次输出结果里是否包含“password:”的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒 5. [send "ispass\r"] 这里就是执行交互动作,与手工输入密码的动作等效。 温馨提示: 命令字符串结尾别忘记加上 “\r”,如果出现异常等待的状态可以核查一下。 6. [interact] 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行一段命令就退出,可改为[expect eof]