Centos7学习笔记(一)

1、安装部分新知

 

a、LVM——逻辑卷管理,作用:动态管理磁盘分区空间,缺点:影响高并发下的磁盘性能

 

b、CentOS 7安装之前,修改网卡名称:

在安装界面,按“tab”键,调整内核参数,添加“net.ifnames=0 biosdevname=0”这2个参数值

(如果是安装好系统后修改,则需几步:1、重命名/etc/sysconfig/network-script/ifcfg-ens33为ifcfg-eth0,并修改内容将DEVICE和NAME值修改为eth0;2、修改/etc/default/grub文件中“crashkernel”关键字所在那行,添加"net.ifnames=0 biosdevname=0"值,注意跟其他参数用空格隔开。3、执行grub2-mkconfig -o /boot/grub2/grub.cfg,然后reboot重启系统)

 

c、两个yum源的更换:

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o  /etc/yum.repos.d/epel.repo  http://mirrors.aliyun.com/repo/epel-7.repo

题外:在执行第一个curl之前,也可以用">/etc/yum.repos.d/CentOS-Base.repo"先把该文件清空。

 

d、安装后,常用的运维软件安装

yum install -y tree nmap  dos2unix lrzsz nc lsof wget tcpdump htop iftop sysstat nethogs psmisc net-tools bash-completion bash-completion-extras vim-enhanced

各自的用途:

tree——以树形结构显示文件和目录

nmap——扫描端口的工具

dos2unix——转换脚本格式的工具

lrzsz——上传下载文件的工具,后面xshell会直接用到

nc——文件传输,端口检查工具

lsof——反查端口进程,以及服务开发文件工具

wget——下载软件包工具

tcpdump——抓包、监听等重要排错工具

htop——系统进程相关信息查看工具

iftop——查看主机网卡带宽工具

sysstat——含有sar,iostat等重要系统性能查看工具

nethogs——显示进程的网络流量

 

CentOS7系统自带但默认没有安装的一些工具包,如

psmisc——含有killall、pstree等命令

net-tools——含有netstat、ifconfig、route、arp等命令

bash-completion和bash-completion-extras——bash命令补全功能包

vim-enhanced——vim编辑器工具包

 

2、好用的ssh工具——xshell

外观--字体调整

image.png

日志记录——记录所做的操作及命令输出

image.png

rz、sz上传下载目录设定

image.png

“选项”中的"将选定的文本自动复制到剪贴板”,可以支持将系统剪贴板内容粘贴复制

image.png

 

题外:

ss命令:netstat的另一种工具,比netstat好用有效率,利用tcp协议栈中的tcp_diag。常用的参数,几乎等同于netstat参数。比如n、t、l、p、a。

常用组合有

ss列出每个进程名及其监听的端口

ss列所有的tcp sockets

ss列出所有udp sockets

ss列出所有http连接中的连接

·以上包含对外提供的80,以及访问外部的80
·用以上命令完美的替代netstat获取http并发连接数,监控中常用到

ss列出处在FIN-WAIT-1状态的http、https连接

有两篇文章,详细的介绍了ss命令,参见http://www.ttlsa.com/linux-command/ss-replace-netstat/https://wangchujiang.com/linux-command/c/ss.html

 

3、Shell下的快捷键

1、tab——用的最多的快捷键,命令补全

2、ctrl+a——移动光标到当前行最前

     ctrl+e——移动光标到行尾

     ctrl+b——光标左移一个字符

     ctrl+f——光标右移一个字符

     alt+b——光标向左移动一个单词

     alt+f——光标向右移动一个单词

     esc+b——光标移动到当前单词开头

     esc+f ——光标移动到当前单词结尾

     光标在命令行中段:

    ctrl+d——向后删除命令行内容

    alt+d——删除当前光标所在的单词(也会把某些连接符号一起删除)

3、粘贴复制快捷键

ctrl+w——剪切或删除光标前的一个单词

ctrl+k——剪切或删除当前光标位置到行尾的字符

ctrl+u——剪切或删除当前光标位置到行首的字符

ctrl+y——粘贴ctrl+w,ctrl+k,ctrl+u操作的内容

ctrl+insert——复制命令行整个内容

shift+insert——粘贴整个命令行内容

4、ctrl+c——中断正在执行的命令或者删除整个行内容

ctrl+d——退出当前shell命令行

crtl+r——搜索命令行使用过的历史命令记录

ctrl+g——从ctrl+r搜索历史命令模式退出

esc+.——获取上一条命令的最后部分(空格分隔)

5、ctrl+l——清屏,等于clear命令

     ctrl+z——暂停执行在终端运行的任务。

 

!!——执行上一条命令

 

4、man和help

man用于普通命令

help用于shell内置命令。(cd、read、echo、histrory、kill、exec、exit、dirs、complete、continue、fc、jobs、kill、logout、pwd、return、source、true、type、wait、times、umask、ulimit、unalias等都是内置命令)

 

5、环境变量文件生效顺序流程图

image.png

/etc/bashrc最先,其次~/.bashrc,再次~/.bash_profile,最后/etc/profile

 

题外:

调整PS1变量值的一个酷炫效果:

1、编辑/etc/bashrc ——vim /etc/bashrc

2、注释掉41行的内容——具体为——       [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

3、再下面插入以下内容:

 [ "$PS1" = "\\s-\\v\\\$ " ] &&PS1="[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \w\[\e[0m\]]\\$ " 

4、wq保存退出。

 

6、/etc/issue和/etc/issue.net

配置在用户登录终端前显示信息的文件

image.png

可用>/etc/issue和>/etc/issue.net方式清空文件(最好先备份)

 

7、/etc/motd

用户登录系统后显示提示内容的文件

image.png

 

8、/etc/os-release或者/etc/redhat-relase

查看系统版本

查看内核版本 uname -r

image.png

[root@study1 ~]#cat /etc/redhat-release 

CentOS Linux release 7.8.2003 (Core)

image.png

 

9、/etc/sysctl.conf     *** 重要

linux内核参数配置文件

sysctl -p 让修改完成的该文件生效。

 

10、/etc/rc.local文件和/etc/init.d/目录

前者:存放开机自启动程序命令的文件

后者:存放软件启动程序所在的目录

[root@study1 ~]#cat /etc/rc.local #!/bin/bash# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES## It is highly advisable to create own systemd services or udev rules# to run scripts during boot instead of using this file.## In contrast to previous versions due to parallel execution during boot# this script will NOT be run after all other services.## Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure# that this script will be executed during boot.

 

touch /var/lock/subsys/local

前者已经文件中说明,该文件为兼容目的存在(Centos7),并且必须在chmod +x /etc/rc.d/rc.local后,程序才会执行。(Centos7)

后者的作用,也是在Centos7之前

image.png

 

11、/etc/inittab

设置开机运行级别及启动相应级别运行脚本的文件(CentOS7之前)

image.png

CentOS7已经半取消运行级别的概念,分为了poweroff、rescue、multi-user、graphical、reboot五个模式,其实是合并了原来的init 2\3\4为multi-user模式,具体结果如下:

[root@study1 ~]#ls /usr/lib/systemd/system -l |grep  level |grep -v wantlrwxrwxrwx. 1 root root   15 Jul 26 23:51 runlevel0.target -> poweroff.targetlrwxrwxrwx. 1 root root   13 Jul 26 23:51 runlevel1.target -> rescue.targetlrwxrwxrwx. 1 root root   17 Jul 26 23:51 runlevel2.target -> multi-user.targetlrwxrwxrwx. 1 root root   17 Jul 26 23:51 runlevel3.target -> multi-user.targetlrwxrwxrwx. 1 root root   17 Jul 26 23:51 runlevel4.target -> multi-user.targetlrwxrwxrwx. 1 root root   16 Jul 26 23:51 runlevel5.target -> graphical.targetlrwxrwxrwx. 1 root root   13 Jul 26 23:51 runlevel6.target -> reboot.target

CentOS7更改运行级别:

systemctl set-default graphical-target

获取当前运行级别:systemctl get-default

 

 

/etc下其他重要文件:

/etc/hostname ——主机名配置文件。CentOS7中已经改用hostnamectl set-hostname xxx命令来设置主机名,还分为静态主机名(static hostname)临时主机名(transient hostname)以及pretty 主机名三种。具体参考hostnamectl命令帮助。

/etc/fstab——无需多说,系统分区挂载文件

/etc/sysconfig/network-script/ifcfg-ens66——网卡配置文件

/etc/resolv.conf——DNS域名解析文件。当“网卡配置文件”里设置了DNS时,网卡重启,则会用网卡配置的DNS值覆盖此文件DNS值。

/etc/hosts——系统本地DNS解析文件

 

12、/var/log和/proc目录

/var/log/messages——linux系统级别日志文件

/var/log/secure——用户登录信息(安去日志文件)

/var/log/dmesg——记录硬件信息加载情况的日志文件

/proc/meminfo——查看系统内存

/proc/cpuinfo——查看CPU信息

/proc/loadavg——查看负载信息

/proc/mounts——当前设备挂载列表信息文件

/proc/interrupts——当前系统中断信息文件

 

13、Linux开机启动流程描述

CentOS6--------

开机BIOS自检—>读取MBR引导—>加载GRUB菜单—>加载内核(kernel)—>运行init进程—>读取/etc/inittab文件—>读取/etc/init/rcS.conf文件—>执行/etc/rc.d/rc.sysinit脚本

                                                                                                                                                                                                                —>读取/etc/init/rc.conf文件—>执行/etc/rc.d/rc 3脚本—>/etc/rc3.d/*

                                                                                                                                                                                                                               —>读取/etc/rc.local文件—>设定用户开机自启动程序

                                                                                                                                                                                                                                                                    —>读取/etc/init/tty.conf文件—>启动mingetty 3进程

如图所示:

image.png

image.png

关于CentOS7的启动流程,看图示,与CentOS6的区别

image.png

 

 

 

 

2020 7月 26