批量查找文件是否存在這個字符串
find . -name "*.log" | xargs grep 50eCTe150X8 -a
# -a 解决 grep bin文件问题
spring-boot 等jar在linux下的后台运行方式
nohup java -jar xxx.jar>log.txt &
Redis常用的密码设置
密码设置
在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
redis 127.0.0.1:6379> config set requirepass 123456
查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密码验证:
redis 127.0.0.1:6379> auth 123456
OK
再次查询:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
更新程序查询占用端口
ps -ef|grep redis |grep 6379
全端口扫描
netstat -tunlp|grep 8081
mysql启动
systemctl start mysqld.service
CentOS ip端口放开
firewall-cmd --add-port=3306/tcp
Ubuntu ip端口放开
ufw status
设置默认状态,默认禁止所有连接(所有入站连接)
ufw default deny
启用某个端口
ufw allow 22
删除某个规则
ufw delete allow 22
只打开使用tcp/ip协议的22端口:
ufw allow 22/tcp
内存查询
free -m
磁盘查询
df -h
Cron表达式范例
每隔5秒执行一次:*/5 * * * * ?
每隔1分钟执行一次:0 */1 * * * ?
每天23点执行一次:0 0 23 * * ?
每天凌晨1点执行一次:0 0 1 * * ?
每月1号凌晨1点执行一次:0 0 1 1 * ?
每月最后一天23点执行一次:0 0 23 L * ?
每周星期天凌晨1点实行一次:0 0 1 ? * L
在26分、29分、33分执行一次:0 26,29,33 * * * ?
每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?
压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg
tar –czf jpg.tar.gz *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar –cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar –cZf jpg.tar.Z *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for [Linux](http://lib.csdn.net/base/linux "Linux知识库")
zip jpg.zip *.jpg //zip格式的压缩,需要先下载zip for [linux](http://lib.csdn.net/base/linux "Linux知识库")
解压
tar –xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar –xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
Linux java环境变量配置
JAVA_HOME=/usr/java/jdk1.8.5_151
JRE_HOME=/usr/java/jdk1.8.0_151/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
修改/etc/profile文件
刷新 source /etc/profile
Ubuntu或者Centos包管理器搜索,例如PHP扩展
apt-cache search memcached php
yum search memcached php
详细说明下PHP扩展安装
1,安装 php-pear和phpize
a:
sudo apt-get install php-pear
yum install php-pear
b:
sudo apt-get install php-dev
yum install php-dev
没有找到的可以通过上面的搜索命令,搜索对应的版本
2,开始扩展安装,eg:event扩展安装
注:没有安装libevent-devel和openssl是不能编译event的,所以先安装这个
sudo apt-get install libevent-devel
yum install libevent-devel
sudo apt-get install openssl
yum install openssl
然后
pecl install event
3,配置php.ini
php --ini查找php.ini文件位置,然后在文件中添加extension=event.so
注意:ubuntu可能需要权限修改,先查询出目录位置
pecl config-get php_dir
进行读写权限修改.eg:
chmod -R 777 /usr/share/php
php7 event安装
wget -c https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
cd /usr/local/src
tar -zxvf libevent-2.1.8-stable.tar.gz && cd libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent-2.1.8
make && make install
wget -c http://pecl.php.net/get/event-2.3.0.tgz
cd /usr/local/src
tar -zxvf event-2.3.0.tgz && cd event-2.3.0
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-event-libevent-dir=/usr/local/libevent-2.1.8/
make && make install
extension=event.so
php7.2 安装 ,可以搜索在安装扩展
#安装 EPEL 软件包:
sudo yum install epel-release
#安装 remi 源:
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
#安装 yum 扩展包:
sudo yum install yum-utils
#启用 remi 仓库:
sudo yum-config-manager --enable remi-php72 $ sudo yum update
#安装 PHP7,2:
sudo yum install php72
#安装 php-fpm 和一些其他模块:
sudo yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache
#设置开机自启:
sudo systemctl enable php72-php-fpm.service
#常用 php-fpm 命令
#开启服务
$ sudo systemctl start php72-php-fpm.service
# 停止服务
$ sudo systemctl stop php72-php-fpm.service
# 查看状态
$ sudo systemctl status php72-php-fpm.service
#重启FPM
pkill -o -USR2 php-fpm
pkill -o -USR2 php5-fpm
#导出JVM内存信息
jmap -dump:format=b,file=文件名 pid
#linux如何查看垃圾回收GC的情况,包括fullGC次数和耗时
#解决方法:
#jstat -gc PID 毫秒数 刷新次数
#例如:
#假如我的tomcat启动后的PID是12880,5秒刷新一次,只刷新20次
jstat -gc 12880 5000 20
查看 当前目录占用情况 du -lh --max-depth=1
1.统计80端口连接数
netstat -nat | grep -i "80" | wc -l
2.统计已连接上的,状态为 established
netstat -na | grep ESTABLISHED | wc -l
3.查出 ESTABLISHED 连接 哪个IP地址连接最多
netstat -na | grep ESTABLISHED | awk '{print $5}' | awk -F':' '{print $1}' | sort | uniq -c
4.查出 SYN 连接 哪个IP地址连接最多
netstat -na | grep SYN | awk '{print $5}' | awk -F':' '{print $1}' | sort | uniq -c
5.tcp连接状态数量统计
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'