工作常用命令记录

-----------------------------------------------ht/note.txt---------------------------------------------------

-------------常用命令----------------

压缩    zip -q -r ahWeixin_20160622.zip ahWeixin
解压    unzip ahWeixin_20160622.zip
删除目录包括子文件    rm -rf
查询特定后缀文件    find ./ -name '*.tgz'
只显示目录    ls -F|grep '/$'
oracle 时间戳转date    TO_DATE('19700101','yyyymmdd') + 1469412791/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 from dual


ps -ef|grep tomcat
kill -9 xxxx


mvn clean package -Ptest


后台运行jar:
nohup /usr/java/jdk1.7.0_40/bin/java -jar wx-setting-1.0-SNAPSHOT.war --spring.profiles.active=prod &
本地安装maven依赖:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=ojdbc14.jar


------------易忘记录-----------------
本地启动spring方式  ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");


Linux下修改TomcatJVM内存大小(修改字符集同理):
要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上
# OS specific support.  $var _must_ be set to either true or false.
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=512m" 
cygwin=false


-----------注意事项--------------------
字节流转字符流时要设置好字符集
tomocat在windows下启动时会将jvm字符编码设置为gbk,可以通过添加tomcat启动参数(vm options )-Dfile.encoding=UTF-8来改为utf8


防止oracle group by 选一条报错的解决方式:
select min(t.id),t.mobile, count(*) from T_WEIXIN_ITV_USER t group by t.mobile




===========不使用springboot内嵌的tomcat==========
1.将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法


@SpringBootApplication
public class Application extends SpringBootServletInitializer {


    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }


    public static void main(String[] args) throws Exception {
        SpringApplication.run(Application.class, args);
    }


}


2.在pom.xml文件中,project下面增加package标签


<packaging>war</packaging>
1
1
3.还是在pom.xml文件中,dependencies下面添加


<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>

</dependency>


-----------------------------------------------------------------------ht/linux.txt----------------------------------------------------------------------------------

# uname -a                 查看内核/操作系统/CPU信息 
# head -n 1 /etc/issue     查看操作系统版本 
# cat /proc/cpuinfo        查看CPU信息 
# env                      查看环境变量资源 
tar -zxvf                  解压tar.gz
curl http://localhost      访问网页
export MVN_HOME=/opt/mvn   在用户home目录下修改.bash_profile修改环境变量         
export PATH=$PATH:$MVN_HOME/bin
source .bash_profile       执行用户变量脚本使其生效
chmod +x ./test.sh         使脚本具有执行权限
cat -100 log.txt           查看后100行


cat error.log | grep -C 5 'nick' 显示file文件里匹配foo字串那行以及上下5行
cat error.log | grep -B 5 'nick' 显示foo及前5行
cat error.log | grep -A 5 'nick' 显示foo及后5行


执行当前目录下的命令:    ./java -version


netstat -tunlp |grep 80   查看80端口及其对应进程
lsof -i:8080              查看8080端口对应的进程的一些信息
du -m folder              查看指定文件夹下各资源大小(单位M)


find / -name 'git*' -type d  在根目录下查找以git开头的目录


cp -r  /tmp/a  /root/a    复制



------------------------------------------------------------ky/note.txt-----------------------------------------------------------------------------------

==========易忘记录==============================
spring security 权限控制
.antMatchers("/test").access("hasAuthority('ROLE_HEAD_ADMIN')")


mq管理站点:
http://localhost:15672/#/


查看该端口使用情况:
netstat -ano|findstr "8082"


让所有外部机器可访问本地mysql
grant all privileges on *.* to kyee@'%' identified by 'kyeepass';


一个字符的Unicode编码的专业术语叫code point, 如果一个字符的编码属于U+0000 到 U+FFFF范围,那么可以使用2个字节表示,这个范围不能表示全天下所有的字符,比如“0×20001”。unicode在这个的基础上制定了一个扩展集


在对应的mapper下面开启二级缓存:
<cache readOnly="true"/>再使用useCache进行细化


==========注意点==================================
String覆盖了equals方法和hashCode方法,而StringBuffer没有覆盖equals方法和hashCode方法,所以,将StringBuffer对象存储进Java集合类中时会出现问题。
String s="a"+"b"+"c"+"d";该句语句应该只创建了一个对象,对于这种字符串常量相加,编译时被优化了。


mysql中的OR要慎用!使用时一定要加(xx OR yy)
mysql =null、!=null都返回false


java 线程start()可以多个线程并发,而run()只有当前的运行完了,下个才运行


spring mvc get 传对象时去掉@RequestParam




==========问题记录================================
!!equals 与 ==:String的equals先比较引用,引用相同返回true,引用不同比较值;其它有多字段的对象equals相当于==,只比较引用。
 (而像int、double 只能用== 比较值)
String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象
java的CLASSPATH 包含了一个或多个目录,它们作为一种特殊的“根”使用,从这里展开对.class 文件的搜索。(供java解释器需要加载外部class时用)


spring boot可以创建包含前台的应用,需要将html等前台资源放在src/main/webapp目录下(通过新增web模块来实现)


------------------------------------------------------------------------ky/git.txt---------------------------------------------------------------------------------------

1.查看本地和远程分支, remote开头的都是远程分支:
git branch -av
git checkout --track <branchName>(创建分支就用这种)
git checkout <branchName>  切换本地分支
    


下载代码:
git pull (git fetch + git merge)


当其它新建分支不显示时:git pull更新下(pull前先push)===>改为git fetch origin更新下


git merge <branchName1> 将branchName1分支合并到当前分支


提交修改:
git status (查看改动)
git add --all (add 到index)
git commit -am "ok" (提交到本地repository)
--git push origin feature/修改医嘱查询  (将本地分支push到远程,远程不存在则新建)
git push (提交到远程repository)
git rm --cached "文件路径",不删除物理文件,仅将该文件从缓存中删除
git rm -rf --cached "目录名字",不删除物理文件,仅将该目录下的文件从缓存中删除




如果想把当前的修改都放弃,你可以用下面的命令回到合并之前的状态:
git reset --hard HEAD(或者回退到指定的commit id:git reset --hard 8f38h3432d3f...)
或者如果你已经把合并的代码提交了,这时候的撤销需要下面的命令:
git reset --hard ORIG_HEAD
如果只是想把上次的提交变为未提交状态:
git reset --soft HEAD^


git push -u origin :branch-name
冒号前面的空格不能少,原理是把一个空分支push到server上,相当于删除该分支




因为一些untracked working tree files引起的问题
git clean -d -fx即可


git fetch -p 让已经失效的远程分支不再显示


忽略某些文件的提交(不跟踪)
vim .gitignore
git update-index --assume-unchanged path/to/file
还原(继续跟踪)
vim .gitignore
git update-index --no-assume-unchanged path/to/file


git commit --amend 修改上次提交信息


==注意 在feature分支上git rebase的话,远程已有提交的话,rebase完相当于改写了历史,可以先删掉远程的feature再push


将最近两个commit合为1个:git reset --soft HEAD^1   git commit --amend


将最近N个commit合并   git rebase --interactive --autosquash HEAD~N(可能会修改以push到dev的commit,不安全)


或者用 git rebase -i origin/dev 统一改(修改未push到dev的那些commit,很安全)


git checkout . 将当前所有没提交的修改还原


禁用掉git的自动换行功能  git config --global core.autocrlf false


//将已有项目初始化为git项目并提交到远程
1.在对应项目目录下git init
2.在远程创建名为test的项目
3.git remote add origin https://github.com/jl327/test.git
4.git push -f origin master
//删除添加的远程仓库:  git remote rm origin


git bolb对象只包含内容, tree对象包含路径


批量删除分支
git branch |grep '分支名模糊匹配' |xargs git branch -D


解决pull时unlink file的问题(得重新打开命令窗口)
git gc --auto
git repack -d -l


----------------------------------------------------------------------docker.txt-------------------------------------------------------------------------------------

docker-machine.exe ssh default  :登录到名为default的docker虚拟机
docker images  查询所有镜像
docker search mysql 在docker hub上查询mysql的镜像
docker run -t -i --name test busybox sh 运行容器
docker start <name> 运行已存在的容器
docker rm <name> 删除容器
docker ps(-a) 查看正在运行的容器(所有的包含未运行的容器)
docker rm `docker ps -a -q` 删除所有容器


docker attach <正在运行的容器名> 进入该容器shell


docker commit -m "Added json gem" -a "Kate Smith" \<containerId> <imageName>:v1.2 基于容器创建镜像

猜你喜欢

转载自blog.csdn.net/wo327865/article/details/52473389