Linux開發工具的使用
1. Linux開發工具的使用
Vim編譯的使用
Ibm的Vim 實用技術
http://www.ibm.com/developerworks/cn/linux/l-tip-vim1/index.html
http://www.ibm.com/developerworks/cn/linux/l-tip-vim2/index.html
http://www.ibm.com/developerworks/cn/linux/l-tip-vim3/index.html
l 跳轉命令:
^,$ 游標移動至行首、行尾
(,) 一句話的最前面、最後面
{,} 一個段落的最前面、最後面
H 跳到第一行
M 跳到中間一行
L 跳到最後一行
gg 跑到檔案開頭
G 跑到檔案結尾
查詢命令
/?查詢, s/查詢內容/替換內容
編輯命令
複製: y複製選擇的內容、yy複製一行、nyy複製n行
剪貼 d
貼上: p; ]p程式碼貼上
刪除: d刪除選擇的內容、dd刪除一行、dw刪除一個單詞
取消: u
更改: cw更改游標所在位置的一個字
刪除或稱謂剪貼
db 刪除到某個單詞的開始位置
d) 刪除到某個語句的結尾位置
d( 刪除到某個語句的開始位置
d} 刪除到某個段落的結尾位置
d{ 刪除到某個段落的開始位置
D 刪除到某一行的結尾=d$
修改
cl 更改當前字元(等於先按x再按i)
cw 修改到某個單詞的結尾位置(dw再i)
cb 修改到某個單詞的開始位置(db再i)
<< 程式碼向前移動
>> 程式碼向後移動
視窗命令
:split/vsplit 分隔一個視窗
:new/vnew 建立一個新的視窗
:sf 檔名 在新視窗中開啟filename
:only 關閉除當前視窗外所有視窗
:ctrl-w 可進行切換視窗
:ctrl-w h 到左面的視窗
:ctrl-w l 到右面的視窗
:ctrl-w j 到下面的視窗
:ctrl-w k 到上面的視窗
Gdb除錯工具的使用
gdb程式碼除錯參考
Makefile的編寫
make的基本介紹[Makefile]
偽目標
make定義變數和使用變數
make預定義變數:
隱含規則和規則模式
make命令列的選項:
-Wall: 輸出所有的警告資訊。
-O: 在編譯時進行優化。
-g: 表示編譯debug版本。
gcc filestat.o -o filestat
gcc -c filestat.c
rm -fr *.o *~ *.*~ filestat
cc = gcc // 編譯器定義
cflags = -Wall -O -g // 編譯條件
$(cc) $(object) -o filestat
$(cc) $(cflag) -c filestat.c -o filestat.o
rm -fr *.o *.*~ *~ filestat
cc = gcc
cflag = -Wall -O -g
TARGET = ./filestat
OBJECTS = $(patsubst %.c,%.o,$(wildcard *.c)) //將當前路徑中所有.c檔案擴充套件替換為
patsubst( %.c, %.o, listvar); #表示將listvar中所有以.c為字尾的檔案,改為以.o為字尾檔案
$(cc) $(cflag) -c $< -o $@ //採用gcc -cflag -c第一個相關聯的檔案 -o 目標檔案
$(cc) $(OBJECTS) -o $(TARGET) //將當前.o檔案連線成目標程式檔案
chmod a+x $(TARGET)
cd subdir && $(MAKE) // 進入子目錄進行make
clean:
rm -fr *.o $(TARGET) *~
======================================================
linux跟蹤除錯
SSH的使用
subversion的使用
1、將檔案checkout到本地目錄
例如:svn checkout svn://192.168.1.1/pro/domain #表示將url中的檔案checkout到本地
簡寫:svn co
2、往版本庫中新增新的檔案
例如:svn add test.php(新增test.php) #將test.php新增到svn上面,其路徑是當前目錄所在svn路徑
3、將改動的檔案提交到版本庫
svn commit -m “LogMessage”
例如:svn commit -m “add file” test.php #只提交test.php檔案
例如:svn ci #提交當前目錄所有的檔案
4、加鎖/解鎖
例如:svn lock -m “lock test file” test.php
svn unlock PATH
5、更新到某個版本
例如:
svn update如果後面沒有目錄,預設將當前目錄以及子目錄下的所有檔案都更新到最新版本。
svn update -r 200 test.php(將版本庫中的檔案test.php還原到版本200)
svn update test.php(更新,於版本庫同步。如果在提交的時候提示過期的話,是因為衝突,需要先update,修改檔案,然後清除svn resolved,最後再提交commit)
簡寫:svn up
6、檢視檔案或者目錄狀態
【?:不在svn的控制中;M:內容被修改;C:發生衝突;A:預定加入到版本庫;K:被鎖定】
2)svn status -v path(顯示檔案和子目錄狀態)
第一列保持相同,第二列顯示工作版本號,第三和第四列顯示最後一次修改的版本號和修改人。
注:svn status、svn diff和 svn revert這三條命令在沒有網路的情況下也可以執行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。
簡寫:svn st
7、刪除檔案
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”
或者直接svn delete test.php 然後再svn ci -m ‘delete test file‘,推薦使用這種
簡寫:svn (del, remove, rm)
8、檢視日誌
例如:svn log test.php 顯示這個檔案的所有修改記錄,及其版本號的變化
9、檢視檔案詳細資訊
例如:svn info test.php
10、比較差異
例如:svn diff test.php
svn diff -r m:n path(對版本m和版本n比較差異)
例如:svn diff -r 200:201 test.php
簡寫:svn di
11、將兩個版本之間的差異合併到當前檔案
例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合併到當前檔案,但是一般都會產生衝突,需要處理一下)
12、SVN 幫助
svn help ci
——————————————————————————
以上是常用命令,下面寫幾個不經常用的
——————————————————————————
13、版本庫下的檔案和目錄列表
顯示path目錄下的所有屬於版本庫的檔案和目錄
簡寫:svn ls
14、建立納入版本控制下的新目錄
svn mkdir: 建立納入版本控制下的新目錄。
用法: 1、mkdir PATH…
2、mkdir URL…
建立版本控制的目錄。
1、每一個以工作副本 PATH 指定的目錄,都會建立在本地端,並且加入新增
排程,以待下一次的提交。
2、每個以URL指定的目錄,都會透過立即提交於倉庫中建立。
在這兩個情況下,所有的中間目錄都必須事先存在。
15、恢復本地修改
svn revert: 恢復原始未改變的工作副本檔案 (恢復大部份的本地修改)。revert:
用法: revert PATH…
注意: 本子命令不會存取網路,並且會解除衝突的狀況。但是它不會恢復
被刪除的目錄
16、程式碼庫URL變更
svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH…]
1、更新你的工作副本,對映到一個新的URL,其行為跟“svn update”很像,也會將
伺服器上檔案與本地檔案合併。這是將工作副本對應到同一倉庫中某個分支或者標記的
方法。
2、改寫工作副本的URL後設資料,以反映單純的URL上的改變。當倉庫的根URL變動
(比如方案名或是主機名稱變動),但是工作副本仍舊對映到同一倉庫的同一目錄時使用
這個命令更新工作副本與倉庫的對應關係。
17、解決衝突
svn resolved: 移除工作副本的目錄或檔案的“衝突”狀態。
用法: resolved PATH…
注意: 本子命令不會依語法來解決衝突或是移除衝突標記;它只是移除衝突的
相關檔案,然後讓 PATH 可以再次提交。
18、輸出指定檔案或URL的內容。
svn cat 目標[@版本]…如果指定了版本,將從指定的版本開始查詢。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以寫具體版本號,這樣輸出結果是可以提交的)
相關文章
- LINUX開發使用的3個遠端工具Linux
- Ecplise開發工具的使用
- Qt開發工具使用QT
- Linux 開發工具推薦Linux
- Linux命令和開發工具Linux
- 提高 Linux 開發效率的 5 個工具Linux
- 如何使用 SDKMAN管理 Linux 系統上的Java 開發工具包LinuxJava
- Linux開發環境必備的工具!Linux學習Linux開發環境
- Linux後臺開發工具箱Linux
- 使用者行為分析的工具開發
- Linux C++ 開發9 - 手把手教你使用gprof效能分析工具LinuxC++
- 初創公司最愛使用的那些開發工具
- 僅供自己使用的javascipt輔助開發工具Java
- linux usb 驅動開發 抓包工具Linux
- linux後臺開發常用除錯工具Linux除錯
- Borland推出全新Linux開發工具Kylix (轉)Linux
- Linux下C開發工具介紹(轉)Linux
- 好開發的工具
- Linux NTP工具的基本使用Linux
- Linux下 kprobe工具的使用Linux
- 請教彭老師:開發工具使用的問題
- Linux愛好者的發燒工具Vi使用說明(轉)Linux
- NEC選擇Ixia的Linux軟體開發工具包Linux
- 最常用的scrum工具、敏捷開發工具、看板工具Scrum敏捷
- 使用go語言開發hive匯出工具GoHive
- 使用Electron開發一個吸色工具的心路歷程
- 使用 Node.js 開發簡單的腳手架工具Node.js
- 高效開發 MVVM 和 databinding 你需要使用的工具MVVM
- ES API,使用Kibana的開發工具用例說明API
- Linux開發環境搭建——deepin系統的使用Linux開發環境
- Onvif開發之Linux下gsoap的使用及移植Linux
- Flutter開發第一個專案android studio 開發工具的使用說明FlutterAndroid
- 比歐洲盃還火的Linux工具 讓開發更簡單Linux
- Linux系統上資料庫管理和開發工具DBeaver使用安裝介紹Linux資料庫
- 安全工具開發
- 開發工具分享
- Andriod開發工具
- HTML 開發工具HTML