1、yum源的优化
CentOS base epel
自建yum仓库
使用一个较为稳定的仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
[epel]
name="huawei epel repo"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
2、系统主机名
1、hotnamectl
2、vim /etc/hostname
3、系统之间的域名解析
vim /etc/hosts
ip 主机名
4、关闭selinux和防火墙
1、临时关闭
setenforce 0
2、永久关闭
vim /etc/selinux/config
systemctl disable --now firewalld
5、配置ntp时间同步
1、安装ntp
yum install ntpdate
2、同步时间
ntpdate [时间服务器的地址]
ntp.aliyun.com
ntp.tuna.tsinghua.edu.cn
北斗 ---> 原子钟
6、ulimit:设置系统开启进程或者文件句柄数的
-n 最大文件句柄数
-u 最大进程数
永久修改 加大文件描述符与最大打开的进程数
cat >>/etc/security/limits.conf<<EOF
-
soft nofile 102400
-
hard nofile 102400
-
soft nproc 102400
-
hard nproc 102400 EOF
ELK elasticsearch ---> 65536 65535
import os import time from threading import Thread
print(os.getpid())
def task(n): with open('%s.txt' %n,mode='wt') as f1: time.sleep(1000) if name == "main": count=1 while True: Thread(target=task,args=(count,)).start() count+=1 time.sleep(3)
import os import time from threading import Thread
print(os.getpid())
def task(n): with open('shanhe%s.txt' %n,mode='wt') as f1: time.sleep(1000) if name == "main": count=1 while True: Thread(target=task,args=(count,)).start() count+=1 time.sleep(3)
7、最大PID数
1、临时修改
echo 111111 > /proc/sys/kernel/pid_max
2、永久修改
echo "kernel.pid_max= 4194303" >> /etc/sysctl.conf
sysctl -p
8、调整内核参数
cat >>/etc/sysctl.conf<<EOF net.ipv4.tcp_fin_timeout = 2 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_keepalive_time = 600 net.ipv4.ip_local_port_range = 4000 65000 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_max_tw_buckets = 36000 net.ipv4.route.gc_timeout = 100 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_synack_retries = 1 net.core.somaxconn = 16384 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_orphans = 16384 net.ipv4.ip_forward = 1 EOF
10、NetworkManager
在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突,而且NetworkManager在网络断开的时候,会清理路由,如果一些自定义的路由,没有加入到NetworkManager的配置文件中,路由就被清理掉,网络连接后需要自定义添加上去。
推荐
[root@localhost ~]# systemctl disable --now NetworkManager
11、禁ping
禁止主机被ping:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
12、用户提权sudo
当普通用户临时使用root用户的权限时使用。
前提:
这个用户必须在/etc/sudoer文件中添加权限
[root@localhost ~]# vim /etc/sudoers
oldboy01 ALL=(ALL) ALL
[oldboy01@localhost tmp]$ sudo vim a.txt
13、字符处理
sort命令
sort是排序的命令,默认使用第一个字符进行排序
-n # 依照数值的大小排序
[root@localhost ~]# cat 1.txt | sort -n
-r # 以相反的顺序来排序
[root@localhost ~]# cat 1.txt | sort -n -r
-k # 以某列进行排序(默认的分隔符是空格)
[root@localhost ~]# cat 2.txt | sort -n -k2
-t # 指定分割符,默认是以空格为分隔符
[root@localhost ~]# cat 3.txt | sort -n -k2 -t:
uniq 命令(去重,默认只去重相邻的数据)
[root@localhost ~]# cat 1.txt | sort -n | uniq
-c # 在每列旁边显示该行重复出现的次数。
[root@localhost ~]# cat 1.txt | sort -n | uniq -c
-d # 仅显示重复出现的行列。
[root@localhost ~]# cat 1.txt | sort -n | uniq -c -d
-u # 仅显示出一次的行列。
[root@localhost ~]# cat 1.txt | sort -n | uniq -c -u
cut 命令(分割字符)
cut分割字符有局限性。
-d # 指定字段的分隔符,默认的字段分隔符为"TAB";
[root@localhost ~]# cut -d: -f1 3.txt
-f # 显示指定字段的内容
[root@localhost ~]# cut -d: -f3 /etc/passwd
tr命令(替换字符)
[root@localhost ~]# cat 3.txt | tr "123" "abc"
-d # 删除字符
[root@localhost ~]# cat 3.txt | tr -d "456"
wc命令(统计字符)
-c # 统计文件的Bytes数
[root@localhost ~]# cat 3.txt | wc -c
-l # 统计文件的行数
[root@localhost ~]# cat 3.txt | wc -l
-w # 统计文件中单词的个数,默认以空白字符做为分隔符
[root@localhost ~]# cat 3.txt | wc -w
14、时间
案例1:要求打印当前时间 :2021-3-3 00:00:00
[root@localhost ~]# date +"%Y-%m-%d %H:%M:%S"
[root@localhost ~]# date +"%F %H:%M:%S"
案例2:设置本机的时间
date -s ""
cp /usr/share/zoneinfo/America/New_York /etc/localtime