day20 系统优化
day20 系统优化
yum源的优化
yum源的优化:
自建yum仓库
使用一个较为稳定的仓库
# 安装华为的Base源 或者使用清华的源也可以
wget -O /etc/yum.repos.d/CentOS-Base.repo https://repo.huaweicloud.com/repository/conf/CentOS-7-reg.repo
# 编写epel源的地址
[epel]
name="huawei epel repo"
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
系统主机名
修改系统主机名的几种方法:
1、hotnamectl
2、vim /etc/hostname # 修改后,永久生效
系统之间的域名解析
修改系统的域名解析:
[root@localhost ~]# vim /etc/hosts
格式:[ip] [主机名]
192.168.15.200 localhost
关闭selinux和防火墙
关闭selinux:
1、临时关闭
[root@localhost ~]# setenforce 0
2、永久关闭
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled
关闭防火墙:
[root@localhost ~]# systemctl disable --now firewalld
配置ntp时间同步
系统时间和网络时间不同步解决方法:
1、安装时间服务软件
[root@localhost ~]# yum install ntpdate -y
2、更新网络时间
[root@localhost ~]# ntpdate ntp.aliyun.com
网络授时服务器:
1、tp.aliyun.com # 阿里云的
2、ntp.tuna.tsinghua.edu.cn # 清华的
如果在企业里只能用内网还可以手动更改时间
[root@localhost ~]# date -s "2021-10-24 15:51:00"
ulimit:设置系统开启进程或者文件句柄数
ulimit:设置系统开启进程或者文件句柄数(文件打开的次数)
语法:
ulimit [参数]
参数:
-n :指定同一时间最多可开启的文件句柄数
-u :用户最多可开启的进程数目
临时修改句柄数:
[root@localhost ~]# ulimit -n 20
永久修改句柄数和进程数:
1)、[root@localhost ~]# 放到命令行执行
cat >>/etc/security/limits.conf<<EOF
* soft nofile 102400
* hard nofile 102400
* soft nproc 102400
* hard nproc 102400
EOF
2)、[root@localhost ~]# sysctl -p # 重新加载
3)、[root@localhost ~]# reboot # 重启后生效
案例1:设置系统打开文件最多20个
[root@localhost ~]# ulimit -n 20
案例2:设置用户最多开启10个进程
[root@localhost ~]# ulimit -u 10
设置最大PID数
设置最大PID数:/proc/sys/kernel/pid_max # 文件存放位置
查看本机PID数:
[root@localhost fd]# cat /proc/sys/kernel/pid_max # 本机一共可以设置131072个PID
131072
修改PID数的两种方法:
临时修改:
[root@localhost fd]# echo 150000 > /proc/sys/kernel/pid_max
永久修改:/etc/sysctl.conf :写到配置文件
[root@localhost fd]# echo "kernel.pid_max= 4194303" >> /etc/sysctl.conf # 写到配置文件里
[root@localhost fd]# sysctl -p # 测试一下写进去了吗
修改内核参数
[root@localhost fd]# 放到命令行执行
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
[root@localhost fd]# sysctl -p # 测试一下写进去了吗
NetworkManager:网络管理工具
在CentOS系统上,目前有NetworkManager和network两种网络管理工具。如果两种都配置会引起冲突,而且NetworkManager在网络断开的时候,会清理路由,如果一些自定义的路由,没有加入到NetworkManager的配置文件中,路由就被清理掉,网络连接后需要自定义添加上去。
推荐;
[root@localhost ~]# systemctl disable --now NetworkManager # 首先禁用掉
禁掉ping
为什么要禁掉ping?
不让别人ping自己主机,防止别人攻击你。有利于提高操作系统安全
禁止主机被ping的方法:
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
0 :代表可以被别人ping
1 :禁止别人ping自己主机
用户提权sudo
sudo命令:当普通用户临时使用root用户的权限时使用
格式:
sudo [参数非必选] [命令或文件路径]
参数:
-b :在后台执行指令;
-h :显示帮助;
-H :将HOME环境变量设为新身份的HOME环境变量;
-k :结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;。
-l :列出目前用户可执行与无法执行的指令;
-p :改变询问密码的提示符号;
-u :以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份;
-v :延长密码有效期限5分钟;
在没有权限下修改:
1、[test@localhost tmp]$ ll
total 8
-rw-r--r-- 1 root root 43 Oct 11 19:02 2.txt # 可以看到其他人只有可读的权限
# 这个用户必须在/etc/sudoer文件中添加权限
2、[root@localhost ~]# vim /etc/sudoers
test ALL=(ALL) ALL # 用户名添加到这里
3、[root@localhost ~]# sudo vim 2.txt # 现在暂时使用的是root权限修改文件
可能出现的错误:
1、普通用户要先设置一个密码
[root@localhost ~]# passwd test
2、没有在/etc/sudoer文件中添加权限就要修改文件
# 测试不在sudoers文件中。这一事件将被报道。
test is not in the sudoers file. This incident will be reported.
字符处理
sort命令:排序
sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。
语法:
sort [参数]
参数:
-n :依照数值的大小排序
-o :将排序后的结果存入制定的文件
-r :以相反的顺序来排序
-t :指定排序时所用的栏位分隔字符;
-k :以某列进行排序(默认的分隔符是空格)
#注:sort不加参数默认是使用第一个字符进行排序
案例1:将1.txt按照数值大小排序
[root@localhost ~]# cat 1.txt | sort -n
[root@localhost ~]# sort -n 1.txt
案例2:将1.txt以相反的顺序来排序
[root@localhost ~]# cat 1.txt | sort -nr # 第一种方法
[root@localhost ~]# sort -nr 1.txt # 第二种方法
案例3:将1.txt以第二列进行排序(默认的分隔符是空格)
[root@localhost ~]# cat 1.txt | sort -n -k2
案例4:将1.txt指定分割符:,进行排序
[root@localhost ~]# cat 1.txt | sort -n -k2 -t:
案例5:将1.txt按照数值大小排序,存入指定的文件里
[root@localhost ~]# cat 1.txt | sort -n -k2 -t: -o 2.txt
uniq命令:去重
uniq 命令(去重,默认只去重相邻的数据) # 需要配合sort使用
语法:
uniq [参数]
参数:
-c :在每列旁边显示该行重复出现的次数;
-d :仅显示重复出现的行列;
-u :仅显示出一次的行列;
案例1:将1.txt中重复的去掉
[root@localhost ~]# sort -n 1.txt | uniq # 必须跟sort结合使用
案例2:将1.txt中重复的去掉并显示出重复的次数
[root@localhost ~]# sort -n 1.txt | uniq -c
案例3:仅显示重复出现的行列,仅显示重复出现的
[root@localhost ~]# sort -n 1.txt | uniq -cd
案例4:仅显示重复出现的行列,仅显示出现一次的
[root@localhost ~]# sort -n 1.txt | uniq -cu
cut命令:分割字符
cut命令:用来显示行中的指定部分,删除文件中指定字段。cut经常用来显示文件的内容,类似于下的type命令。
语法:
cut [参数] [文件]
参数:
-d :指定字段的分隔符,默认的字段分隔符为“TAB”;
-f :显示指定字段的内容;
案例1:打印/etc/passwd第一列
[root@localhost ~]# cut -d: -f 1 /etc/passwd
tr命令:替换字符
tr命令可以对来自标准输入的字符进行替换、压缩和删除。它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大。
语法:
tr [参数] [原字符集] [替换字符集]
参数:
-c :取代所有不属于第一字符集的字符;
-d :删除所有属于第一字符集的字符;
-s :把连续重复的字符以单独一个字符表示;
-t :先删除第一字符集较第二字符集多出的字符。
案例1:将输入字符由大写转换为小写:
[root@localhost ~]# echo "HELLO WORLD" | tr 'A-Z' 'a-z' #
hello world # 'A-Z' 和 'a-z'都是集合,集合是可以自己制定的
案例2:将输入字符的数字删除
[root@localhost ~]# echo "hello 123 world 456" | tr -d '0-9'
hello world
案例3:字符集补集,从输入文本中将不在补集中的所有字符删除:
[root@localhost ~]# echo aa.,a 1 b#$bb 2 c*/cc 3 ddd 4 | tr -d -c '0-9 \n'
1 2 3 4
wc命令:统计字符
wc命令:用来统计字符的
语法:
wc [参数] [统计文件]
参数:
-c :只显示Bytes数;# 换行符也算
-l :只显示列数;
-w :统计文件中单词的个数,默认以空白字符做为分隔符。
案例1:统计1.txt
[root@localhost ~]# cat 1.txt | wc -c
案例2:统计1.txt的列数
[root@localhost ~]# cat 1.txt | wc -l
案例3:统计/etc/nginx/nginx.conf有多少单词
[root@localhost ~]# cat /etc/nginx/nginx.conf | wc -w
date命令:设置系统时间和日期
date命令是显示或设置系统时间与日期。
语法:
date [参数] [日期时间格式] # 年-月-日 时:分:秒 date +"%Y-%m-%d %H:%M:%S"
# date +%c
参数:
-d :显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s :根据字符串来设置日期与时间。字符串前后必须加上双引号;
日期格式字符串列表:
%Y : 完整年份 (0000..9999)
%m :月份(01~12)
%d :一个月的第几天(01~31)
%H :小时,24小时制(00~23)
%M :分钟(00~59)
%S :显示秒(00~59)
%I :小时,12小时制(01~12)
%s :从1970年1月1日00:00:00到目前经历的秒数
%T :显示时间,24小时制(hh:mm:ss)
%X :显示时间的格式(%H:%M:%S)
%c :日期和时间(Tue Nov 20 14:12:58 2012)
%j :一年的第几天(001~366)
%w :一个星期的第几天(0代表星期天)
%W :一年的第几个星期(00~53,星期一为第一天)
%y :年的最后两个数字(1999则是99)
案例1:要求打印当前时间 :2021-3-3 00:00:00
[root@localhost ~]# date +"%Y-%m-%d %H:%M:%S"
2021-10-14 20:19:26
案例2:设置本机的时间
[root@localhost ~]# date -s "2021-10-14 20:19:26"
案例3:输出昨天的日期
[root@localhost ~]# date -d "1 day ago" +"%Y-%m-%d"
day20 系统优化的更多相关文章
- Windows操作系统优化(Win7版) - 进阶者系列 - 学习者系列文章
Windows系统优化是个永恒的话题.在操作系统的打包制作方面更是有得一拼.前面提到的龙帝国社区的XP系统就是一个典型的例子,打包好的系统就已经是经过优化的,使用者无需再使用优化工具进行处理.下面就对 ...
- Advanced SystemCare 系统优化软件
这是一款国外非常流行的系统优化软件,功能很全面,而且中文版用起来也没有语言障碍. Pro版: C0184-8F31F-4B337-296F7 8DE4A-352D9-B4531-D60F7 5B91B ...
- Windows操作系统优化(Windows优化大师版) - 进阶者系列 - 学习者系列文章
Windows优化大师是一款不错的优化软件.笔者以前在使用XP的时候就使用该软件进行优化.下面就简要的介绍该软件优化的过程. 1. 下载该软件. http://dl.youhua.com/youhu ...
- [win]系统优化工具dism++
系统优化工具, 确实能将c盘扩大个2-3g. 主要是删除日志 优化系统等功能. https://www.chuyu.me/
- 一键系统优化15项脚本,适用于Centos6.x
#!/bin/sh ################################################ #Author:nulige # qqinfo:1034611705 # Date ...
- xp-win7-win8的基础到精通教程-系统优化减肥教程-windos装mac
是否还在使用别人封装的系统?是否还在担心下载后的系统是有病毒的?还在为 安装好新系统后,里面安装的软件全是自己不需要的?担心流氓软件绑定浏览器主页?担心 系统重装后,自己所有的编程软件都需要重新安装? ...
- Spark Streaming揭秘 Day20 动态Batch size实现初探(上)
Spark Streaming揭秘 Day20 动态Batch size实现初探(上) 今天开始,主要是通过对动态Batch size调整的论文的解析,来进一步了解SparkStreaming的处理机 ...
- Day20 Django之Model多对多、中间件、缓存、信号和分页
一.Form补充 class IndexForm(forms.Form): # c = [ # (1, 'CEO'), # (2, 'CTO') # ] # 静态字段,属于IndexForm类,即使数 ...
- Python之路,Day20 - 分布式监控系统开发
Python之路,Day20 - 分布式监控系统开发 本节内容 为什么要做监控? 常用监控系统设计讨论 监控系统架构设计 监控表结构设计 为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个 ...
随机推荐
- Python SyntaxError: Missing parentheses in call to 'print'
下面的代码 print "hello world" 会出现下面的错误 SyntaxError: Missing parentheses in call to 'print' 因为写 ...
- v3
#include <iostream> #include <time.h> #include "map" #include "stdio.h&qu ...
- javac 不是内部或外部命令 和 错误 找不到或无法加载主类 的解决方法
使用package语句与import语句. 实验要求:按实验要求使用package语句,并用import语句使用Java平台提供的包中的类以及自定义包中的类.掌握一些重要的操作步骤. 代码: 模板1: ...
- 快速排序--洛谷卡TLE后最终我还是选择了三向切割
写在前边 这篇文章呢,我们接着聊一下排序算法,我们之前已经谈到了简单插入排序 和ta的优化版希尔排序,这节我们要接触一个更"高级"的算法了--快速排序. 在做洛谷的时候,遇到了一道 ...
- SQL注入之猫舍之sqlmap的使用
先说一下最常用的基础指令 -u 指定注入点(一般为url栏的网址) --dbs 跑库名 --tables 跑表名 --columns 跑字段名 --dump 枚举数据(高危指令,容易进去) -D 库名 ...
- Centos6.8 yum报错及修复YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid
问题 使用yum安装软件时报错 YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid relea ...
- docker file 笔记
FROM # FROM scratch, FROM centos, FROM ubuntu:latest LABEL RUN # 每运行一次RUN,image都会生成新的一层,为了美观,避免 ...
- tabulate
ValueError: headers for a list of dicts is not a dict or a keyword from: https://bitbucket.org/astan ...
- robotframework-autoitlibrary离线安装
由于AutoItLibrary需要依赖pywin32库.所以要使用AutoItLibrary必须要先安装好pywin32 1.pywin32下载地址安装:http://sourceforge.net/ ...
- 菜鸡的Java笔记 第十八 - java 代码块
代码块 code block content (内容) 在程序结构之中使用"{}"定义的内容就称为代码块,但是会根据其声明的位置以及关 ...