1. 程式人生 > >移動開發過程中grep、find、adb、git、repo等常用指令的使用場景

移動開發過程中grep、find、adb、git、repo等常用指令的使用場景

專案開發中通常都會涉及到相關指令,這是我這整理的日常使用最頻繁的一些

一.find命令

    基本格式:find path expression

    1.按照檔名查詢

    (1)find / -name httpd.conf  #在根目錄下查詢檔案httpd.conf,表示在整個硬碟查詢
    (2)find /etc -name httpd.conf  #在/etc目錄下檔案httpd.conf
    (3)find /etc -name ‘srm’  #使用萬用字元*(0或者任意多個)。表示在/etc目錄下查詢檔名中含有字串‘srm’的檔案
    (4)find . -name ‘srm*’   #表示當前目錄下查詢檔名開頭是字串‘srm’的檔案

    2.按照檔案特徵查詢     

    (1)find / -amin -10   # 查詢在系統中最後10分鐘訪問的檔案(access time)
    (2)find / -atime -2   # 查詢在系統中最後48小時訪問的檔案
    (3)find / -empty   # 查詢在系統中為空的檔案或者資料夾
    (4)find / -group cat   # 查詢在系統中屬於 group為cat的檔案
    (5)find / -mmin -5   # 查詢在系統中最後5分鐘裡修改過的檔案(modify time)
    (6)find / -mtime -1   #查詢在系統中最後24小時裡修改過的檔案
    (7)find / -user fred   #查詢在系統中屬於fred這個使用者的檔案
    (8)find / -size +10000c  #查找出大於10000000位元組的檔案(c:位元組,w:雙字,k:KB,M:MB,G:GB)
    (9)find / -size -1000k   #查找出小於1000KB的檔案

二、grep命令

    基本格式:find expression

  1.主要引數

    [options]主要引數:
    -c:只輸出匹配行的計數。
    -i:不區分大小寫
    -h:查詢多檔案時不顯示檔名。
    -l:查詢多檔案時只輸出包含匹配字元的檔名。
    -n:顯示匹配行及行號。
    -s:不顯示不存在或無匹配文字的錯誤資訊。
    -v:顯示不包含匹配文字的所有行。

    pattern正則表示式主要引數:
    \: 忽略正則表示式中特殊字元的原有含義。
    ^:匹配正則表示式的開始行。
    $: 匹配正則表示式的結束行。
    \<:從匹配正則表達 式的行開始。
    >:到匹配正則表示式的行結束。
    [ ]:單個字元,如[A]即A符合要求 。
    [ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
    .:所有的單個字元。
    * :有字元,長度可以為0。

  2.例項 

  (1)grep ‘test’ d*  #顯示所有以d開頭的檔案中包含 test的行
  (2)grep ‘test’ aa bb cc    #顯示在aa,bb,cc檔案中包含test的行
  (3)grep ‘[a-z]{5}’ aa   #顯示所有包含每行字串至少有5個連續小寫字元的字串的行
  (4)grep magic /usr/src  #顯示/usr/src目錄下的檔案(不含子目錄)包含magic的行
  (5)grep -r magic /usr/src  #顯示/usr/src目錄下的檔案(包含子目錄)包含magic的行

  (6)grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配’magic’,而不是’magical’),

三、adb命令
ubuntu下adb安裝:apt-get install android-tools-adb
通過adb安裝apk
1.adb root
2.adb remount
3.adb push apk全路徑 system/app

adb install -r apk全路徑” 強制安裝,完成後需執行adb reboot或者kill應用重啟。

四、git命令

git配置檔案
/etc/gitconfig: 所有使用者普遍適用的、系統的,git config –system選項
~/.gitconfig: 只適用該使用者, git config –global選項
.git/config當前專案.git目錄中,只適用當前專案, .git/config
每一層都覆蓋上一層,也就是優先順序 .gitconfig < ~/.gitconfig < /etc/gitconfig

切換分支
git branch -a 檢視這個版本的分支
git checkout -b FWS920_b1 origin/FWS920_b1 建立一個新的分支並切換到新的分支上面
git checkout FWS920 切換到FWS920這個分支下面
git branch -D FWS920 刪除FWS920這個分支(不能在該分支下面進行該操作)
提交程式碼流程
git pull 更新本地分支
git status 檢視修改狀態
git add . 提交新新增的所有檔案
git commit -m “註釋” 程式碼提交到本地
git push master HEAD:refs/for/master 提交到伺服器

還原修改
git checkout – 檔案整個路徑 還原檔案
git reset –hard 還原所有修改
git reset –soft HEAD^ 提交commit發現有問題之後還原到未修改之前的狀態
刪除未被追蹤的檔案

git clean -df 刪除檔案和目錄(刪除git status命令中所有untracked file,包括檔案和目錄)
-f 刪除檔案,
-df 刪除檔案和目錄
git clean -dn 這個命令可以看看有哪此檔案和目錄會被刪
-n 顯示將要刪除的檔案和目錄

儲存修改
git stash 儲存當前修改
git stash list 顯示暫存列表
git stash apply 恢復暫存列表最上面的一個
git stash apply [email protected] 恢復指定暫存
git stash clear 清除stash

修改配置
git config –global core.editor vim 修改預設文字編輯器
git config –global commit.template $HOME/.gitmessage.txt 修改提交模板
git config –global user.name “John Doe” 配置使用者名稱
git config –global user.email [email protected] 配置郵件地址
對比檔案
git difftool “檔名” 和伺服器的該檔案進行對比(檔名要路徑)
git difftool HEAD 直接和伺服器程式碼進行對比(所有程式碼)
其它
gedit .git/info/exclude 檢視修改狀態時的過濾檔案
gitk 開啟版本控制介面
git log 檢視版本最新狀況(誰提交的)

五、 repo指令

切換分支
repo init -m 專案路徑((如果是新建目錄,repo init -u 專案路徑))
repo sync
repo start i800v –all
repo list 可以檢視repo所管理的projects
repo status 可以檢視本地修改的檔案

repo branch 可以檢視每一個project所有的分支名稱
repo start 建立本地的工作分支,比如:repo start 分支名 –all為所有project建立分支,repo start 分支名 kernel 為kernel project建立分支名
repo abandon 刪除分支,用法和start差不多。比如:已經為kernel project建立了JB分支,用repo abandon JB kernel 命令,可以刪除kernel project中的JB分支。如果執行repo abandon JB –all就會刪除所有project上面名字為JB的分支。執行完repo abandon後,project會工作在no branch狀態,還需手工start一個分支。
repo forall 為所有project執行命令。比如:repo forall -c git tag XXXX_XXX_V1.0_SH 代表為每一個project加入tag

repo init 初始化repo庫,-u 代表url,-b代表branch,-m 代表manifest檔案。比如:repo init -u gitserver:manifests.git -m i800JB.xml 代表的是從gitserver伺服器上的manifests.git庫中,選擇i800JB.xml作為manifest檔案。
這裡沒有-b,是由於目前所建立的manifests.git庫中,僅有一個master分支。沒有-b選項,預設是從manifests.git庫的HEAD指標處取得manifest檔案
如果沒有-m選項,則代表使用的預設的manifest檔案,預設的檔名稱為default.xml
repo overview 檢視project裡面沒有提交的記錄。
repo upload 的時候,請用repo upload –re=REVIEW人員,系統會自動發郵件告知REVIEW人員

相關推薦

移動開發過程grepfindadbgitrepo常用指令的使用場景

專案開發中通常都會涉及到相關指令,這是我這整理的日常使用最頻繁的一些 一.find命令     基本格式:find path expression     1.按照檔名查詢     (1)find / -name httpd.conf  #在根目錄下查

Android開發過程gitrepoadbgrep指令的使用

chown       是一條在Unix系統中用於設定檔案所有者和檔案關聯組的命令。 需要超級使用者的許可權才能執行此命令。只有超級使用者和屬於組的檔案所有者才能變更檔案關聯組。非特權使用者(非超級使用者)如需要設定關聯組可能需要使用chgrp命令。     # chown rob:developers

Altera FPGA開發過程sofpofjic檔案的區別

1、sof檔案 sof檔案是編譯(分析、綜合、佈線、生成、時序)過程中生成的一個檔案,如下圖紅圈過程中所示, 生成的sof檔案是可以直接通過JTAG口下載到FPGA的SRAM中去並直接執行。所以sof檔案可以“看成”是raw binary檔案,當然還是有區別的,就相當於HEX檔案和

專案開發過程什麼是開發環境測試環境生產環境UAT環境模擬環境?

專案開發過程中什麼是開發環境、測試環境、生產環境、UAT環境、模擬環境? 最近在公司專案開發過程中總用到測試環境,生產環境和UAT環境等,然而我對環境什麼的並不是很理解它的意思,一直處於開發階段,出於好奇,本人蒐集了自己所瞭解的一些知識分享給各位,如果有不齊全的地方,請在評論下方留言! 一

C# 基礎(十三)C# 軟體開發過程,可執行檔案.exe 出現bug,該怎麼排查解決:找到出現bug的位置

一、簡介 之前是完成了寫軟體,從而實現軟體的基本功能。到了今天,需要對自己寫的可執行檔案.exe找bug了。那麼下面,我將結合自己的軟體的使用過程中,講自己的經驗融入進來,解釋下什麼是bug、以及該怎麼找Bug。 二、Bug的分類 主要參考: https://blog.csdn.ne

軟體開發過程遇到的問題(Java JavaScript)

6. Parameter 'xxx' not found. Available parameters are [1, 0, param1, param2] 原因:Mapper介面的方法沒有引數沒有加:@Param("xxx") 7. java.lang.IllegalStateException: Amb

小程式開發過程 全域性變數函式的應用方法

小程式開發過程中,全域性變數、函式的應用能讓你的小程式優化起來更加便捷,到底微信小程式全域性變數怎麼使用呢?本文講解一下啦。 一、全域性函式 小程式開發過程中,不同頁面要用到一些相同的函式,比如時間轉化函式,如果每個頁面都寫這樣一個函式,程式碼繁瑣不說,修改極其不

軟體開發過程測試用例圖E-R圖的理解和使用

研一上學學期分別修了《軟體工程》、《面向物件分析和設計》兩門課程,雖然沒有認真聽講。但是知道要想在該專業領域走的更遠,有全域性觀念。這門課程還是相當重要的。尤其是用例圖和關係實體圖,對於從全域性快速的

移動開發過程需要注意的問題

1、防止手機中網頁放大和縮小,這點是最基本的,最為手機網站開發者來說應該都知道的,就是設定meta中的viewport <meta name="viewport" content="width=device-width, initial-scale=1.0, max

熟悉Linux過程的一些基本問題(軟體安裝環境變數目錄結構更改許可權及所有者

熟悉Linux過程中遇到的問題: 1. 如何在Ubuntu 中安裝軟體(命令⾏界⾯)?它們通常被安裝在什麼地⽅? 首先針對第一個問題: 基本上有兩種安裝方式,分別是:(1)apt-get 方式的安裝;和(2)dpkg方式的安裝,下面分別說一下: 1

安卓開發 RecycleView notifyItemRemoved遇到的那些坑, IndexOutOfIndexException刪除錯亂,陣列越界終極解決方案,多人親測可行

當我們在開發過程中要刪除RecycleView中的某個item時,都喜歡notifyItemRemoved方法帶來的動畫效果,然而,會遇到錯亂的坑,主要有三個,如下: 再刪除後面的item,會發生錯

使用phxpaxos開發過程遇到的坑

例如 exec 永遠 傳輸 snap 如果 poi 沒有 github 1. 開啟BatchPropose後,狀態機使用ExecuteForCheckpoint生成快照要註意: ExecuteForCheckpoint中的InstanceID不能立即持久化。 例如:

ReactJS 開發過程的一些使用心得

有著 dom操作 作者 -s arc 有用 第一個 sets tao ReactJS作為目前最火的構建用戶界面的前端框架,為什麽有那麽多的前端工程師去追逐它,不僅因為它簡單,而且它提供了一系列強大的API讓我們擺脫以前繁瑣的DOM操作,使我們的邏輯更加清晰,代碼更加簡單。

在混合app開發過程使用百度地圖api的出現坐標偏差的解決

百度 api call cordova overlay forum gpo ext ddr 在項目中使用ngCordova的$cordovaGeolocation模塊獲取當前位置經緯度,當展示在百度地圖中時發現有誤差(我的測試誤差為1.7公裏左右),查資料發現百度地圖經緯度

微信紅包店小程序開發過程遇到的問題 php獲取附近周邊商家 顯示最近商家

企業 使用 發出 微信紅包 status 不用 發放 經緯 appid 最近公司在做一個項目就是微信紅包店。仿照的是微信官方在做的那個紅包店的模式。客戶搶紅包,搶到以後到店消費,消費以後就可以拿到商家的紅包了。 項目中的兩個難點: 1通過小程序來發紅包 這個之前在

關於基於Linphone的視頻通話Android端開發過程遇到的問題

浪費 phone 模式 需要 class 通話 其他 了解 同時 關於基於Linphone的視頻通話Android端開發過程中遇到的問題     運用開源項目Linphone的SDK進行開發,由於是小組進行開發,我主要負責的是界面部分。   由於當時是初學Android開發

nodejs開發過程遇到的一些插件記錄

.com 實現 輸出 規範 blog com nod 記錄 pan 1、chalk   Github:https://github.com/chalk/chalk    終端樣式定制插件,可自定義輸出日誌的樣式。 1、semver   管網:https://semv

大數據開發過程常用的分析軟件

大數據開發 大數據分析 大數據 Hadoop 大數據開發過程中常用的分析軟件大數據研究的出現,為企業、研究機構、政府決策提供了新的行之有效思路和手段,想要做好大數據的管理和分析,一些大數據開發工具的使用是必不可少的,以下是大數據開發過程中常用的工具:1. Apache HiveHive是一個建

二.JSP開發過程遇到的問題及解決

java 告訴 概率 share 回車 命令 left wid 應用 轉載自:http://www.cnblogs.com/leftshine/p/5238001.html 一.開發環境問題 問題一:Failed to load the JNI shared library

微信小程序開發過程踩過的坑集合,沒有解決不了的錯誤,只有踩不完的坑

pac 清除 bind ren 透明 .json 配置 reac 之間 微信小程序開發過程中踩過的坑,包含很多小程序開發細節,有些可能你也踩過。。。1、height:auto; 失效,必須指定 image 的高度為具體數值,不然高度為0。2、真機和模擬器的問題總結 inp