0、文档链接
- LInux系统简介
- CentOS6安装与学习
- ubuntu安装
- ubuntu apt镜像源
- redhat基础课程
- 技术干活
- Linux命令大全
- 制作yum源
- jdk安装
- 一次Linux遭入侵,挖矿进程被隐藏案例分析
- 查看病毒进程:
- 查看文件属性
- numa:优化
- 查看资源使用情况
- 一文彻底明白linux中的selinux到底是什么 链接2
- systemctl 说明文档
- systemd中文手册,配置文件指定:
- chkconfig 详解
- linux proxy设置
- 详解Linux查看实时网卡流量的几种方式(转)
- shell 多线程实现
- linux 挂载ntfs文件系统移动硬盘 解决读写权限问题
1、查看系统版本
1.1、查看centos系统版本
cat /etc/centos-releasecat /etc/issueuname -alsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb)
1.2、查看debian系统版本
cat /etc/debian_versionuname -a
1.3、查看redhat系统版本
cat /etc/redhat-releasecat /proc/version
2、修改系统语言
2.1、redhad系列修改系统语言
1、查看当前语言包locale
2、查看系统所有语言包locale -a
(zh_CN.UTF-8是简体中文,如果没有zh_CN.UTF-8,就安装语言包,如果存在可以直接设置)
安装简体中文包yum install kde-l10n-Chinese
3、临时修改:设置中文LANG="zh_CN.UTF-8" #修改为中文LANG="en_US.UTF-8" #修改为英文
4、永久修改
第一种方法:localectl set-locale LANG=zh_CN.UTF8
第二种方法:vi /etc/locale.conf##加下面内容到第一行,设置中文LANG=zh_CN.UTF8
5、重启**reboot**
3、查看环境变量
4、yum 有未完成事务提示 清除办法
5、开机加载模块
6、文件描述符
#查看当前shell打开的文件描述符 $$:当前进程ll /proc/$$/fdexec 6<> /file1 打开文件,分配一个句柄(文件描述符6)exec 6<&- 关闭文件&6 文件描述符6, echo sdfs >&6 输出内容到文件&1 标准输出&2 错误输出管道文件不会覆盖,使用> 或>>都一样
7、命名管道
mkfifo /tmp/tmpfifo 创建一个命名管道file /tmp/tmpfifo 查看文件属性 #/tmp/tmpfifo: fifo (named pipe)#使用,管道中的数据获取完就没有了grep sda /tmp/tmpfifo 一个终端获取数据ll /dev /tmp/tmpfifo 一个终端输入数据
8、linux图形化运维工具,可以安装虚拟机
https://baijiahao.baidu.com/s?id=1666118979367180810&wfr=spider&for=pcyum install cockpitsystemctl start cockpit
9、开机启动等待时间修改
vim /boot/grub2/grub.cfgif [ x$feature_timeout_style = xy ] ; thenset timeout_style=menuset timeout=5 # 修改这里# Fallback normal timeout code in case the timeout_style feature is# unavailable.elseset timeout=5fi
10、赋予root权限
#轻易不要使用su去切换到root的身份#普通用户使用sudo来执行root权限的命令#如,将hadoop用户添加到/etc/sudoers文件中去#给用户添加root操作权限visudovi /etc/sudoersroot ALL=(ALL) ALLhadoop ALL=(ALL) ALLuser ALL=(root) NOPASSWD:ALL
11、查看cpu、内存信息
#查看CPU信息(型号)cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c#查看内 存信息cat /proc/meminfo#总核数 = 物理CPU个数 X 每颗物理CPU的核数# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep "cpu cores"| uniq# 查看逻辑CPU的个数cat /proc/cpuinfo| grep "processor"| wc -l
12、系统内核
查看系统使用内核uname -r查看系统所有内核rpm -qa | grep kernelawk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg删除多余的内核yum remove -y kernel-3.10.0-957.el7.x86_64升级内核https://www.cnblogs.com/jinyuanliu/p/10368780.html1)#导入ELRepo软件仓库的公共秘钥rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org2)#安装ELRepo软件仓库的yum源rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm3)#安装主线内核(ml=mainline)4.14.11 kernel-lt(4.4)yum -y --enablerepo=elrepo-kernel install kernel-lt4)#查看系统可用内核,并设置启动项awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfggrub2-set-default 0 或grub2-set-default 'CentOS Linux (4.4.214-1.el7.elrepo.x86_64) 7 (Core)'5)#生成 grub 配置文件grub2-mkconfig -o /boot/grub2/grub.cfg6)#重启生效reboot
13、高并发优化
文件描述符指一切资源(包含socket、目录、文件、设备)#最大连接数echo 50000 > /proc/sys/net/core/somaxconn#立即回收tcp连接echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle#空的tcp是否允许回收利用echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse#不做洪水抵御echo 0 > /proc/sys/net/ipv4/tcp_syncookiesulimit -n 查看打开文件的数量ulimit -n 20000 设置最大打开的文件数量永久性:在/etc/sysctl.conf中设置fs.file-max = 1000000$ sysctl -a|grep fs.filefs.file-max = 381721fs.file-nr = 1376 0 381721fs.xfs.filestream_centisecs = 3000$ cat /proc/sys/fs/file-nr1344 0 381721其中第一个数表示当前系统已分配使用的打开文件描述符数,第二个数为分配后已释放的(目前已不再使用),第三个数等于file-max。所有进程打开的文件描述符数不能超过/proc/sys/fs/file-max永久性:上面的方法只是临时性的,注销重新登录就失效了,而且不能增大hard limit,只能在hard limit范围内修改soft limit。若要使修改永久有效,则需要在/etc/security/limits.conf中进行设置(需要root权限),可添加如下两行,表示用户chanon最大打开文件描述符数的soft limit为1800000,hard limit为2000000。以下设置需要注销之后重新登录才能生效:chanon soft nofile 1800000chanon hard nofile 2000000设置nofile的hard limit还有一点要注意的就是hard limit不能大于/proc/sys/fs/nr_open,假如hard limit大于nr_open,注销后无法正常登录。可以修改nr_open的值:单个进程打开的文件描述符数不能超过user limit中nofile的soft limitnofile的soft limit不能超过其hard limitnofile的hard limit不能超过/proc/sys/fs/nr_open
13、关闭selinux
#关闭selinuxsetenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
14、修改安全上下文
#将initdb.log的安全环境应用到weather.txt上chcon -v --reference=initdb.log weather.txt-h, --no-dereference:影响符号连接而非引用的文件。--reference=参考文件:使用指定参考文件的安全环境,而非指定值。-R, --recursive:递归处理所有的文件及子目录。-v, --verbose:为处理的所有文件显示诊断信息。-u, --user=用户:设置指定用户的目标安全环境。-r, --role=角色:设置指定角色的目标安全环境。-t, --type=类型:设置指定类型的目标安全环境。-l, --range=范围:设置指定范围的目标安全环境。
15、永久关闭swap
swapoff -a (重启失效)sed -ri 's/.*swap.*/#&/' /etc/fstab (永久关闭)
16、创建swap
1.使用物理分区创建swap
#创建一个 Linux swap 类型的分区/dev/sda2设备 Boot Start End Blocks Id System/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 209715199 103808000 82 Linux swap / Solaris#创建swap格式,格式化为swapmkswap /dev/sda2#加载,启动swapon /dev/sda2#查看swapon -sfree
2.使用文件创建swap
#创建一个128M的大文件dd if=/dev/zero of=/tmp/swap bs=1M count=128#格式化mkswap /tmp/swap#启动swapon /tmp/swap#关闭swapswapoff /tmp/swap#查看swapon -s
17、kickstart (anaconda-ks.cfg)
通过启动配置参数知道配置文件地址如 linux ks=http://192.100.3.221/anaconda-ks.cfg
18、启动级别/运行级别
centos7之前的配置文件/etc/inittab
之后的配置文件:
获取当前启动级别systemctl get-default
设置启动级别systemctl set-default TARGET.target
缺省的运行级,RHS用到的级别如下:0:关机1:单用户模式2:无网络支持的多用户模式3:有网络支持的多用户模式4:保留,未使用5:有网络支持有X-Window支持的多用户模式6:重新引导系统,即重启# 对各个运行级的详细解释:0 为停机,机器关闭。1 为单用户模式,就像Win9x下的安全模式类似。2 为多用户模式,但是没有NFS支持。3 为完整的多用户模式,是标准的运行级。4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本 电脑的电池用尽时,可以切换到这个模式来做一些设置。5 就是X11,进到X Window系统了。6 为重启,运行init 6机器就会重启。
19、设置开机执行脚本
第一种方法(/etc/rc.d/rc.local):
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权
chmod +x /etc/rc.d/rc.local
2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限
chmod +x /usr/local/script/autostart.sh
3、打开/etc/rc.d/rc.local文件,在末尾增加如下内容
/usr/local/script/autostart.sh
第二种方法(chkconfig)
1、将脚本移动到/etc/rc.d/init.d目录下
mv /usr/local/script/autostart.sh /etc/rc.d/init.d
2、增加脚本的可执行权限
chmod +x /etc/rc.d/init.d/autostart.sh
3、在脚本开头添加以下内容
#!/bin/sh#chkconfig:2345 10 90#decription:autostart说明:chkonfig后面是启动级别和优先级,description后面是服务描述。如上面脚本意思是,服务必须在运行级2,3,4,5下被启动或关闭,启动的优先级是90,停止的优先级是10。:不添加以上内容的话添加启动项时会提示service myservice does not support chkconfig
3、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.dchkconfig --add autostart.shchkconfig autostart.sh on
20、代理服务器设置
设置环境变量:
[root@node-1 yum.repos.d]# cat /etc/profile.d/env.shexport http_proxy="http://192.100.5.117:13333"export https_proxy=$http_proxysource /etc/profile
可以通过代理服务器上外网
如果想要yum能安装包 还需要在/etc/yum.conf中加入 配置 否则报解析不了yum;
proxy=http://192.100.5.117:13333
yum install nginx
已经可以成功安装了
遇到的问题
#proxyconnect tcp: tls: oversized record received with length 20527
解决:代理地址协议为http
21、命令和关键字补全
tab可以不全命令 但是有的服务名称不能补全
如systemctl status firewalld 不能补全firewalld
要想补全服务名称 安装下面工具,安装后需要重启yum install bash-completion
22、修改最大进程数
vim /etc/security/limits.conf
root soft nofile 655350root hard nofile 655350* soft nofile 655350* hard nofile 655350* soft stack 20480* hard stack 20480* soft nproc 65535* hard nproc 655360* soft core unlimited* hard core unlimited
nofile:打开文件数
nproc:最大进程限制
:表示所有用户
root:表示root用户
注意:还需要将**_/etc/security/limits.d/20-nproc.conf_***文件的进程数修改才能生效
vim /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent# accidental fork bombs.# See rhbz #432903 for reasoning.* soft nproc 65535root soft nproc unlimited
重新登录ulimit -a
