linux jdk
wget https://download.java.net/java/GA/jdk17/0d483333a00540d886896bac774ff48b/35/GPL/openjdk-17_linux-x64_bin.tar.gz
cat /etc/redhat-release centos版本信息 lsb_release -a 即可列出所有版本信息
rpm -e --nodeps 包名 删除 java -verbose 最后两行就是java安装路径 /usr/lib/jvm /usr/java 查看java安装,并删除,一定要删除干净 rpm -qa | grep java rpm -qa | grep jdk rpm -qa | grep jenkins 删除命令 rpm -e --nodeps jenkins-2.361.3-1.1.noarch 安装jdk: cd /usr/local/ mkdir java rpm -ivh jdk-8uversion-linux-x64.rpm 安装jdk: tar -xvf jdk-11_linux-x64_bin.tar.gz -C /usr/lib/jvm vim /etc/profile export JAVA_HOME=/usr/lib/jvm/jdk-11 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar source /etc/profile
*************************************************** JKD *************************************
javac:是编译命令,将java源文件编译成.class字节码文件 java:是运行字节码文件;由java虚拟机对字节码进行解释和运行 JVM:加载并运行.class文件 所以它让class文件和用户真实的操作系统隔离,屏蔽了用户系统的差异性,给人一种感觉就是java出道的最大特点:一次编译,处处运行(跨平台) JRE:英文全称Java Runtime Enviromental,字面意思“Java运行时的环境” 它包括了JVM和Java的一些常用的类库 JDK:英文全称Java Development ToolKit,即Java开发工具包,它除了包括JRE和JVM外,还包括java(用于执行.class文件)、javac(用于将.java文件编译成.class文件)等工具,
这些工具能够很好地帮助我们进行Java开发 JDK和JRE区别:去bin文件夹下你会发现,JDK有javac.exe而JRE里面没有,众所周知javac指令是用来将java文件编译成class文件的,这是你开发去做的事,用户是不会去做的。
JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境 jdk-8u151-windows-x64 java官网j2se
linux中jdk安装 1,解压 rpm2cpio jdk-8u151-linux-x64.rpm | cpio -div 2,解压 jdk目录下 ../bin/unpack200 tools.pack tools.jar jre目录下 ../bin/unpack200 rt.pack rt.jar 3.设置环境变量 [root@localhost java]# vi /etc/profile 在profile中添加如下内容: #set java environment JAVA_HOME=/usr/java/jdk1.7.0_79 JRE_HOME=/usr/java/jdk1.7.0_79/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH 修改生效: [root@localhost java]# source /etc/profile 4.验证JDK有效性 [root@localhost java]# java -version
centos安装CD/DVD 映射到镜像不能存在多个
虚拟机设置为net模式 cd /etc/sysconfig/network-scripts/ ONBOOT=yes 是设置开机启动;
linux http://vault.centos.org/ http://mirror.bit.edu.cn/centos/7.3.1611/isos/x86_64/
md5sum linux下查看文件是否一致
curl wget 区别
mvn 将jar包安装到本地maven库中
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=10.2.0.1.0 -Dpackaging=jar -Dfile=F:\study\repository\oracle\ojdbc6\11.2.0.3\ojdbc6-11.2.0.1.0.jar
spring配置文件采用path路径法读取 "file:"+path(通过main方法 args[]传参),如需采用classpath:spring.xml方法读取,配置文件放在jar包根路径下
java -cp D:\lib\* cn.com.gome.cashier.web.controllers.cacheServicelTest D:\\lib\\spring.xml
java -Djava.ext.dirs=./ -classpath demo.jar cn.com.gome.cashier.web.controllers.cacheServicelTest /home/jenkins/logs/rptest/spring.xml
./mysql -uroot -S /app/mysql/mysql/mysql.sock -p123456 进入mysql控制台
./mysqladmin -uroot -p123456 processlist
./mysqladmin -uroot -p123456 status;
进入某个数据库后 show full processlist 查看当前进程,show status 当前连接数
select table_schema from information_schema.TABLES WHERE table_name = 'tbl_account_info'; 查看表属于哪个库
ps -ef|grep mysql
rpm -ql qt-mysql-4.6.2-25.el6.x86_64 安装路径
mysql -u monitor -p monitor 登录
desc tbl_now_trans_monitor_child 查看表结构
df -m . 当前目录磁盘使用情况 -m 是兆 -h 是G df记录的是通过文件系统获取到的文件的大小,他比du强的地方就是能够看到已经删除的文件
ll -alh 查看目录下文件信息
du -hs 当前目录大小,不显示子目录 du能看到的文件只是一些当前存在的,没有被删除的 du -h --max-depth=1 显示子目录大小
echo "I am f1 file" >>xx.txt 追加内容 > 是清空后新建
ln -s f1(源文件) f3 建立软连接 f3
查看端口占用
lsof -i | grep pid 根据进程查看端口
netstat -nap | grep port 根据端口查看进程
ps -aux | grep tomcat
ps -aux | grep 9876
top -u jenkins CPU及内存使用情况 %MEM:进程使用的物理内存和总内存的百分比
显示所有行号,在VI的命令模式下输入 :set nu
grep 项目管理 log/my1.log | wc -l 按行统计 grep -o .... 统计所有
重命名:rename xxx aaa xxx
修改时间:date -s 14:20:50
重加载nginx:nginx -s reload
eclipse 新建maven项目,buildPath中JRE System Library切换为default java -cp demo.jar cn.com.MyTest
dos 命令
复制文件到另一个文件夹 copy
nbtstat -A 127.0.0.1 查看ip的mac地址
dir 查看文件
ifconfig ip查看命令
linux系统自还工具debugfs http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html
more /etc/issue 查看系统版本 CentOS、RedHat
uname -a 查看系统版本 halt poweroff 关机
依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
pLinux VM-10-112-178-108 2.6.32-642.gome.el6.x86_64 #1 SMP Thu Dec 1 16:54:42 CST 2016 x86_64 x86_64 x86_64 GNU/Linux
ll文件查看
文件的属性,连接数,所属用户,所属组,文件大小,最新修改时间等等信息
文件的属性共有10个 文件类型、可读、可写、可执行、文件所属用户组属性(3个)、其他人对此文件属性(3个) drwxr-xr-x
文件类型:d 目录,- 文件,l 连接文件 可读可写可执行:rwx
chmod权限修改
其语法格式为:chmod [who] [opt] [mode] 文件/目录名
who表示对象,是以下字母中的一个或组合:
u:表示文件所有者 g:表示同组用户 o:表示其它用户 a:表示所有用户
opt则是代表操作,可以为:
+:添加某个权限 -:取消某个权限 =:赋予给定的权限,并取消原有的权限
而mode则代表权限:
r:可读 w:可写 x:可执行
chmod a+w /srv/stop chmod o-w /srv/stop
find / -name cmobile-dubbo* 按文件名查找 / 根目录中查找
用户权限
su 后面跟参数“-”表示同时切换到相应用户的环境 例如:su - jenkins
1,一般用户之间切换需要密码
2,root向普通或虚拟用户切换不需要密码
3,su - 和 su - root 是一样的功能
sudo 授权许可使用的su,/etc/sudoers 通过配置来进行授权 例: 用户名 ALL=(ALL) NOPASSWD: ALL
sudo su - 已授权的当前用户切换到root用户
#adduser tommy //添加一个名为tommy的用户
#passwd tommy //修改密码
Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully
/etc/group文件包含所有组
/etc/shadow和/etc/passwd系统存在的所有用户名
vi命令
i插入命令 a附加命令 o打开命令 c修改命令r取代命令 s替换命令 Esc退出命令 u撤销 U撤销所有
x删除光标处的单个字符 dd删除光标所在行
:wq 保存并退出
:q! 强制退出并忽略所有更改
:w! 保存
/ 查询指定字符串 命令模式下输入“/字符串”,即可查找字符串,如果查找下一个,按“n”即可。
esc进入命令模式
光标定位最后一行 shift+g
vi +n filename :打开文件,并将光标置于第n行首
df -hl 磁盘空间查看 -h 方便阅读方式显示 -l 只显示本地文件系统
cat 打开文件 more 类似于cat,是分页显示的
文件操作命令
rm -r test 删除文件 rm -r test/* 删除文件夹下所有文件 rm -rf * //删除当前目录中所有文件 r 递归处理 f 强制删除文件或目录
mkdir dir1 创建一个叫做 'dir1' 的目录'
touch 1.txt 建文件
tar -zcvf xx.tar.gz xmhd 压缩 c 创建新的档案文件 f 使用档案文件或设备,这个选项通常是必选的。 v 显示过程信息
tar -zxvf xx.tar.gz 解压 x 从档案文件中释放文件
tar -xjf all.tar.bz2 解压
jar -xvf project.jar
cp -r bestpay-service/* umpay-service/ 文件下内容复制到目标文件夹 cp -r xxx xxx r 递归
cp bestpay-service.sh umpay-service.sh 将文件复制为另一个
scp -r umpay-service.war 10.126.56.63:/app/server/umpay-service/webapps/ 基于ssh登录不同的Linux之间copy文件
sz服务器端发送(下载文件) sz -r 下载文件
rz服务器端接收(上传文件) rz -y 强制覆盖
yum install lrzsz 下载sz rz包
************************************* 自动部署 *************************************
SERVER_NM=cashier-mobile
SERVERPATH=/app/server
echo date
date
echo =============shut down ======
cd /app/server/${SERVER_NM}/bin
./shutdown.sh
echo ------kill -9 ./shutdown.sh
ID=`ps -ef | grep java | grep ${SERVER_NM}|awk '{print $2}'`
echo $ID
echo"---------------"
for id in $ID
do
kill -9 $id
echo "killed$id"
done
echo"---------------"
echo ========startup===
rm -rf ${SERVERPATH}/${SERVER_NM}/logs/*
rm -rf ${SERVERPATH}/${SERVER_NM}/webapps/${SERVER_NM}
mkdir ${SERVERPATH}/${SERVER_NM}/webapps/${SERVER_NM}
echo =============publish ======
cp /tmp/${SERVER_NM}.war ${SERVERPATH}/${SERVER_NM}/webapps/${SERVER_NM}
cd ${SERVERPATH}/${SERVER_NM}/webapps/${SERVER_NM}
unzip ${SERVERPATH}/${SERVER_NM}/webapps/${SERVER_NM}/${SERVER_NM}.war
echo =============start======
cd ${SERVERPATH}/${SERVER_NM}/bin
./startup.sh
date
echo =============sccess======
************************************* 文件中字符串替换 ****************************************
sed只是对缓存区中原始文件的副本进行编辑,并不编辑原始文件。因此,如果需要保存更改内容,需要将输出重定向到另一个文件,可以使用下面的命令:
sed 'sed命令' input_file > result_file
建.sh文件执行,可替换demo文件里内容并生成server.xml
aSHUTDOWN_PORT=8116
aSSLHTTP_PORT=8117
sed -e "s/SHUTDOWN_PORT/${aSHUTDOWN_PORT}/g" -e "s/SSLHTTP_PORT/${aSSLHTTP_PORT}/g" server.demo.xml > server.xml
sed -i "s/原字符串/新字符串/g" xxx //替换某个文件里的字符串,i插入
sed ‘y/1234567890/ABCDEFGHIJ/’ test_sed
linux启动zookeeper
关闭防火墙service iptables stop
查看端口占用 netstat -natplu|grep :8080
在windows命令行窗口下执行:
netstat -aon|findstr "8080" TCP 127.0.0.1:80 0.0.0.0:0 LISTENING 2448端口“8080”被PID(进程号)为2448的进程占用。
查看端口“8080”被哪个应用占用,,继续执行下面命令:
tasklist|findstr "2448" notepad.exe 2016 Console 0 16,064 K2. 关闭进程
查看cashier-api服务进程数
ps -ef|grep cashier-api
kill -9 进程号
grep -n '.*调用身份证提交接口.*72273030846.*' -C 5 /app/gome_guest/pay/10.58.189.46/GCoin-web/logs/bak/catalina.2017-04-19.out .任意字符 *出现任意次
tail -f /app/gome_guest/pay/10.58.104.33/GCoin-service/GCoin-service-1.0-SNAPSHOT/logs/stdout.log|grep '\[INF\]\[2017'
tail -f /app/gome_guest/pay/10.58.104.33/GCoin-service/GCoin-service-1.0-SNAPSHOT/logs/stdout.log|grep '\[ERR\]\[2017'
grep -2 2017040201010000613 /app/gome_guest/pay/10.58.69.98/channels-service/logs/bak/catalina.2017-04-02.out 查看目标信息前后两行
tail -f /app/gome_guest/pay/10.58.52.120/logs/live/channels/channels-service.log | grep '执行结果' 动态打印过滤后的日志
grep --color -2 第三方 /app/gome_guest/pay/10.58.53.157/logs/live/channels/channels-service.log 关键字高亮显示
grep --color -2 'port' server.xml
30 black
31 red
32 green
33 yellow
34 blue
35 purple
36 cyan
37 white
[root@linux tmp]# GREP_COLOR=32
[root@linux tmp]# export GREP_COLOR
学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行
if True:
print "True"
else:
print "False"
if和else没有严格对其会报错,分支里有多行的话也是要对其的
http://www.yiibai.com/ 教程网站
http://mvnrepository.com/
System.getProperty("user.home" ) user.home是用户的主目录 user.dir就是你运行程序时的目录
************************************* ssh 夸机互信登录 **********************************
ssh jenkins@10.126.56.63 一台机子ssh到另一台
在该机/usr/bin目录下建立ssh-copy-id文件
执行 ssh-copy-id jenkins@10.112.178.108
#!/bin/sh
# Shell script to install your public key on a remote machine
# Takes the remote machine name as an argument.
# Obviously, the remote machine must accept password authentication,
# or one of the other keys in your ssh-agent, for this to work.
ID_FILE="${HOME}/.ssh/id_rsa.pub"
if [ "-i" = "$1" ]; then
shift
# check if we have 2 parameters left, if so the first is the new ID file
if [ -n "$2" ]; then
if expr "$1" : ".*\.pub" > /dev/null ; then
ID_FILE="$1"
else
ID_FILE="$1.pub"
fi
shift # and this should leave $1 as the target name
fi
else
if [ x$SSH_AUTH_SOCK != x ] ; then
GET_ID="$GET_ID ssh-add -L"
fi
fi
if [ -z "`eval $GET_ID`" ] && [ -r "${ID_FILE}" ] ; then
GET_ID="cat ${ID_FILE}"
fi
if [ -z "`eval $GET_ID`" ]; then
echo "$0: ERROR: No identities found" >&2
exit 1
fi
if [ "$#" -lt 1 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
echo "Usage: $0 [-i [identity_file]] [user@]machine" >&2
exit 1
fi
{ eval "$GET_ID" ; } | ssh $1 "umask 077; test -d ~/.ssh || mkdir ~/.ssh ; cat >> ~/.ssh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon ~/.ssh ~/.ssh/authorized_keys >/dev/null 2>&1 || true)" || exit 1
cat <<EOF
Now try logging into the machine, with "ssh '$1'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
EOF

浙公网安备 33010602011771号