centos常见操作 - yiyixiaozhi/readingNotes GitHub Wiki
[TOC]
-
关闭防火墙:CentOS 7.0默认使用的是firewall作为防火墙
-
查看防火墙状态:firewall-cmd --state
-
停止firewall:systemctl stop firewalld.service
-
禁止firewall开机启动:systemctl disable firewalld.service
# 启动服务
systemctl start crond.service
# 查看是否开机自启
systemctl list-unit-files | grep crond
[root@localhost ~]# timedatectl set-timezone Asia/Shanghai
# 查看系统版本号
cat /etc/centos-release
# 打开阿里云镜像源查找对应版本:https://opsx.alibaba.com/mirror,点击帮助
cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
#清除缓存
yum clean all
#生成缓存
yum makecache
#如果需要的话,可以升级所有包同时也升级软件和系统内核;
yum -y update
##只升级所有包,不升级软件和系统内核
yum -y upgrade
## 安装依赖工具
yum install ncurses-devel
cd /home/yyxz/download/
git clone https://github.com/Xfennec/progress.git
cd /home/yyxz/download/progress/
make
make install
查看进度
# progress
No command currently running: cp, mv, dd, tar, cat, rsync, grep, fgrep, egrep, cut, sort, md5sum, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, adb, gzip, gunzip, bzip2, bunzip2, xz, unxz, lzma, unlzma, 7z, 7za, zcat, bzcat, lzcat, split, gpg, or wrong permissions.
CentOS7 永久修改系统时间 安装在虚拟机上的CentOS7的时间分为系统时间和硬件时间。二者都修改,重启系统(init 6 )才会永久生效。
修改步骤如下 查看当前系统时间 date 修改当前系统时间 date -s "2018-2-22 19:10:30 查看硬件时间 hwclock --show 修改硬件时间 hwclock --set --date "2018-2-22 19:10:30" 同步系统时间和硬件时间 hwclock --hctosys 保存时钟 clock -w 重启系统(init 6)后便发现系统时间被修改了
[root@school-on-air ~]# rpm -qa | grep rabbit
rabbitmq-server-3.7.13-1.el7.noarch
[root@school-on-air ~]# rpm -ql rabbitmq-server-3.7.13-1.el7.noarch
/usr/bin/db_dump -d a /etc/vsftpd/vsftpd_login.db
# 拆分100MB
split -b 100m web-20190625105259.log small_file_
# 拆分文件,使用3位数字后缀,文件前缀small_file_并且扩展名为.log
split -b 100m web-20190625105259.log -d -a 3 small_file_&&ls|grep small_file_|xargs -n1 -i{} mv {} {}.log
ll
small_file_000.log
small_file_001.log...
# 拆分1000行
split -l 1000 web-20190625105259.log small_file_
du -sh ./*ll -h
显示20分钟前的文件
find /home/prestat/bills/test -type f -mmin +20 -exec ls -l {} \;
删除20分钟前的文件
find /home/prestat/bills/test -type f -mmin +20 -exec rm {} \;
显示20天前的文件
find /home/prestat/bills/test -type f -mtime +20 -exec ls -l {} \;
删除20天前的文件
find /home/prestat/bills/test -type f -mtime +20 -exec rm {} \;
参考:https://blog.csdn.net/daisy_ljq/article/details/82260464
du -h --max-depth=1
http://www.xhidc.net/fuwu/fwq/centos/65.html https://blog.51cto.com/12173069/2065704
tar -cjvf test.bz2 web-20190828120818.log
tar -xvjf test.bz2
memstat -p 1828
cat /proc/meminfo
free -h
1 秒解析 4 张,命名范围 4 位数字以内。
ffmpeg -i 1.mp4 -f image2 -r 4 -q:v 2 %4d.jpg
# 查看10000到10001行内容
sed -n '10000,10001p' web-20191116211009.log
# 查看到末尾
sed -n '10000,$p' web-20191116211009.log
netstat -n | awk '/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}'
1、time_wait状态过多。
原因:最可能的原因是服务器keepalive没有开,导致每次请求都要建立新的tcp连接,请求完成以后关闭,增加了很多time_wait的状态。另,keepalive可能会增加一部分内存的开销,但是问题不大。
2、fin_wait1状态过多。fin_wait1状态是在server端主动要求关闭tcp连接,并且主动发送fin以后,等待client端回复ack时候的状态。fin_wait1的产生原因有很多,需要结合netstat的状态来分析。
netstat -nat|awk '{print awk $NF}'|sort|uniq -c|sort -n
上面的命令可以帮助分析哪种tcp状态数量异常
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
则可以帮助你将请求80服务的client ip按照连接数排序。
————————————————
执行命令"netstat -na"查看到的相关TCP状态解释:
LISTEN: 侦听来自远方的TCP端口的连接请求;
SYN-SENT: 在发送连接请求后等待匹配的连接请求;
SYN-RECEIVED: 在收到和发送一个连接请求后等待对方对连接请求的确认;
ESTABLISHED: 代表一个打开的连接;
FIN-WAIT-1: 等待远程TCP连接中断请求, 或先前的连接中断请求的确认;
FIN-WAIT-2: 从远程TCP等待连接中断请求;
CLOSE-WAIT: 等待从本地用户发来的连接中断请求;
CLOSING: 等待远程TCP对连接中断的确认;
LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认;
TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认;
CLOSE: 没有任何连接状态;
参考:https://www.cnblogs.com/kevingrace/p/9988354.html
java.io.IOException 断开的管道 解决方法 ClientAbortException: java.io.IOException: Broken pipe
https://blog.csdn.net/zqz_zqz/article/details/52235479
# grub2-editenv list
saved_entry=CentOS Linux (3.10.0-957.12.2.el7.x86_64) 7 (Core)
grub2-set-default "Windows 10 (loader) (on /dev/sda1)" # 默认启动Win10
# 设置默认启动CentOS
## grub2-set-default "CentOS Linux (3.10.0-957.12.2.el7.x86_64) 7 (Core)"
# grub2-editenv list
saved_entry=Windows 10 (loader) (on /dev/sda1)
# cat /boot/grub2/grub.cfg
开机启动项在这里可以看到
# 文件批量重命名(包含空格)
for name in */ *.jpg;do echo $name; mv "$name" "2020-$name";done
# 文件名包含空格时,将 IFS(内部字段分隔符)设置为换行符 \n,这样一来,for 循环就会按行来获取变量的值,确保每次获取的确实是一个完整的文件名。
IFS=$'\n';for name in `ls *.jpg`;do echo $name;done
# 去掉文件名中的空格脚本,关键是sed语法中的s取代指令(通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!)
# 举例:newfile=`echo $file | sed 's/\([a-z]\+\)\([0-9]\+\)/\1-\2/'`
# 目标:将 book01.txt、paper02.txt 改为 book-01.txt、paper-02.txt
IFS=$'\n'
for name in `ls *.jpg`
do
echo $name
newfile=`echo $name | sed 's/ //g'`
echo $newfile
mv $name $newfile
done
# 给当前目录(包括所有子目录下的jpg文件统一加上前缀,并且移除路径或者文件名中的空格)
# 示例(输入1984前缀):old:./杨家洼/IMG_20131003_202518.jpg 转换后为new:./杨家洼/1984_IMG_20131003_202518.jpg
$ cat ./rename.sh
read -p "Enter jpg file prefix: > " filePrefix
echo "Your input is :$filePrefix"
IFS=$'\n'
#for name in `ls *.jpg`
for name in `find . -name "*.jpg"`
do
echo "old:$name"
# sed 's/\ //g' 去掉空格
# sed "s/\(.*\)\/\(.*\).jpg/\1\/$filePrefix\_\2.jpg/g"` 加上$filePrefix_前缀
newfile=`echo $name | sed 's/\ //g' | sed "s/\(.*\)\/\(.*\).jpg/\1\/$filePrefix\_\2.jpg/g"`
echo "new:$newfile"
#mv $name $newfile
done
#!/bin/bash
echo "stoping fd-server.jar"
pid=`ps -ef | grep 'fd-server.jar' | grep -v grep | awk '{print $2}'`
for pidname in $pid;
do
if [ -n "$pid" ];then
echo "kill -9 pid:"$pidname
kill -9 $pid
fi
done
timestring=`date "+%Y%m%d%H%M%S"`
CUR_DIR=$(pwd)
cd $CUR_DIR
mkdir logs
echo "Run fd-server.jar, current path:"$CUR_DIR
nohup java -jar -Dspring.profiles.active=test -Dserver.port=8083 fd-server.jar > logs/web-$timestring.log &
七牛云自动上传 https://github.com/NigelWu95/qiniu-suits-java/blob/master/docs/uploadfile.md#directory-config-配置 https://developer.qiniu.com/kodo/tools/6263/the-command-line-tools-qsuits#3 https://github.com/NigelWu95/qiniu-suits-java/blob/master/docs/datasource.md
$ cat /home/yyxz/Work/Tools/application.config
process=qupload
# path=qiniu://files
bucket=files
ak=X0LmHgiOUUZqG_vY2lN81TgnTfpJ2Q46xmmhQyHv
sk=NDi_TWX5d5omWRquTmGH2EHwUL__PR7y4oKu8_M-
# upload to qiniu yun, 30天后自动删除
qsuits -config=/home/yyxz/Work/Tools/application.config -path=fd-server.bz2 -policy.deleteAfterDays=30
批量清空文件内容:
ls -1 | while read line;do echo "" > $line;done
https://www.cnblogs.com/gwmq/p/10504681.html yum install ibus-libpinyin ibus-setup 打开桌面最上栏的应用程序、选择系统工具、选择设置
https://www.e-learn.cn/topic/3413590
启动fcitx
fcitx 配置搜狗输入法(一般 ctrl + 空格 调出)
1.fcitx-configtool