调试笔记:
debug模式下:
c:打印进程
p+空格+对象:打印出地址
po+空格+对象:打印内容
[]+$ 一个或者多个空格,后面仅跟着回车键
ll命令可以显示所有文件
****************************
9.21
****************************
mate+空格+目录:可以打开该目录下的文件
进入某个目录后:git gui&可以打开git gui
****************************
9.22
****************************
在要上传代码的目录下输入:git push 服务器名 版本命:版本分支 -f(-f是强制上传)
比如: git push eros stella-v1.3:stella-v1.3-tw -f
git remote add 服务器名 用户名@服务器名:$PWD
git remote add eros taowei@eros:$PWD
git fetch 服务器名:git最新的版本到本机器上
git fetch eros
commond + T:打开小窗口
mkdir -p 文件路径:在路径下新建一个文件
比如:mkdir -p /Project/Stell/Samples
****************************
9.23
****************************
git log:打印出git的日志
git branch:打印出分支信息
git push+服务器名+版本信息:版本信息自己的分支+f
例如:git push eros stella-v1.3:stella-v1.3-tw f
mate .git/config:可以打开git/config
vim. git/config:也可以打开git/config
git branch:查看分支
git branch -a:查看分支下的版本
git branch -r:查看分支下服务器上的版本
git reset --hard:查看分支
git reset --hard 服务器/版本:拉到本地的文件夹里,比如:git reset --hard eros/stella-v1.3
gitk &:打开版本分支查看工具
****************************
9.24
****************************
git push的时候要注意文件夹的目录,查看分支,如果分支没有的话就要通过cd ../../退出到上一级目录
object-c: atobjectindex是查看索引
gitk &:打开版本管理器
chmode -R 777:改变读写权限
sudo chmod -R 777:以超级用户的读写方式访问
sudo chown -R 账户名 .:彻底改变帐户下的读写方式
在某个文件下输入mkdir+文件名可以直接创建一个文件
****************************
9.25
****************************
git push 服务器名 HEAD:版本分支 -f:head是当前的版本位置
例如:git push eros HEAD:stella-v1.3-tw -f
****************************
9.26
****************************
adb logcat:打印安卓手机的log
adb shell:
ls -l:
ls -al:
ll:可以显示文件夹下所有的文件,包括隐藏的
rm -fr 文件名:删除隐藏文件
nano .git/config
ll jni/ :
ln -sf:进行文件覆盖
.git:为版本内容
****************************
9.26
****************************
nano ~/.bashrc:修改后要记得保存
. ~/.bashrc:修改nano bashrc后立刻保存
source ~/.bashrc:修改nano bashrc后立刻保存
echo:可以打印东西
在mac下打包时要注意,不能打包成.zip格式的,这样在windows下会有问题,要打成tar格式的
****************************
9.29
****************************
git stash:用来暂存当前正在修改的代码
git checkout -b 名字:在git下创建一个新的分支
rm -fr *:删除所有文件
git checkout branchname:进入到某个分支里
git tag -d name:删除某个tag
git branch -d name:删除某个branch
****************************
9.30
****************************
cygwin下使用ssh
进入cygwin后输入ssh-host-config回车,第一次询问时输入no,后面一直输入yes,直到要求"the value of cygwin for dameon“,此时输入ntscc。然后打开window系统服务,看到cygwin sshd的服务,打开它,ps:新版本貌似不用打开这个服务就可以使用
git rebase -i 版本:
git rebase --continue:
git rebase --abort:
git checkout -b 分支:
chmod -R 644 文件夹/*:
git config core.eol crlf:
git config --global core.eol crlf:
****************************
10.9
****************************
ssh -l 用户名 服务器:用ssh登陆服务器
scp -r 用户名@服务器:文件原始路径 文件下载路径:下载文件夹到本地目录
scp -r taowei@eros:/Project/ninja-splash/code /Project/ninja-splash/code
scpr 用户名@服务器:文件原始路径 文件下载路径:下载文件(如压缩文件之类的)到本地目录
****************************
10.14
****************************
在makefile里打印变量:$(warning $(LOCAL_PATH))
makefile -n:该选项使make程序进入非执行模式,执行之后,会将原来应该执行的命令全部输出,但不执行。该选项可以检查makefile写的执行结果是否是你预期的
unix命令sort:对文件中的行按字母重新进行排序
unix命令comm:comm [- 123] file1 file2;对2个有序的文件进行比较,选项1、2或3抑制相应的列显示。例如:comm - 12只显示在两个文件中都存在的行;comm - 23只显示在第一个文件中出现而未在第二个文件中出现的行;comm - 123则什么也不显示.
unix命令head:不指定任何选项的时候,显示文件的全部内容;-n:显示指定文件的前n行,n为一个整数
unix命令uniq:用来从一个文本文件中去除或禁止重复行。重复行是什么?在uniq里持续不断重复出现的行,中间不夹杂任何其他本文。
命令一般格式:
uniq -u d c -f input-file output-file
其选项含义:
-u 只显示不重复行。
-d 只显示有重复数据行,每种重复行只显示其中一行
-c 打印每一重复行出现次数
-f n为数字,前n个域被忽略
unix命令cat:是把文件连在一起,然后输出到屏幕上
****************************
10.15
****************************
unix命令-s:显示文件长度时使用块长度而非字节长度
unix命令-type:-type c文件类型为c则真,c取值可为b(块文件)c(字符文件)d(目录)l(符号链接)p(命名管道)f(普通文件)\(表达式\)表达式为真则真
unix命令-mkdir p:本命令用于建立目录,目录的存取模式由掩码(umask)决定,要求对其父目录具有写权限,目录的UID和GID为实际UID和GID
****************************
10.16
****************************
ndk build时有时会发生../../../**.so permission denied的情况,这是到相应文件夹下修改它的读写权限,命令格式如下: chmod 777 ./*
cygwin编译 recipe for target 'obj/local/armeabi/lib***.so' fail解决办法:找到Application.mk,然后添加如下内容:STLPORT_FORCE_REBUILD := true
****************************
10.17
****************************
env:该命令可以查看所有的环境变量的设置
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.
并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该
该文件被读取.
~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.
另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
~/.bash_profile 是交互式、login 方式进入 bash 运行的
~/.bashrc 是交互式 non-login 方式进入 bash 运行的
通常二者设置大致相同,所以通常前者会调用后者。
cygwin下ln -s /cygdrive/c/,可以进行文件的链接
mv 文件夹:移动文件夹到当前文件夹下
****************************
10.18
****************************
etc/hosts:是ip的一些访问路径,通过sudo etc/hosts,然后进入vi etc/hosts可以进行修改
cat ~/.gitconfig:可以查看git的配置信息
git config --global user.name "xxxx":添加使用者的姓名
git config --global user.name [email protected]:添加使用者的邮箱
git pull --rebasegit rebase --continuegit pull --rebase其实就等于git fetch + git rebase
git diff 查看修改和缓存中的修改信息git diff cache 查看缓存中的和commit中的修改信息git branch -a 查看所有分支。git branch new_branch 创建新的分支。git branch -d branch 删除分支。git checkout branch 切换当前分支。-f参数可以覆盖未提交内容。git branch -vgit remote -v.gitignore 在规则建立之前的就已经在代码库中的文件不会受到忽略规则的影响,要移除这些文件,只能输入git rm filename来移除。git rm -f *.o 取消跟踪并在工作目录中删除git rm --cached readme.txt 取消跟踪不在工作目录中删除git mv file_from file_to 相当于 mv README.txt README $ git rm README.txt $ git add READMEgit log -p -2 -p 选项展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新:git log --stat 简要显示git log --pretty=format:"%h - %an, %ar : %s"git log --pretty=format:"%h %s" --graphgit log --since=2.weeksgit log --pretty="%h - %s" --author=gitster --since="2008-10-01" \--before="2008-11-01" --no-merges -- t/git reset HEAD benchmarks.rb 取消已经暂存的文件git checkout -- benchmarks.rb 取消对文件的修改
git remote -v 查看现有的远程仓库git remote add pb git://github.com/paulboone/ticgit.git 添加一个远程仓库 并用pb命名。git remote rm paul 删除远程仓库git remote rename pb paul 重名远程仓库 本地也会跟着修改git remote 查看远程参考git remote show
git branch 显示所有开发分支git branch experimental 创建新的开发分支git checkout experimental 切换到”experimental”分支git merge experimental 合并分支,如果这个两个分支间的修改没有冲突(conflict), 那么合并就完成了。如有有冲突,输入下面的命令就可以查看当前有哪些文件产生了冲突:$ git diff,git commit -agit branch -d experimental 删除分支(合并过才删除)git branch -D crazy-idea 强制删除分支
git branch 分支名:可以直接创建一个分支
git push -f 服务器名 分支名:直接把内容push到分支里
在git下移动文件
git mv 要移动的文件 目的地文件夹
如果出现这种错误:fatal: not under version control, source=release_helper.pyc, destination=autobuild/release_helper.pyc
则使用如下方法:
mv 要移动的文件 目的地文件夹
git add 目的地文件夹/要移动的文件
如果在用git fetch eros时,出现fatal: Could not read from remote repository.please make sure you have the correct access rights and the repository exists.时。
输入vim .git/config,在里面把服务的名字变成服务器的ip地址
****************************
10.22
****************************
vi使用:
按ESC键 跳到命令模式,然后:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
脚本里常用语句与命令
cls:清楚控制台窗口,重置屏幕缓冲
rem:在脚本中创建注释
echo:在命令行中显示消息、关闭或打开命令回显(个人认为就是print的功能)
@:以行为单位控制命令的回显方式。
title:设置命令shell窗口的标题栏
color:设置命令shell窗口的文本色与背景色
工作笔记,记录新项目管理过程:
1、在路径下创建工作的文件夹:mkdir in
2、git init
3、git remote add eros taowei@eros:$PWD
4、git fetch eros
5、git commit -m "init" --allow-empty
6、git add . (注意后面这个点号不能丢)
7、git commit -m "新项目名字+版本号"
8、touch .gitignore(把不需要提交的文件屏蔽掉)
工作笔记,记录新项目管理过程:
1、在路径下创建工作的文件夹:mkdir in
2、git init
3、git remote add eros taowei@eros:$PWD
4、git fetch eros
5、git commit -m "init" --allow-empty
6、git add . (注意后面这个点号不能丢)
7、git commit -m "新项目名字+版本号"
8、touch .gitignore(把不需要提交的文件屏蔽掉)
****************************
10.24
****************************
如果在用git fetch eros时,出现fatal: Could not read from remote repository.please make sure you have the correct access rights and the repository exists.时。
输入vim .git/config,在里面把服务的名字变成服务器的ip地址
windows bat常用命令
1、@
它的作用是让执行窗口中不显示它后面这一行的命令本身
2、echo
开关命令,打开或者关闭(echo on or echo off),直接执行echo命令将显示当前echo命令状态(off or on)执行echo off将关闭回显,它后面的所有命令都不显示命令本身,只显示执行后的结果,除非执行echo on命令
3、::
注释命令
4、pause
暂停作用,它的作用,是让当前程序进程暂停一下,并显示一行信息
5、:和goto
goto是跳转命令,:是一个标签。当程序运行到goto时,将自动跳转到:定义的部分去执行
6、%
批处理中的参数
7、if
if命令是一个表示判断的命令
8、call
call命令用来从一个批处理脚本中调用另一个批处理脚本
9、find
find是一个搜索命令,用来在文件中搜索特定字符串,通常也作为条件判断的铺垫程序。
10、for、set、shift
11、 |
12、help
13、more命令
more命令可以达到逐屛或逐行显示输出的效果,而type命令只能一次把输出显示完,最后的结果是只能看到末尾的部分
14、>、>>
输出重定向命令,>会清除掉原有文件中的内容后把新的内容写入原文件,而>>只会另起一行追加到新的内容到
原文件中,而不会改动其中的原有内容。
15、<、>&、<&
<,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。
>&将一个句柄的输出写入到另一个句柄的输入中
<&从一个句柄读取输入并将其写入到另一个句柄输出中
16、&
它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。
17、&&
它可以把它前后两个命令组合起来当一个命令来用,与&命令不同之处在于,它在从前往后依次执行被它连接的几个命令时会自动判断是否有
某个命令执行出错,一旦发现出错后将不继续执行后面剩下的命令。
18、||
利用该命令在执行多条命令时,当遇到一个执行正确的命令就退出此命令组合,不再继续执行下面的命令
关键字 说明
eol=c 指定行尾注释字符(只一个字符)
skip=n 指定在文件的开头跳过的行数
delims=xxx 指定定界符集合。这将替换空格和制表符的默认分隔符集
tokens=x,y,m-n 指定将令牌从每行传递到每个反复的正文。这将导致分配其他变量名。m-n格式是一个范围,指定从mth到nth的令牌。如果在令牌=字符串自后一个字符是星号,则将分配附加的变量,并在解析最后一个令牌后在行上接受剩余的文本。
usebackq 指定将右引号字符串作为命令执行,单引号字符串是文字字符串命令,可以使用双引号包括 filenameset中的文件名。
变量替换
变量(使用修改程序)说明
%~I 展开删除了周围的任何引号(") 的
%I %~fI 将%I 展开到完全合格的路径名
%~dI 只将%I 展开到驱动器号
%~pI 只将%I 展开到路径
%~nI 只将%I 展开到文件名
%~xI 只将%I 展开到文件扩展名
%~sI 展开路径以只包含短名称
%~aI 将%I 展开到文件的文件属性
%~I 展开删除了周围的任何引号 (") 的
%I %~fI 将 %I 展开到完全合格的路径名
%~dI 只将 %I 展开到驱动器号
%~pI 只将 %I 展开到路径
%~nI 只将 %I 展开到文件名
%~xI 只将 %I 展开到文件扩展名
%~sI 展开路径以只包含短名称
%~aI 将 %I 展开到文件的文件属性
%~tI 将 %I 展开到文件的日期/时间
%~zI 将 %I 展开到文件大小
%~$PATH:I 搜索 PATH 环境变量所列出的目录,并将 %I 展开开到第一个找到结果的全部合格名称。如果没有定义环境变量名,或搜索后没有找到文件,则此修改程序将扩展为空字符串
REM:注释命令,不会被执行