尚硅谷_基础_Linux

目录

一:linux基础篇,linux入门

二:linux 组管理 和 权限管理:

三:crontab:定时任务调度:

四:Linux 磁盘分区,挂载

五:Linux 网络配置:

六:Linux 进程管理:(重点)

七:RPM 与 YUM

八:javaEE 定制篇(搭建 javaEE 开发环境)

九:大数据定制篇

十:Python定制篇


 linux学习分几个阶段:
       1.Linux 环境下,基本操作命令。包括:(文件操作命令,编辑工具使用,linux用户管理)
       2.linux 各种配置。包括:(环境变量配置,网络配置,服务配置)。
       3.Linux 下,如何搭建,对应语言开发环境。包括:(大数据,javaEE,Python等)。
       4.能看懂,并编写 shell 脚本,对 linux 服务器进行维护。
       5.能进行安全设置,防止攻击,保障服务器正常运行,能对系统调优。
       6.深入理解 Linux 系统(对内核有研究),熟练掌握大型网站应用架构组成、
       并熟悉各个环节的部署和维护方法。

 

一:linux基础篇,linux入门

              1)Linux 介绍:
              2)Linux 和 Unix 关系:

                        a:Linux: 是操作系统
                        b:Unix: 是内核


              3)VM 和 Linux(CentOS) 系统安装:
                        a:先安装 Virtual machine ,vm15(linux运行环境)
                        b:在安装Linux(CentOS)
                        c:VM 和 CentOS 关系

                                  -1.vm:安装在 window 操作系统上的软件。
                                  -2.通过 vm 软件,能够创建出,虚拟机空间,
                                  -3.在虚拟空间里,安装真正的操作系统(CentOS系统)

                        d:VM 安装步骤:
                                  -1.去 BIOS 里,修改设置,开启虚拟化设备支持。然后安装vm。

                        e:CentOS 安装步骤:
                                  -1.创建虚拟机(空间)。设置虚拟机,开启此虚拟机,开始安装系统。
                                  -2.难点:虚拟机网络适配器(网络连接),三种情况说明
                                            1.桥接模式(直接连接物理网络)
                                                    好处:Linux 可以和其他的通讯系统(计算机)通信,
                                                              直接占用一个网段,通讯比较快。
                                                    缺点:但是统一网段电脑多,可能造成ip冲突。
                                            2.NAT 模式(网络地址转换模式)(用于共享主机的IP地址)
                                                    linux 虚拟机和本机同一个IP地址,都是虚拟ip,
                                                    linux 可以访问外网,外网不能访问虚拟机,不会造成冲突。
                                            3.仅主机模式(与主机共享的专用网络)
                                                    linux是一个独立的主机,不能访问外网

                        f:安装后:
                                  -1.使用终端
                                  -2.配置网络,可以上网。
                                  -3.连接 windows 和 liux,实现可以连接复制粘贴。
                                                菜单,虚拟机,安装 vmtools :
                                                可以在window 和 linux 直接粘贴复制,也可以设置共享文件夹。

              4)Linux 目录结构




              5)远程连接:
                        a:Xshell:速度快,解决了中文乱码问题。(使用 UTF-8)
                        b:服务器得开启,sshd,服务,开启远程访问,并监听 22 端口。默认连接服务器 22 端口。
                        c:为服务器分配ip地址,ifconfig:查看服务地地址。
                        d:传文件 协议要用 SFTP,传指令 SSH。

              6)vi 和 vim 编辑器 介绍:


              7)关机&重启命令
                        a:关机重启
                                  -1.shutdown:
                                           shutdown -h now:立即关机
                                           shutdown -h 1  :1分钟后关机
                                           shutdown -r now:立即重启
                                  -2.halt:  停机,关机
                                  -3.reboot:重启系统
                        b:sync:把内存数据,同步到磁盘。
                                  -1.细节:执行关机前,都应该先执行 sync,把内存数据同步到磁盘,防止数据丢失。


              8)用户登录和注销
                        a:用户登录,尽量不使用root用户,权限太高。
                        b:注销用户,退出远程连接
                                logout。


              9)用户管理:


              10)实用指令:
                        a:指定运行级别:
                                  -1.指令级别:
                    0.关机
                    1.单用户【找回丢失密码时】
                    2.多用户状态 没有网络服务
                    3.多用户状态 有网络服务【常用】
                    4.系统未使用 保留(给用户)
                    5.图形界面【常用】
                    6.系统重启
                                  -2.系统运行级别 配置文件
                        /etc/inittab 的 id:5:initdefault:
                              表示当前运行级别 为 5.
                                  -3.切换指定运行级别指令:
                        init [012356]
                                  -4.面试题:如何找回root密码?
                        思路:进入到单用户模式,修改root密码。
                           因为单用户模式,root 不需要密码登录,必须在linux主机操作。

                        b:文件操作指令:
                                  -1.pwd:显示当前目录的绝对路径
                                  -2.ls:
                    ls -a:显示所有的文件和目录,包括隐藏的
                    ls -l(h):以列表方式显示信息
                                  -3.cd:切换目录
                    cd ..:切换上级目录
                                  -4.mkdir:创建目录。
                    mkdir -p:创建多级目录
                                  -4.rmdir 目录名:删除目录(目录下有文件,无法删除)
                    rm -r 目录名:递归删除整个文件夹
                    rm -f(rm -rf)目录名:强制删除不提示
                                  -6.touch 文件名:创建空文件
                    touch abc.txt
                                  -7.cp:拷贝指令
                    cp source dest:    source:文件,dest:地址。把谁拷贝到哪
                    cp -r source dest: 递归拷贝整个文件夹。
                    \cp -r source dest:    强制覆盖
                                  -8.mv:移动文件或者重命名
                    mv oldName newName:重命名
                    mv source dest:移动,把谁移动到哪
                                  -9.rm 文件或目录:删除文件或目录
                    rm -r:递归删除整个文件夹
                    rm -f(rm -rf):强制删除不提示
                                  -10.cat 要查看的文件:以只读的方式,查看文件内容
                    cat -n a.txt:显示行号,查看文件。
                    cat -n a.txt | more:管道服务,分页显示。
                                  -11.more:以分页方式显示内容:整个文件加载,分页展示。
                                  -12.less:以分页方式显示内容:一页一页加载读取,看大型日志,比较快。
                                  -13.> ,>>:输出重定向 和 追加指令。
                    ls -l > a.txt:把输出内容,重写到文件
                    ls -l >> /etc/b.txt:写入到 etc/b.txt 文件后 追加
                    cat 文件1 > 文件2:将文件1的内容 覆盖到 文件 2
                                  -14.echo:输出内容到控制台
                                  -15.head:显示文件开头部分,默认显示前10行。
                                  -16.tail:显示文件末尾部分,默认显示后10行。
                    tail -f:实时监控, 实时追踪文档的更新,【经常使用】。
                                  -17.hishory:查看历史指令,或者执行历史指令。
                   !178:执行历史指令。


                        c:时间日期类指令:
                                  -1.显示日期:
                    date:显示当前时间
                    date +%Y:显示年
                    date "+%Y-%m-%d:%H-%M-%S":实现年月日时分秒
                                  -2.设置日期:
                    date -s "2020-11-03 22:35:14"
                                  -3.cal:当前的日历情况
                    cal 2020:显示 202 年日历。

                        d:搜索查找指令:
                        e:压缩 和 解压缩指令:
 

二:linux 组管理 和 权限管理:

三:crontab:定时任务调度:


              1)定时任务调度 概念:指系统在某个时间,执行热定的命令或者程序。
                        a:定时任务调度 分类:
                                  -1.系统工作:有些重要的工作,必须周而复始的执行。如病毒扫描
                                  -2.个别用户工作:个别用户,希望定时执行某些程序。如 mysql 数据库备份

              2)解释:
                        a:Linux 定时调用 我们的 脚本/代码。
                                  -1.对于只是简单的任务,可以不用写脚本,直接在 crontab 中,加入任务即可。
                                  -2.对于比较复杂的任务,需要写脚本(shell脚本) 完成。

                        b:用 crontab 定时调度。
                                  -1.常用选项:
                    -e:编辑 crontab 定时任务。
                    -l:查询 crontab 定时任务。
                    -r:删除当前用户,所有的 crontab 定时任务(终止任务调度)。
                    service crond restart:重启任务调度

              3)入门案例:
                        a:案例1:
                                  -1.任务要求:
                设置任务调度文件:/etc/crontab
                设置个人任务调度:执行 crontab -e 指令
                接着输入 任务 到 调度文件
                如:* /1 * * * * ls -l >> /etc/temp/to.txt
                意思是每小时的每分钟,执行:ls -l >> /etc/tmp/to.txt 命令
                                  -2.实现:
                crontab -e
                文件中 写入:* /1 * * * * ls -l >> /etc/temp/to.txt
                保存退出就生效。
                在每一分钟,自动调用:ls -l >> /etc/temp/to.txt


                        b:案例2:
                                  -1.每隔一分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
               调用脚本实现。
                1)先编写 脚本文件:/home/mytask1.sh
                   写入: date  >> /tmp/mydate
                         cal >> /tmp/mydate
                2)给 mytask1.sh 一个可执行权限
                3)crontab -e
                4)* /1 * * * * /home/mytask1.sh
                                  -2.每天凌晨三点,将 mysql 数据库 testbd ,备份到文件 mydb.bak 中
                1)先编写 脚本文件:/home/mytask3.sh
                   写入:/usr/local/mysql/mysqldump -uroot -proot testdb > /tmp/mydb.bak
                2)给 mytask3.sh 可执行权限
                3)crontab -e
                4)0 3 * * * /tmp/mydb.sh

                        b:参数说明:
                                  -1.五个占位符:
                *:一小时当中的第几分钟:(0-59)
                *:一天当中的第几个小时:(0-23)
                *:一个月当中的第几天:    (1-31)
                *:一年当中第几个月:     (1-12)
                *:一周中星期几:   (0-7)(0和7 都代表周日)
                                  -2.特殊字符:
                *:代表任何时间
                ,:一个不连续的时间(8,10,12:代表8点,10点,12点,都执行一次命令)
                -:代表范围(1-6:周一到周六,执行一次命令)
                * /n:代表每隔多久执行一次:(* /10:每隔十分钟执行一次)
                                  -3.示例:
                45 22 * * * :每天 22:45 分执行
                0 17 * * 1:每周一 17:00 执行
                * /10 4 * * *:4:00 ~ 5:00,每隔十分钟执行一次
                0 5 1,15 * *: 每月 1,15 号,5:00 执行




 

四:Linux 磁盘分区,挂载


              1)Linux 磁盘分区:
                        a:分区两种模式:
             1.mbr 分区(传统):
             2.gtp 分区(主流)(优越):
                        b:linux分区原理介绍
             无论分几个区,都是挂载到 目录下。
                        c:
                        d:查看分区挂载情况:

             lsblk -f:
          sda1          xfs              0f805e80-1539-49a3-b510-bc67208242c2    /boot
          分区情况    分区类型   40位不重复,分区唯一标识字符串               挂载点


              2)如何增加一块硬盘
                        a:虚拟机添加硬盘
                        b:分区
                        c:格式化
                        d:挂载
                        e:设置可以自动挂载



              3)磁盘情况查询:
                        a:基本语法:(h:human,人观察模式)
                                  -1.df -l/lh  /目录:查询 系统整体 磁盘使用情况
                                  -2.du -l/lh  /目录:查询 指定目录 磁盘使用情况
                参数:
                   -s: 指定目录 占用大小汇总
                   -h: 带计量单位
                   -c: 列出明晰的同时,增加汇总值
                   -a: 含文件
                   --max-depth=1:子目录深度

                        b:示例:
                                  -1.查询 /opt 目录的 磁盘占用情况,深度为 1
                du -ach --max-depth=1 /opt
                                  -2.统计 /home 文件夹下文件的个数
                ls -l /home | grep "^-" | wc -l
                列出来        过滤        统计
                                  -3.统计 /home 文件夹下目录的个数
                ls -l /home | grep "^d" | wc -l
                                  -4.统计 /home 文件夹下文件的个数,包括子文件里的。
                ls -lR /home | grep "^-" | wc -l
                                  -5.统计文件夹下,目录的个数,包括子文件夹里的
                ls -lR /home | grep "^d" | wc -l
                                  -6.以 树状 显示目录结构
                yum install tree:安装 tree 指令
                tree:查看
                tree /home:查看


 

五:Linux 网络配置:


              1)Linux 网络配置原理(含虚拟机)
                        b:目前,我们网络配置,采用的是 NAT 模式(网路环境)。
                linux    -(通信)-(vmnet8 虚拟网卡)windows-(通信)-外界
             192.168.234.1     192.168.234.1/192.168.8.2      192.168.8.5
                        b:查看 网络ip 和 网关
             vm,
                        b:更改 windows vm8 网址:
             网络,更改适配器选项,

              2)Linux 网络配置原理:
                        a:自动获取:
                        b:指定ip:


六:Linux 进程管理:(重点)


              1)进程基本概念:
              2)显示系统执行的进程:
              3)终止进程:
              4)服务(service)管理
                        b:管理指令:
                        c:使用案例:
                                  -1.查看当前防火墙的状况、关闭防火墙、重启防火墙。
                                  -2.systemctl status firewalld
                        d:查看可用端口:
                                  -1. telnet ip 端口:windows下,启动telnet,可以检查端口是否监听 并可以访问。
                        e:查询自启动服务:
                                  -1. setup
                                  -2. ls -l /etc/init.d/
                        f:服务的运行级别:
                                  -1.init 5:指定运行级别为5。
                                  -2.vim /etc/inittab:查看或修改 ,服务默认运行级别
                                  -3.运行级别和服务关系:
                     不同 服务,在每一个运行级别中,启动规则都不一样,(自启动/不启动)

              5)动态监控进程:
              6)监控网络状态:
       

七:RPM 与 YUM


              1)RPM(用得少)
                        a:RPM 介绍:
                                  -1.RedHat Package Manager(红帽包管理器)、
                                  -2.可以安装文件,是红帽一种管理标准。

                        b:RPM 指令:
                                  -1.查询当前Linux 有没有火狐浏览器
                rpm -qa |  grep -i  mysql
                rpm -qa | grep firefox
                rpm -qa firefox
                                  -2.查看安装路径:
                rpm -ql firefox
                                  -3.安装:
                rpm -ivh RPM包全路径
                   -i:install 安装
                   -v:verbose 提示
                   -h:hash   进度条
                                  -4.移除:
                rpm -e firefox


              2)YUM(用的多)
                        a:yum 是一个,Shell,前端软件包管理器,基于 RPM 包管理,能够从 指定的服务器
                 自动下载 RPM 包,并且安装,并且可以自动安装依赖包(需要联网)。
                        b:YUM 指令:
                                  -1.查询软件:
                    yum list | grep XX
                                  -2.安装指定软件:
                    yum install XX


 

八:javaEE 定制篇(搭建 javaEE 开发环境)


              1)JDK 安装 与 配置
                        a:在 /opt/ 目录下,解压 jdk-8u241-linux-x64.tar.gz
                        b:vim /etc/profile :配置环境变量

                                  -1.JAVA_HOME=/opt/jdk/jdk1.8.0_241;java 路径
                                  -2.PATH=/opt/jdk/jdk1.8.0_241/bin:$PATH;:连接符
                                  -3.export JAVA_HOME PATH;输出一下,让变量生效

export JAVA_HOME=/usr/local/java/jdk1.8.0_291
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH


                        c:更新环境变量(source /etc/profile) 或者 注销用户


九:大数据定制篇

十:Python定制篇

你可能感兴趣的:(网络,linux,java,运维,操作系统)