当前位置:首页 > 技术文章 > 正文内容

Centos7学习笔记(一)

ivker_lee5年前 (2020-07-26)技术文章430

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 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进程

如图所示:

image.png

image.png

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

image.png





分享给朋友:

相关文章

 Centos7学习笔记(十五)- ansible初步

Centos7学习笔记(十五)- ansible初步

1、安装要求管理主机:必须不能是windows系统。类Uinx系统下,python版本为2.6或者2.7。OS X系统,需修改ulimit值才能使用ansible的多子进程。托管节点:Python版本不得低于2.4,如果Python版本低于2.4,那么需要安装python-simplejson模块。2、ansible安装redhat系需要安装epel源,fedora不用,可以直接安装yum -y install ansible(yum -y install libselinux-python,系...

 Centos7学习笔记(十四)- SSH部分

Centos7学习笔记(十四)- SSH部分

1、数字签名了解ssh之前,先了解什么是数字签名?http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.htmlhttp://www.youdzone.com/signature.html参看这2篇文章,通俗易懂的解释了什么是数字签名。简单的讲,就是有一个CA中心,它可以颁发“数字证书”,这个证书,可以证明其后的公钥真伪性,以便客户端正确识别。2、SSH基本原理与运用(一)以下部分,抄录于“阮一峰”博客,链接:htt...

 Centos7学习笔记(十六)- 正则表达式高级部分

Centos7学习笔记(十六)- 正则表达式高级部分

1、正则表达式工作流程取得正则字符串并检查正则语法。编译:将正则字符串编译成真正的正则表达式。启动正则引擎开始匹配正则引擎:逐个字符扫描字符串并与编译后的正则表达式的各个元素进行匹配。何为正则元素呢?纯字符组合,比如“abc123”,那么每一个字符都是一个正则元素[a-z]这样的样式,那么视中括号[]为一个整体作为正则元素,中括号内的内容是限定的匹配范围字符匹配的反斜线序列也是一种正则元素字符.是一个独立的正则元素,它除了不能匹配\n,其他任意字符都能匹配所有的*、?、{m}、{m,}、{m,n...

Centos7学习笔记(八)-基础命令(三)

Centos7学习笔记(八)-基础命令(三)

1、rsync作为一个同步(备份,增量备份)命令,它的选项非常的多,常用的组合是avz,当然,如果需要建立备份服务,那么-n必然是用的多的参数选项。关于rsync的用法详细说明,参考网上的这篇原文链接:https://www.cnblogs.com/f-ck-need-u/p/7220009.html#blog21,文章写的非常好,有大量的通俗易懂的例子及解释。以下关于rsync参数选项的说明,就抄录自该文章。v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细...

Centos7学习笔记(二)-基础命令(一)

Centos7学习笔记(二)-基础命令(一)

1、cp命令cp命令的四个重要参数:-p 保持文件所有者、权限信息以及时间属性。-r 递归复制,可操作目录。-d 若复制的源文件为链接,则仅复制链接本身,且保持链接指向。-a 等同于以上的dpr。例:cp test.txt{,.ori}     =====    cp test.txt test.txt.ori2、alias命令查看或者设置命令别名由此涉及一个问题——如何忽略因为系统设定的命令别名,导致的命令被强制交互执行?  ...

 Centos7学习笔记(十七)- iptable防火墙

Centos7学习笔记(十七)- iptable防火墙

本文大部分内容摘录自https://www.cnblogs.com/f-ck-need-u/p/7397146.html1、syn flood攻击查看在linux系统中,可以用以下命令查看是否遭受syn flood攻击。netstat -tnlpa | grep tcp | awk '{print $6}' | sort | uniq -c2、防火墙数...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。