一些經常使用的命令

轉載請註明出處,原文連接http://tailnode.tk/2017/01/%E...html

shell

scp複製多個文件,而且不須要輸入yes
scp  -o "StrictHostKeyChecking no" 20150603.tar.gz  20150627.tar.gz 20150705.tar.gz user@host:/home/users/log/20150715/`hostname`

for i in `seq -f %02g 0 23`;do file="log/pay.log.20150731"$i; echo $file;done

查看svn密碼~/.subversion/auth/svn.simple/48eed6299865c0af1dac26d1a6d79efa

mutt發郵件mutt -e "my_hdr content-type:text/html" -s "subject" "user@baidu.com" < mail.html

列出文件中排名前10的行及數量 sort file | uniq -c | sort -k 1 -n -r | head -10

格式化json輸出`cat /tmp/json |python -m json.tool`

輸出文件指定行cat filename| head -n 3000 | tail -n +1000(顯示1000行到3000行),cat filename | tail -n +3000 | head -n 1000(從第3000行開始,顯示1000行。即顯示3000~3999行)

<!--more-->node

sed

sed -i "s/old/new/g" `grep -rl  '../../static/' *` sed批量替換多個文件的內容

golang

編譯時支持GDB調試:
1傳遞參數-ldflags "-s",忽略debug的打印信息
2傳遞-gcflags "-N -l" 參數,這樣能夠忽略Go內部作的一些優化,聚合變量和函數等優化,這樣對於GDB調試來講很是困難,因此在編譯的時候加入這兩個參數避免這些優化
3編譯爲靜態程序CGO_ENABLED="0" go build hello.go

kill -3 <pid>發送SIGQUIT信號,會將正在運行的goroutine的調用棧輸出

gdb

gdb在文件上加斷點時避免每次使用很長的完整路徑,可以使用dir
(gdb) dir /home/yourihua/workplace/rhino/src/github.com/robfig/revel/
Source directories searched: /home/yourihua/workplace/rhino/src/github.com/robfig/revel:$cdir:$cwd
(gdb) b revel.go:86
Breakpoint 2 at 0x44ef60: file /home/yourihua/workplace/rhino/src/github.com/robfig/revel/revel.go, line 86.

打印vector前N個元素print *(myVector._M_impl._M_start)@N

設置調試程序的參數(gdb) set args arg1 arg2 ...

git

git diff  查看還沒有暫存的文件更新了哪些部分
 
git diff filename 查看還沒有暫存的某個文件更新了哪些
 
git diff –cached 查看已經暫存起來的文件和上次提交的版本之間的差別
 
git diff –cached filename 查看已經暫存起來的某個文件和上次提交的版本之間的差別
 
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9 b8e7b00c02b95b320f14b625663fdecf2d63e74c 查看某兩個版本之間的差別
 
git diff ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename b8e7b00c02b95b320f14b625663fdecf2d63e74c:filename 查看某兩個版本的某個文件之間的差別

git log <commit-id> --stat 查看指定commit修改的哪些文件

git checkout -t origin/2.0.0 將本地分支切換爲遠程分支

git config --global core.excludesfile ~/.gitignore 全局忽略

git log --pretty=format:"%h - %an, %ar : %s" 輸出commtid - author - commit time - commit msg

git show <commitid> <file> 查看某次commit對文件的修改

git update-index --assume-unchanged your_file_path 不想繼續追蹤某個文件

git update-index --no-assume-unchanged your_file_path 若是想再次繼續跟蹤某個文件

git co -b release-2.0.1 upstream/release-2.0.1 將遠程分支checkout到本地

git cherry-pick <commit-id> 將某個commit應用到當前分支

vim

:w !sudo tee % 保存時取得sudo權限

加入行號 :'<,'>s/BIT_MASK_\zs\d*\ze/\=line(".") - line("'<") + 1,解釋:
'<,'>        咱們所選中的區域 (:help '<,:help '> )
s            在選中的區域中進行替換 (:help :s )
\zs          指明匹配由此開始 (:help /\zs )
\d*          查找任意位數的數字 (:help /\d )
\ze          指明匹配到此爲止 (:help /\ze )
\=           指明後面是一個表達式 (:help :s\= )
line(".")    當前光標所在行的行號 (:help line() )
line("'<")   咱們所選區域中第一行的行號 (:help line() ) 
當」:s」命令的替換字符串是以」\=」開頭時,代表使用一個表達式計算的結果進行替換

去除重複的行
1.先排序:sort
2.而後不要同時排序:sor ur /^/

fiddler

bpafter <part_url>:URL中含有part_url時中斷,可修改響應而後返回給瀏覽器

redis

cat <file_name> | redis-cli --pipe 一次執行多條redis命令(好比導入大量數據)

vs code

settings.json
"editor.renderWhitespace":true    // 顯示空白字符m
相關文章
相關標籤/搜索