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
外观--字体调整

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

rz、sz上传下载目录设定

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

题外:
ss命令:netstat的另一种工具,比netstat好用有效率,利用tcp协议栈中的tcp_diag。常用的参数,几乎等同于netstat参数。比如n、t、l、p、a。
常用组合有
ss列出每个进程名及其监听的端口
1 | # ss -pl |
ss列所有的tcp sockets
1 | # ss -t -a |
ss列出所有udp sockets
1 | # ss -u -a |
ss列出所有http连接中的连接
1 | # ss -o state established '( dport = :http or sport = :http )' |
·以上包含对外提供的80,以及访问外部的80
·用以上命令完美的替代netstat获取http并发连接数,监控中常用到
ss列出处在FIN-WAIT-1状态的http、https连接
1 | # ss -o state fin-wait-1 '( sport = :http or sport = :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、环境变量文件生效顺序流程图

/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
配置在用户登录终端前显示信息的文件

可用>/etc/issue和>/etc/issue.net方式清空文件(最好先备份)
7、/etc/motd
用户登录系统后显示提示内容的文件

8、/etc/os-release或者/etc/redhat-relase
查看系统版本
查看内核版本 uname -r

[root@study1 ~]#cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)

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之前

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

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 want
lrwxrwxrwx. 1 root root 15 Jul 26 23:51 runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Jul 26 23:51 runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Jul 26 23:51 runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Jul 26 23:51 runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Jul 26 23:51 runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Jul 26 23:51 runlevel5.target -> graphical.target
lrwxrwxrwx. 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进程
如图所示:


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


