设为首页 收藏本站
查看: 647|回复: 0

[经验分享] Linux 阶段学习总结整理

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2018-4-9 09:49:53 | 显示全部楼层 |阅读模式


DAY01
一:关于虚拟机
1.VMware虚拟机:
①:Windows环境下使用
②:虚拟机和真机平分内存(所以要同时开多个虚拟机时把内存调低些)
③:运行时尽量用管理员身份打开
④:笔记本安装时需要进BIOS把vritual technology打开成enabled
⑤:多次安装失败尝试换一下iso镜像文件
⑥:安装Linux系统如果出现未许可,根据提示操作即可(12cc)
2.kvm虚拟机
①:Linux环境下使用
②:kvm中添加cdrom设备是在储存这个选项中选择cdrom设备类型
二:基础理论
1.服务器
能够为其他计算机提供服务的更高级的电脑
典型服务模式
C/S,Client/Server架构
– 由服务器提供资源或某种功能
– 客户机使用资源或功能
2.TCP/IP协议及配置(transmission control protocol 传输控制协议)
TCP/IP是最广泛支持的通信协议
主机与主机之间通信的三个要素
– IP地址(IP address)
– 子网掩码(subnet mask)

    网关(gateway):从一个网络连接到另一个网络的“关口”
    – 不同网络之间通信
    – 不同网络之间通信借助路由器设备
    DNS服务器地址:域名的服务器+解析器
    将域名解析为对应服务器的ip地址
    IP地址的概述
    作用:用来标识一个主机的网络地址(居民的×××)
    – 一共32个二进制位
    – 表示为4个十进制数,以 . 隔开
    IP地址的分类(类似中国分了34个省份一样)
    – A类: 1 ~ 127 网+主+主+主 (255.0.0.0) (11111111.0.0.0)8位
    – B类:128 ~ 191 网+网+主+主 (255.255.0.0) (111111112.0) 16位
    – C类:192 ~ 223 网+网+网+主 (255.255.255.0)(111111113.0) 24位
    – D类:224 ~ 239 组播
    – E类:240 ~ 254 科研
    127.0.0.1/8 特殊ip地址:永远代表自己
    组成: 网络位 + 主机位
    (区号加座机号 0831 5365776 0831代表属于宜宾 后面代表第多少台机子)
    网络位: 标识 网络或者区域 (相同网络位的ip才能ping通不然就要借助网关?)
    主机位: 标示 在该区域的第几台主机
    子网掩码:
    用来标识ip地址的网络位与主机位
    二进制的1标识网络位 0标识主机位
    IP地址的获取:
    手动
    自动(dhcp配置 前提:网络中必须要自动分配ip地址的服务器)
    Mac地址 ipv6地址都是16进制进行表示
    3.关于二进制八进制十进制十六进制的转换
    二进制:0-1
    (最底层计算机语言 它只认识这个“1”开“0”关)
    (二进制都是以1开头,开头的0无效所以省略)
    八进制:0-7
    2的3次方=8 (一位对应二进制三位)226(8)=010 010 110三个分成一坨
    十六进制:0-9 a-f (十进制的10-16)
    2的4次方=16 (一位对应二进制4位)226(16)=0010 0010 0110 四个分为一坨
    ①:所有进制转换为十进制的方法:
    有n位数就相加n次 几进制就几的n-1次方加到几的0次方!!!
    abcd(2)=a23+b22+c21+d2o
    abcd (8) =a83+b82+c81+d8o
    abcd(16) =a163+b162+c161+d16o
    ②:十进制转换为所有进制的方法:(不拆分)
    都是几进制就除几(二,八,十六)取余直到商为0取最后一个余数
    ③:八进制十六进制转换二进制:
    先拆分(比如226,拆分为2,2,6分别用2,2,6取除2取余直到商为0余1)
    (十六进制的a-f先转换为10-16再除2,不足时在最左边补0!)
    ④:二进制转换八进制十六进制的方法:
    -先从右到左补全(三个为一坨,四个为一坨)
    -再把每一坨转换为十进制(10-16表示为a-f即可)
    ⑤:八进制和十六进制相互转换
    先转换为二进制或者十进制再相互转换
    DAY02
    一:基础理论
    1.操作系统: 一堆软件的集合,让计算机硬件正常的工作
    用户---------->系统内核---------->硬件
    UNIX诞生时间默认为1970-1-1 Ken Thompson是C语言之父也是发明人之一
    Linux之父,Linus Torwalds 1991-10
    – 版本号:主版本.次版本.修订号
    完整系统: Linux内核 + 各种应用软件(gnu开源)

    Linux文件系统:定义向磁盘介质上存储文档的方法和数据结构,以及读取文档的规则

         不同类型的文件系统,其存储/读取方式不一样

         格式化操作就是建立新的文件系统(赋予空间一定的规则)

                 物理硬盘==>分区规划==>格式化==>读/写文档(毛坯--隔断--装修--入住)

    文件系统类型: – EXT4,第四代扩展文件系统,RHEL6系列默认
    – XFS,高级日志文件系统,RHEL7系列默认
    – SWAP,交换空间(虚拟内存)缓解物理内存的压力
    二:系统操作基础命令

    / 根目录: 所有数据都在此目录下(Linux系统的起点)

    /dev: 所有设备相关的数据 : hd,表示IDE设备
    sd,表示SCSI设备
    /dev/sdc6:SCSI设备第三块硬盘第6个分区(第二个逻辑分区)
    虚拟控制台切换( Ctrl + Alt + Fn 组合键)

    #号 管理员 root $号普通用户 "/" 在跟下 "~"在root这个目录下(管理员家目录)

    颜色的含义:黑色:文本文件
    蓝色:目录
    绿色:可以执行的程序文件
    青色:快捷方式
    红色:压缩文件
    命令行的一般格式:每一部分之间都要有一个空格
    命令字 [选项]... [参数1] [参数2]...
    操作 如何执行该操作 作用对象
    打 用什么(怎么) 谁
    命令的执行依赖于解释器。
    默认解释器:/bin/bash
    用户------->解释器------>内核--------->硬件
    Ctrl+c :结束正在运行的命令
    tab键可补全命令或路径 tab两次显示所有
    alt + .: 粘贴上一个命令的参数(按两次是上上个,以此类推)
    -ldh 短选项 --help 长选项
    基本命令(后面基本不给选项的)

    pwd 查看当前工作目录
    uname -r 查看系统内核版本
    cat /etc/redhat-release 查看系统版本
    lscpu 列出CPU处理器信息
    cat /proc/meminfo 查看内存情况
    hostname 当前系统的主机名称
    ifconfig 列出已激活的网卡连接信息
    poweroff 关机
    reboot 重启
    wc 统计文本行数,字节数,字数 (wc=‘wc -lcw’)定义了别名的
    du -h 查看文件占用空间大小

cd命令 切换工作目录
cd - 切换到上次的工作目录(类似遥控板上的交换频道)
cd .. 返回上级工作目录
cd ~ 用户名 切换到该用户家目录
cd 后面什么都不给 切换到当前用户家目录

文本查看
cat 查看文本文件内容
less [选项] 文件名... 分屏阅读文本内容 /+关键字可查找
head -n 数字 文件名 查看文件前n行 默认十行
tail -n 数字 文件名 查看文件后n行 默认十行
grep [选项]... '查找条件' 目标文件 输出包含指定字符串的行(文件过滤)

DAY03
一:挂载操作
Linux系统显示光盘内容
光盘文件----->光驱设备------> 目录(访问点)
/dev/hdc IDE接口 /dev/sr0 SCSI接口

1光盘挂载
①查看光驱设备文件   ls /dev/sr0 ls /dev/cdrom

②创建访问点目录,挂载设备,查看设备
                (挂载设备尽量挂载到自己创建的目录中,否则原目录会被覆盖且为只读)
            mkdir  /dvd

            mount  /dev/cdrom   /dvd   

            ls  /dvd  
③卸载操作       umount  /dvd  
            (查看所有终端是否在挂载点中工作,跳出后再卸载)   
2u盘挂载(NTFS格式)   下载ntfs-3g.rpm的软件包
            mkdir /usb
            mount  -t  ntfs-3g /dev/sdb1   /dvd

            umount  /usb

ls      查看目录文件列表   

     -l:以长格式显示
     -R:递归显示目录下的所有目录
     -A:包括名称以 . 开头的隐藏文档
     -d:显示目录本身(而不是内容)的属性
        这个选项可以过滤查看某个目录是否在某个目录中(与grep区分哈)   
     -h:提供易读的容量单位(K、M等)

~user表示用户user的家目录
. 表示当前目录
.. 表示父目录
通配符:针对不确定的文档名称,以特殊字符表示
    *:任意多个任意字符  ls /dev/tty* 显示以tty开头的所有   
    ?:单个字符      ls /dev/tty? 显示以tty开头且后面只有一个的文件
    [a-z]:多个字符或连续范围中的一个,若无则忽略  只能0-9
    {a,min,xy}:多组不同的字符串,全匹配
请显示/dev目录下,tty20到tty30 所有的设备文件?
                ls /dev/tty{2?,30}
                ls /dev/tty{2[0-9],30}
alias    定义别名,简化复杂的命令 (临时定义)  永久别名配置文件是  /root/.bashrc
            alias  hn='hostname'
    unalias     #删除别名   

ln -s   原文件(长路径)  链接文件路径

    相当于创建一个可执行文件的快捷方式来代替某个可执行文件
    ln -s   /bin/touch      /bin/t  
    t   /home/桌面/yanjie.txt     就能touch一个yanjie.txt出来

与alias区别:ln -s  可以修复一些alias的BUG?

文件管理
mkdir -p [/路径/]目录名 创建文档 (连同父目录一同创建)
1.复制、 删除、 移动
移动:mv [选项]... 原文件... 目标路径
mv /mnt/1.txt /mnt/nsd01/2.txt (可以改名)
重命名:路径不变的移动
删除:rm -rf /opt/* -r 目录本身及目录下的所有

    复制:cp [选项]... 原文件...     目标路径
        支持多个参数:把最后一个参数作为目标,其他作为源   
            cp -r  /boot/   /opt/  复制目录要递归
        \cp -rf /boot/ /opt/   #在本次操作,临时取消别名 强制覆盖

需要注意的细节
前提:
[iyunv@nsd /]# rm -rf /opt/*
[iyunv@nsd /]# ls /opt/

第一次命名操作的意义:复制/home到/opt/ 重命名为test  (也就是说cp有重命名功能)
[iyunv@nsd /]# cp -r /home/  /opt/test

第二次命名操作的意义:复制/home到/opt/test目录下
[iyunv@nsd /]# cp -r /home/  /opt/test

2.备份(压缩)与恢复(释放)
    ①zip(unzip) -d(目标文件夹+创建的包名.zip) 被压缩包名
        好处:适用于跨平台的压缩格式Windows Linux都可以使用
②tar备份与恢复
    归档和压缩 : 1.方便对零散文件管理    2.减少空间的占用
    常见的压缩格式及命令工具:
        gzip ----> .gz
        bzip2 ---->.bz2
          xz ----> .xz
tar 集成备份工具(特殊命令:选项可以不加-)
    -c:创建归档
    -x:释放归档
    -f:指定归档文件名称
    -z、-j、-J:调用 .gz、.bz2、.xz 格式的工具进行处理
    -t:显示归档中的文件清单
    -C:指定释放的位置
格式: tar  选项...f   /路径/压缩包名字    被归档及压缩的文件
       tar  -zcf   file.tar.gz        /home/  /etc/passwd
       tar -jcf /root/backup.tar.bz2 /usr/local/
       tar -xf  /opt/nsd01.tar.gz    -C  /nsd/  
       tar -tf /root/backup.tar.bz2  
ps:因为该命令选项后面都是给的文件名,所以f必须放在最后

文本管理
创建文本:touch vim > >> (重定向自带touch功能,可以给一个不存在的文件名)
文本编辑:
①vim /opt/haha.txt 如果没有haha.txt这个文件vim会新建一个(自带touch功能)
vim工作模式:命令模式(刚进入时,或者i中按esc之后) 输入模式(i) 末行模式(:)

末行模式下 :wq  保存并退出   :q!  强制不保存并退出   
②echo和重定向的组合也可编辑文本(适合为配置文件增加新的功能)
    echo abcd >haha.txt
    echo abcd >>haha.txt                           
文本查看   
cat  查看文本文件内容
less [选项] 文件名...   分屏阅读文本内容  /+关键字可查找
head -n 数字 文件名   查看文件前n行    默认十行
tail -n 数字 文件名   查看文件后n行    默认十行
grep [选项]... '查找条件' 目标文件     输出包含指定字符串的行(文件过滤)         

DAY04

远程管理   ssh   -X(可以打开图像界面)  用户名@对方IP地址  
    (以什么样的用户身份,登陆到那个服务器)
        exit  退出   
        Ctrl + shfit + t   新开一个终端

软件管理
    RPM包管理器     
    – rpm  -q   软件名...  查询软件是否安装
    – rpm  -ivh 软件名-版本信息.rpm...
    – rpm  -e   软件名...  卸载软件包

    # rpm --import /dvd/RPM-GPG-KEY-redhat-release  导入红帽的签名信息
    Yum软件包仓库:自动解决依赖关系   (类似应用商店功能)

            服务:为客户端 自动解决依赖 安装软件

            服务端: classroom虚拟机搭建Web服务,共享光盘所有内容

            客户端: Server虚拟机
    建立yum软件库:
        配置文件的路径:/etc/yum.repos.d/*.repo
        错误的配置文件,会影响正确配置文件
    ①:rm -rf  /etc/yum.repos.d/*  清空错误配置文件

    ②:vim /etc/yum.repos.d/dvd.repo 创建一个repo文件

[rhel7] #仓库标识
name=nsd 1803 #仓库的描述信息
baseurl=http://classroom.example.com/content/rhel7.0/x86_64/dvd/ #指定Yum仓库的位置
enabled=1 #启用该文件
gpgcheck=0 #关闭检测软件包签名功能

    ③:yum repolist   #列出仓库信息(检查是否建立)

    Yum的使用
         安装: yum  -y  install  软件名
         卸载: yum  remove  软件名
            yum clean all   清空Yum的缓存
            killall xeyes   #杀死该程序
    wget下载工具    wget 软件包的URL网址 -O /目录路径/新文件名  (默认下载到当前目录)

配置网络
配置永久的主机名,配置文件/etc/hostname

        vim  /etc/hostname

    配置永久IP地址,子网掩码,网关地址 dns服务器地址

        1.查询识别的网卡名称
            nmcli connection show
        2.配置IP地址,子网掩码,网关地址

            nmcli   connection   modify   'System eth0'     
            ipv4.method   manual                                    
            ipv4.addresses   '172.25.0.100/24'  
            ipv4.gatrway    '172.25.0.254'      
            onnection.autoconnect   yes
        nmcli connection 修改网络配置  '网卡名'
        ipv4.方法  手工配置
        ipv4.地址  'IP地址/子网掩码'   
        网关地址(没有ipv4.gateway..这个选项时直接在ipv4.addresses中进行配置,且      

     broadcast是广播地址,不是网关地址,你不要混淆了)
            每次开机自动启用配置
        3.激活配置
            nmcli connection up 'System eth0'
    配置DNS服务器地址  

         作用:将域名解析为对应的IP地址

         /etc/resolv.conf    DNS服务器地址的配置文件

                     vim 命令模式下  dd 删除整行内容   10dd  删除10整行内容

            方法1:vim  /etc/resolv.conf   
                   nameserver   172.25.254.254

            方法2:echo nameserver   172.25.254.254 >> /etc/resolv.conf  

        验证: nslookup server0.example.com(域名)
    关闭防火墙:
        即时关闭  sentenforce 0
        永久关闭  vim /etc/selinux/config  SELINUX=disabled

管道 操作  |  :
            将前面命令的输出结果,交由后面命令在处理一次,最后的输出以最后一条命令为准

        cat -n /etc/passwd  |   head -12   |   tail -5
            显示了passwd文件找中的8-12序列行
重定向   
        >:覆盖重定向
        >>:追加重定向

    将前面命令的输出结果,写入文本文件中
        head -3 /etc/passwd  > /opt/pass.txt
echo  在屏幕输出用户想输出的内容  (通常与重定向连用来修改或追加配置文件)
        echo A.tedu.cn  >  /etc/hostname 改主机名

        echo nameserver 172.25.254.254 >> /etc/resolv.conf (也可以直接覆盖)
                        改dns服务器地址
        echo 123456 > /opt/1.txt    创建一个文本文件

DAY05
用户管理
用户帐号: 1.可以登陆操作系统
2.实现访问控制(不同的用户权限不同)
组帐号: 方便对用户管理(权限方面)
唯一标识: UID GID
管理员的UID:0
一个用户必须至少属于一个组
组分类:基本组(私有组) 附加组(从属组 公共组)

用户基本信息存放在 /etc/passwd 文件
    head -1 /etc/passwd
     root:         x:  0:          0:    root: /root:/bin/bash  
       用户名:密码占位符:UID:基本组的GID:描述信息:家目录:解释器程序
添加用户
    useradd [选项]... 用户名
    -u 用户id     useradd -u 1200 nsd04
    -d 家目录路径   useradd -d /opt/test nsd06
    -s 登录Shell  useradd -s /sbin/nologin nsd09 禁止用户登陆系统
             用户 -------> 解释器 ------->内核------->硬件
    -g 基本组名     useradd -g tarena nsd07 指定基本组的名字为tarena
    -G 附加组      useradd -G tarena nsd07
        useradd -u 9928 -g users -G adm,root admin

设置登录密码
        用户密码信息存放在 /etc/shadow 文件
        head -1 /etc/shadow
        用户名:密码加密字符串:上一次修改密码距离1970-1-1的时间        
    交互式: passwd [用户名]
    非交互式:echo '密码'   |   passwd --stdin(取消交互) 用户名

          echo 123456 | passwd --stdin nsd01

    su - nsd01    #临时切换用户身份

修改用户属性:
     usermod [选项]... 用户名
        -u 用户id
        -d 家目录路径
        -s 登录Shell
        -g 基本组名
        -G 附加组  
    usermod -u 1300 -G tarena -d /opt/nsd11 -s /sbin/nologin nsd11

实在记不住:可以利用vim修改/etc/passwd文件内容(直接改配置文件!)

删除用户:
    userdel  [-r]  用户名    #将该用户的家目录一起删除

组管理
管理组账号
组基本信息存放在 /etc/group 文件
[iyunv@server0 ~]# head -1 /etc/group
root:x:0:
组名:x:GID:组的成员列表
添加组
groupadd [-g 组ID] 组名 groupadd -g 123 stugrp
管理组成员
gpasswd -a 用户名 组名 (添加XX用户到什么组)
gpasswd -a harry stugrp
gpasswd -d 用户名 组名 (删除XX用户从什么组中)
gpasswd -d kenji stugrp
删除组
groupdel 组名

NTP时间同步 (装包,配置,启服务 以后搭建服务器也是这个思想)
建集群时要求所有机器时间一致
如果时间调整成2020年创建了很多文件,
然后时间又调整回来了系统一看,很多文件是来自未来的,容易出出问题。

date  查看系统当前时间

date +%Y         #显示年份
date +%m         #显示月份
date +%d         #显示日期
date +%Y%m%d     #显示年月日
date +%Y-%m-%d   #显示年月日
date +%F         #显示年月日
修改时间
    date -s  "年-月-日     时:分:秒"
    date -s   "2008-9-6   12:10:11"
服务:NTP服务器为客户机提供标准时间

服务端:classroom时间同步服务器

客户端:虚拟机Server
1.安装chrony客户端软件,与时间服务端沟通的软件
    yum -y install chrony
2.修改配置文件/etc/chrony.conf,指定服务端位置   

    vim  /etc/chrony.conf
    server classroom.example.com iburst
3. 启动客户端chronyd服务
    daemon: 守护进程,守护程序
    systemctl restart chronyd  #重起服务
    systemctl enable chronyd   #设置随机自启动
4.验证
    date  -s "2000-10-1 10:12:30"
    date
    systemctl restart chronyd
    date

关于查看帮助
help命令
help 命令名 help cd 查看cd命令的帮助
命令名 --help ls --help 查看ls命令的帮助

man手册
    man     命令名(文件名)    进入手册后/-h 筛选某个选项的使用规则

    man 手册入口  1用户指令  5文件系统  8系统指令

tips:
broadcast是广播地址非网关地址
虚拟机ping不通主机?
是因为虚拟机没网啊!教学环境中能ping通另外的虚拟机是因为已经搭好了服务器
为什么hostname会随ip地址变而改变?
是因为 /etc/hostname这个配置文件为空,是动态主机名,所有IP变了就会变化
在hostname配置文件中写入主机名就会变成静态主机名static hostname。

接下来需要梳理一下linux系统下的目录结构
有些什么目录
放了些什么文件
都是干什么的



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-448353-1-1.html 上篇帖子: Wind 10 装Centos7 下篇帖子: Linux 多线程同步机制:互斥量、信号量、条件变量
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表