这篇笔记用以汇总那些年常用的命令行,以备关键时候可能用到,尽管现在很多工具都提供图形化的方式操作。
Git
对于代码管理工具(SCM),就我个人经验来说,这些年我用过svn、cvs、perforce、git。目前,Git是最流行的一个,很多的IDE都和Git有很好的集成。
下面是一些常用的git命令行汇总:
1,本地有一个项目,之前没有用git管理,现开始用git管理
git init
2,检查项目文件的状态
git status
3,提交所有文件到本地branch
git add -A
git commit -m "commit message"
4,添加远程分支
git remote add origin
git pull
git branch -a
git branch --set-upstream-to=origin/master master
5,提交到远程分支
git push
git push -u origin master
6,创建分支
git branch dev
7,切换分支
git checkout dev
8,删除已经提交到远程分支的文件
git rm --cached FILENAME
Maven
Maven是java领域一个非常流行的工具,它不仅仅是一个依赖管理工具,同时也是项目构建工具。在maven之前的ant和ivy就是纯粹的包管理工具。类比其它技术栈,maven就约等于nodejs领域的npm+grunt/gulp;约等于.net领域的nuget+msbuild。
1,常用的构建命令
mvn clean test
mvn clean install -Dmaven.test.skip=true
mvn clean install -DskipTests=true
2,maven流行的一个主要原因是其丰富的插件,下面是几个常见的插件:
mvn help:describe -DgroupId=org.somewhere -DartifactId=some-plugin -Dversion=0.0.0
mvn dependency:tree -Dverbose -Dincludes=spring-expression
mvn failsafe:integration-test -DskipIntegrationTests=false
mvn failsafe:integration-test -Dit.test=integrationtest.CustomerServiceIT -DskipIntegrationTests=false
mvn jetty:run -Dhttp.proxyHost=proxy.abc.com -Dhttp.proxyPort=8080 -Dhttps.proxyHost=proxy.abc.com -Dhttps.proxyPort=8080
mvn archetype:generate -DarchetypeArtifactId=some-archetype -DarchetypeGroupId=org.somewhere -DarchetypeVersion=3.4.0
CURL
curl是一个非常实用的在命令行环境下用来发送http请求的工具,常常在创建一些自动化脚本的时候会用到。
下面是几个常用的命令:
1,发送post请求
curl -X POST -H "Content-Type: application/json" -H "shop-name:nike" -d '{"customerId":"testopenidddde","activityType":"AWARD","points":10,"description":"test","transactionAmount":0}' --proxy "" 'http://loyaltymashup.115.159.37.55.xip.io/rewardActivity'
2,发送get请求
curl -X GET -H "shop-name: nike" --proxy "" 'http://loyaltymashup.115.159.37.55.xip.io/members/oNeMQuKdUplMg2XLrfNjoI11iFD0'
3,发送delete请求
curl -X DELETE -H "shop-name: nike"--proxy "" 'http://loyaltymashup.115.159.37.55.xip.io/members/oNeMQuKdUplMg2XLrfNjoI11iFD0'
SQL
尽管市面上数据库产品众多(数据库 10 年风云变迁!哪款你最爱?),但是它们基本上都支持通用的sql,所以熟记基本的sql语句非常有用。
下面是一些常用的sql DML语句:
查询
SELECT * FROM customer;
SELECT * FROM customer where name='customer1';
SELECT * FROM table1 LEFT JOIN table2 ON table1.column=table2.column;
插入
INSERT INTO customer(id,NAME) VALUES(2,'customer2');
INSERT INTO customer(id,NAME) VALUES(2,'customer2'),(3,'customer3');
更新
UPDATE customer SET name='customer2+' WHERE MOD(id,2)=0;
删除
DELETE FROM customer WHERE id=5;
TRUNCATE customer;
Shell
相比个人电脑操作系统基本上是windows和macOS的天下,移动端操作系统基本上是android和iOS的天下,服务器操作系统则基本上是Linux主导。Linux基于unix发展而来,现在有多个发行版本:服务器版(Debian、RHEL、CentOS等),桌面版(Ubuntu、Fedora、OpenSUSE等)。
Shell是命令行使用Linux系统的工具,类似于windows上的dos命令行工具。虽然shell有很多版本,但是各个版本之间的差别不大,其中常用的是bash。掌握一些常用的命令对创建一些shell脚本非常有帮助。
下面是一些常用的shell命令:
1,文件管理
pwd(查看当前目录)、cd(切换目录)、ls(列出当前目录所有文件)、mkdir(创建目录)、touch(创建文件)、cp(复制)、mv(剪切)、rm(删除)、cat(查看文件内容)、tail(从文件尾查看,查看日志很有用)、find(查找文件)、grep(filter文件内容)。
2,进程管理
ps、top、kill
3,查看用户
whoami
4,查看系统配置
uname
5,查看磁盘内存
df、du、free
注:上面所有命令都可以在命令后面加-h或者--help来查看命令具体如何使用;另外,通过manual+命令也可以。
T-code
通过SAPGUI 操作erp,熟记一些t-code有时候可以大大提高工作效率,特别是对于一个SAP的员工来说。
下面是一些常用的t-code:
bp 管理business partner
su01 账号权限
spro IMG
va05 列出销售清单
se93 查看T-code list
cs01 创建BOM
mm01 创建物料
mm02 物料主数据
xd03 查询customer
se11 表定义查询-but000表
注:t-code前面加/n和/o的区别
/n leaves the current transaction and takes you to a new transaction in the same session.
/o opens another session and takes you to the new transaction in it. You still have your previous session open with the previous transaction.