I. Linux/Mac Terminal/Win Gitbash

解压打包

1. 格式:

2. 操作:


  

sftp

sftp sftp@host
sftp> cd /data
sftp> ls
sftp> get portal_0909.zip (从ftp下载到本地)
sftp> lpwd (显示本地当前路径)
sftp> put README.html (从本地上传到ftp)

cp/sh/scp/ssh

cp -r dir1 dir2 targetdir
scp -r gulp-cdn/css gulp-cdn/img gulp-cdn/js root@172.16.40.11:/data/targetdir
scp root@172.16.40.9:/srv/file.tar.gz targetdir
sh task.sh
ssh root@172.16.40.11  "rm -rf /data/css /data/img /data/js"
  

ln

ln -s /git/h.markbuild.io/ /markbuild/blog/ && mv h.markbuild.io h
  

stdin stdout stderr pipe

- echo takes a string and puts it on stdout
- “>” 创建/覆盖写入文件,“>>“创建/追加写入文件, 这是stdout重定向到文件的pipe
some_command 2>stderr.log 1>stdout.log # 1> 等同与>
some_command &>stdout_stderr.log # stdout stderr 同时流向一个文件
some_command 2>/dev/null # 流向黑洞

# tee截取stdout流不仅在屏幕上显示,并同时写到log1和log2
ls -l|tee log1 log2

# Pipe(``)
git rm `git status|grep deleted|awk '{print $2}'`
for i in `ls`;do mv -f $i "front"$i;done 批量重命名

# Pipe(|) 批量杀进程
ps aux|grep 'php\s-f'|awk '{print $2}'|xargs kill -9
pgrep 'php\s-f'|xargs kill -9 # 同上,pgrep直接筛出进程ID数组
  

crontab

crontab -e
service crond restart
  

II. Windows cmd

ftp://: @

III. Git

Config

git config --global user.name "Mark Li"
git config --global user.email e@mail.com
# 这样会生成一个配置文件:~/.gitconfig
# 查看 git config user.email

仓库

git init # 初始化仓库
rm .git # 删除仓库
git add . # copy workspace stage
git checkout . # copy stage workspace
git reset . # unstage(reset stage)
git rm --cached [file] # untrack
git rm `git status|grep deleted|awk '{print $2}'`  # 'git rm' all deleted files shown by 'git status'
git reset —soft HEAD^ # 撤销commit
git reset —soft HEAD~2 # 撤销2次commit

分支

git branch # 列出所有分支
git branch -r # 列出所有远程分支
git checkout -b newbranch # 新建一个分支newbranch 并切换到newbranch分支
git branch newbranch [commit] # 基于指定commit新建一个分支newbranch
git checkout newbranch # 切换分支 更新工作区
git checkout -b newbranch origin/oldbranch # 基于oldbranch创建newbranch
git branch --set-upstream-to=origin/newbranch # 关联远程分支,否则每次git push时都要指定远程分支
git merge origin/master # 合并远程主干分支到当前分支

git branch -d [branch-name] # 删除分支
git push origin --delete [branch-name] # 删除远程分支

比较

git diff master # 当前分支与master分支对比
git diff master --stat # 仅显示不同的文件名
git diff master src/App.vue # 当前分支与master分支比较src/App.vue这个文件
git diff origin/master --stat src # 当前分支与远程master分支比较src目录
git checkout master public/people/echarts-4.3.0.min.js # 将主分支上文件替换当前分支

Tag

IV. svn

svn checkout
svn update
svn add dir
svn commit -m "ud"

V. npm

npm config list 查看配置