小总结
Posted zz_cl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小总结相关的知识,希望对你有一定的参考价值。
linux命令模式如下:
$ command [-options] parameter1 parameter2 ...
指令 选项 参数(1) 参数(2)
1、日期时间:
date +%Y/%m/%d(展示当前年月日)
date +%H:%M(展示当前时间)
2、日历:
cal [year](列出某年12个月份的日历)
cal [month] [year](列出某年某月的日历)
3、计算器:
bc 敲quit+回车来结束
4、/ 是根节点,~ 是代位符(个人目录地址/home/username)
5、命令补全提示
Tab键
6、结束当前执行
ctrl+c
7、翻页:
shift+PageUP
shift+PageDown
8、求助说明
--help
9、以root执行命令
sudo command...(前面加sudo)
password:你当前的密码(会要求你输入你当前的密码)
10、修改root密码
sudo passwd
password:你当前的密码
Enter new UNIX password:这个是root的密码
Retype new UNIX password:重复root的密码
11、切换root
su root
password:所切换到的用户的密码
12、拥有执行的权限:
chmod a+x filename
13、执行
. :代表当前的目录,也可以使用 ./ 來表示;
.. :代表上一层目录,也可以 ../ 來代表。
./command
由于指令的执行并非在正规的执行目录(/bin, /usr/bin等为正规),『./』代表『本目录』的意思,所以『./run.sh』代表『执行本目录下, 名为run.sh的文件』
14、查看当前所在目录
pwd
15、文件创建删除相关
mkdir 创建单层文件夹
mkdir -p 可以多层创建文件夹
rmdir 删除单层文件夹
rmdir -p 可以删除多层文件夹
rm 删除文件(下层为空的文件)
rm -r 暴力删除文件(下层不为空的所有文件)
cp复制
mv移动
16、查看文件
cat file(加载全部)
more file(一页一页往下加载)(空白键往下翻页,enter键往下翻行,/键往下搜索关键字,?键往上搜索关键字,q键离开)
less file(支持往上往下加载)(空白键往下翻页,enter键往下翻行,/键往下搜索关键字,?键往上搜索关键字,q键离开,pageup/pagedown翻页,上下箭头翻行)
17、查看变量
which java
whereis java
18、find 目录(查找下面的所有文件)
19、压缩解压
gzip gunzip
.tar 打包归档文件,不压缩
.zip 打包归档文件,压缩
.gz 打包文件,压缩
tar 解压文件到指定目录:tar -zxvf /home/zjx/aa.tar.gz -C /home/zjx/pf
tar [-cxtzjvfpPN] 文件与目录....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看tarfile 里面的文件!
特别注意,在参数的下达中,c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有gzip 的属性?亦即是否需要用gzip 压缩?
-j :是否同时具有bzip2 的属性?亦即是否需要用bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在f 之后要立即接文件名喔!不要再加参数!
20、创建文件:
vi file(创建文件并进入文件编辑状态)
touch file(只创建,不编辑)
21、安装vim
ubuntu默认没有安装vim
使用sudo apt-get update && sudo apt-get install vim安装即可。root用户则不需要加sudo
22、vi相关
基本上 vi 共分為三种模式,分別是『一般指令模式』、『编辑模式』与『指令列命令模式』。
『一般指令模式』:上下左右移动,复制粘贴,删除:常用:x向后删除一个字元(del),X向前删除一个字元,dd刪除游标所在的那一整列,u还原前一個动作。/向下搜索,?向上搜索,G移至最后一列,gg移至第一列。
『编辑模式』:o,O,r,R,a,A,i,I进入,esc键离开,i游标处进入,o游标处的上下列进入,r游标处开始替换,a游标所在列头尾进入
『指令列命令模式』:,/,?来完成。:w写入,:w!强制写入,:q离开,:q!强制离开不保存,:wq写入并离开,:wq!强制写入并离开,!带强制的意思
/向下搜索,?向上搜索,:%(每一行,不加%则只是替换游标所在行)s/替换前/替换后/g(所有,不加g则只是替换第一个)
23、定义变量
declare -i sum=1+2
echo $sum或echo $sum
-i定义整形变量,-x定义环境变量,-r定义只读变量
+i取消整形变量,+x取消环境变量,+r取消只读变量(-加属性,+去属性)
24、定义数组
var[1]=str
echo $var[1](需加)
25、source 文件,使之生效,读入环境。
26、export 变量,导出到环境变量。
27、netstat -nap | grep PID
28、lsof -i :端口号
tail -f filename实时查看日志。
less G查看最后,gg查看最前 /向下查找 ?向上查找 b/n往上往下 q离开
if [ ]
then
fi
vi,echo,touch,cp,mv创建文件
chmod 777 filename (User、Group、及Other的权限。)
r=4(读),w=2(写),x=1(执行)
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。
实现一个简单定时器
/usr/test/test.sh
#! /bin/bash
echo "123" >> /usr/test/test.txt
crontab -e 打开定时器任务编辑器
* * * * * /usr/test/test.sh
分钟 小时 日 月 星期 命令 */带数字(每)
crontab -r 删除定时器
启动zookeeper客户端,create 子节点
服务端new serversocket 指定端口 ,进入阻塞accept
客户端 new socket指定服务器地址和端口,建立通道流
心跳机制,客户端和服务器端定时互发信息。检测对方是否还活着
长连接:服务器发送完数据不断开连接,除非超过定义的最长时限
zookeeper集群:广播模式(同步)和恢复模式(选举leader);心跳机制\\
服务的注册和发现
egrep -v "^#|^$" zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataLogDir=/opt/zookeeper/logs
dataDir=/opt/zookeeper/data
clientPort=2181
autopurge.snapRetainCount=500
autopurge.purgeInterval=24
server.1= 192.168.1.148:2888:3888
server.2= 192.168.1.149:2888:3888
server.3= 192.168.1.150:2888:3888
tickTime这个时间是作为zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是说每个tickTime时间就会发送一个心跳。
initLimit这个配置项是用来配置zookeeper接受客户端(这里所说的客户端不是用户连接zookeeper服务器的客户端,而是zookeeper服务器集群中连接到leader的follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。
当已经超过10个心跳的时间(也就是tickTime)长度后 zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 10*2000=20秒。
syncLimit这个配置项标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度,总的时间长度就是5*2000=10秒。
dataDir顾名思义就是zookeeper保存数据的目录,默认情况下zookeeper将写数据的日志文件也保存在这个目录里;
clientPort这个端口就是客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口接受客户端的访问请求;
server.A=B:C:D中的A是一个数字,表示这个是第几号服务器,B是这个服务器的IP地址,C第一个端口用来集群成员的信息交换,表示这个服务器与集群中的leader服务器交换信息的端口,D是在leader挂掉时专门用来进行选举leader所用的端口。
除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。
这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。
leader,follower
dubbo:分布式RPC远程调用服务框架,基于Spring的自定义Schema标签模式扩展定义服务接口: (该接口需单独打包,在服务提供方和消费方共享)
在服务提供方实现接口:(对服务消费方隐藏实现),用Spring配置声明暴露服务,并启动(ClassPathXmlApplicationContext)
消费方通过Spring配置引用远程服务,加载Spring配置,并调用远程服务。
透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
线程t1 join(优先执行)
join的意思是使得放弃当前线程的执行,并返回对应的线程,程序在main线程中调用t1线程的join方法,则main线程放弃cpu控制权,并返回t1线程继续执行直到线程t1执行完毕
线程计算器CountDownLatch
latch.countDown();(线程执行完成,执行减一)
latch.await();
AtomicInteger线程安全的加减操作接口
ThreadLocal线程本地变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
当很多线程需要多次使用同一个对象,并且需要该对象具有相同初始化值的时候最适合使用ThreadLocal。ThreadLocal以空间换时间,synchronization同步则以时间换空间
ActiveMQ
netty异步事件处理框架
基于NIO(no-blocking io)非阻塞IO,多路复用。
传统io,一个请求开一个socket开一个线程处理业务逻辑。其他线程阻塞。
nio,channel通道(change nol),buffer进行数据传输,缓存流,selector选择器。请求进通道,注册进selector,select监听通道进行处理。一个通道处理完成才开一个线程处理。而不是每个请求来就开一个线程。
集群session共享
Nginx+Tomcat搭建集群,Spring Session+Redis实现Session共享
修改tomcat server.xml 和应用web.xml
nginx 设置ip_hash,保证一个ip地址永远访问一台web服务器
spring-session实现分布式集群session的共享
MongoDB分布式文件存储的数据库
js即可操作
使用redis实现分布式锁,防止表单重复提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
国密sm2.zip
执行fdisk -l即可看到加载的硬盘。parted -l则可以看到该硬盘还不可用。执行mkfs -t ext4 /dev/sdc格式化硬盘,mount /dev/sdc /opt将硬盘挂载到/opt,lsblk即可看到硬盘已经挂载成功
创建文件夹opt/files,执行yum install cifs-utils -y或apt-get install cifs-utils安装cifs工具,执行mount -t cifs -o username=administrator,password='',uid=0,gid=0 网络地址/fileSource/opt/files,将window主机下的D:\\fileSource文件夹挂载到/opt/files
df -h
apache-jmeter-3.3的简单压力测试使用方法
https://www.cnblogs.com/ios9/p/7644951.html
maven install打jar包,META-INF下的MANIFEST.MF定义入口main函数
Program arguments和VM arguments,方法参数和运行时系统变量(system.getproperty)
java -jar -Dxxx=xxx xxx.jar xxx xxx
以上是关于小总结的主要内容,如果未能解决你的问题,请参考以下文章