1. 程式人生 > >開發必備工具總結

開發必備工具總結

開發必備工具

為了提高開發效率,總結必備工具, 包括git, vim, tmux、Linux常用工具以及記憶體洩漏檢測工具等等。待逐漸補充

##1. git
git以及svn都是版本管理工具。現總結git如下

  1. 配置個人資訊
    git config --global user.email “***”
    git config --global user.name “***”
  2. 配置顏色
    git config --global color.diff auto
    git config --global color.status auto
    git config --global color.branch auto
  3. 檢視相關
    git log --author=<>
    git log –p -1 看最近提交的改動內容
    git show // 檢視diff
    git branch –a //檢視所有分支
    git branch //檢視本地分支
    git checkout 分支切換,切換到master分支
    git pull origin master
    git pull --rebase
    git diff: 檢視local和remote的區別
    git diff origin master
    git reset --hard
  4. 提交程式碼
    git status 檢視本地庫修改
    git checkout – 取消對檔案的修改。還原到最近的版本,廢棄本地做的修改。
    git add *.h *.cpp
    git commit -a
    或者git commit -m “commit code”
    git add -u
    git add -A
  5. 程式碼管理
    git cherry-pick 可以選擇某一個分支中的一個或幾個commit(s)來進行操作
    git merge 合併程式碼
    假設:你需要將master分支程式碼合併到臨時分支master-dev-temp
git checkout master;
git pull;
git checkout master-dev-temp;
git merge master;

git stash save:
備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容儲存到Git棧中。
git stash pop: 從Git棧中讀取最近一次儲存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git rebase -i 聚合程式碼,去掉和自己提交無關的程式碼

2. tmux

tmux是指通過一個終端登入遠端主機並執行後,在其中可以開啟多個控制檯的終端複用軟體。
tmux #開啟tmux
tmux ls #列出會話
tmux attach -t #進入某個會話
tmux kill-session -t <session_name>

控制鍵 + c: 新建window
控制鍵 + %: 垂直分屏
控制鍵 + " 水平分屏
控制鍵 + x: 強制關閉pane
控制鍵 + $: 重新命名session
控制鍵 + d: 脫離session
控制鍵 + z: pane放大以及縮小
控制鍵 + ,: window重新命名
控制鍵 + ?: 檢視幫助
控制鍵 + [ 螢幕遨遊

tmux 發生意外,可能導致之前建立的所有視窗都不存在,重新建立一份是很崩潰的事情。比如tmux ls提示錯誤"failed to connect to server: Connection refused"
所以使用Tmux備份恢復工具-Tmux Resurrect。Tmux Resurrect 能夠備份 Tmux 會話的各種細節,包括所有會話、視窗、窗格以及它們的順序,每個窗格的當前工作目錄,精確的窗格佈局,活動及替代的會話和視窗,視窗聚焦,活動窗格,窗格中執行的程式等等,非常貼心。
備份恢復命令如下:
控制鍵+ctrl+s: 備份
控制鍵+ctrl+r: 恢復

3. vim

zi 展開和摺疊程式碼
批量在所有行新增字元 control + v選中所有行,大寫I

4. Linux

  1. Linux下*.tar.gz檔案壓縮/解壓縮命令
    壓縮命令:
      命令格式:tar -zcvf 壓縮檔名.tar.gz 被壓縮檔名
    可先切換到當前目錄下。壓縮檔名和被壓縮檔名都可加入路徑。
    解壓縮命令:
      命令格式:tar -zxvf 壓縮檔名.tar.gz
    解壓縮後的檔案只能放在當前的目錄。
    tar -xvf 壓縮檔名.tar.xz
    -c :create 建立壓縮檔案的引數;
    -z : 是否需要用gzip壓縮;
    -x : 解壓縮壓縮檔案的引數;
    -v: 壓縮的過程中顯示檔案;
    -f: 置頂文件名,在f後面立即接檔名,不能再加引數
  2. scp 遠端傳輸命令
    scp ./test (username)@211.0.0.4:/tmp/ 傳輸本地test檔案到遠端伺服器/tmp目錄下
    scp (username)@211.0.0.4:/tmp/test ./ 下載遠端伺服器檔案到本地目錄(或指定目的地)
  3. 環境相關
    中文顯示問題:可以使用locale命令,檢視當前系統預設採用的字符集
    locale
    export LANG=“zh_CN.UTF-8”
    Linux基礎:中文顯示亂碼

Linux工具大全
4. 一些命令
刪除前2天的檔案:find ./ -mtime +2 -print|xargs rm -vf
[當檔案過多或者需要指定清理某時間點檔案採用上述命令]

4.1 除錯相關

/proc/sys/kernel/core_pattern可以控制core檔案儲存位置和檔名格式。
sudo echo “/corefile/core-%e-%p-%t” > /proc/sys/kernel/core_pattern,可以將core檔案統一生成到/corefile目錄下,產生的檔名為core-命令名-pid-時間戳
ulimit -a 可以檢視系統相關配置,特別ulimit -s 10240可以設定堆疊大小為10M,如果不設定經常會有問題,比如程序啟動不了,或者發生莫名其妙的core。(/etc/security/limits.conf)
gdb相關: set print pretty

4.2 系統相關

mkdir -p /data/1
mkfs.ext4 /dev/sdb 將sdb盤格式化為ext4格式
sudo mount /dev/sdb /data/1 將sdb盤掛載在/data/1
sysctl -a|grep core 檢視core位置
檢視流量
sar -n DEV 1 -m
檢視網絡卡:千兆或者萬兆
sudo ethtool eth0
w檢視負載
lscpu 檢視CPU核數

運維

top -d 1 按1
檢視網路流量 sar
檢視load w
sar -n DEV 1 -m
tsar命令
檢視sdd盤的IO情況
tsar --io -I sdd -i 1 | less
檢視網絡卡千兆和萬兆
lspci |grep -i eth
sudo ethtool eth2 Speed: 10000Mb/s 表示萬兆網絡卡
sudo ethtool eth3
cat /etc/sysconfig/network-scripts/ifcfg-eth0|grep bond0
MASTER=bond0
檢視IO:
iostat 1 -xm
檢視效能:
sudo perf top -p [pid]

rpm包安裝:sudo rpm -ivh XX.ipm
nm: 檢視二進位制是否有符合表, nm 可執行檔案(沒有符號表,gdb無法檢視詳細資訊)
dmesg時間轉換工具

5. 開發工具

eclipse

快捷鍵相關
開啟搜尋 ctrl + H
開啟Open Resource: ctrl + shift + R 或者cmmand + shift + R(MAC)