• Linux基础:Day01


    Linux操作系统的知识体系
     1、初级  2、中级  3、高级  4、*额外知识*
     
     1、初级
      1.1、OS操作系统的原理
      1.2、开始了解常用的命令(系统管理的基础命令)
       开机关机
       时间管理 date cal clock hwclock
       ls  cd pwd  ....
      1.3、目的结构、目的管理
       树形结构 tree
       cd : . .. ~ -
      1.4、文件管理、文件查找、文件属性
      1.5、用户与用户组的管理
       su sudo
       acl
       0077  770
      1.6、磁盘管理
       文件系统原理
       fdisk  --  parted
       LVM
       RAID
      1.7、Linux的网络管理
       网络知识
       ip
       ping
       netstat
       ss
       ifconfig
       ifup / ifdown
       route
       ...
      1.8、*进程管理*
       进程管理:1、进程 线程
        2、进程 程序
        3、普通进程 与 守护进程
        。。。
       ps  pstree
       top
       uptime
       vmstat
       htop
       ...
      1.9、iptables -- firewall
       四表五链
       四表:filter nat mangle  raw
       五链:prerouting  input forward output postrouting 
     2、中级
      2.1、shell脚本开发 (Python)
       bash的特性  逻辑语句  变量  文本处理三剑客 
      2.2、nfs(rpc)  smb  ftp  tftp   iscsi
      2.3、dns服务
      2.4、telnet openssh  openssl
      2.5、httpd(http协议)
      2.5、LAMP -- MySQL(*可以单独学习*)
      2.6、nginx(网站引用模块)
      2.7、网站缓存的相关知识!!!
      2.8、其他的服务 dhcp ...
     3、高级
      3.1、集群  1、基于应用层的集群   heartbeat + nginx反向代理
         HA  RHCS ....
       2、三层和四层 keepalived + lvs
      3.2、虚拟化   --   云计算
       1、Xen
       2、Kvm  -- oVirt
       3、Openstack
       4、Docker --  K8S (平台自动化运维--docker的集群化管理)
      3.3、大数据
       1、hadoop集群
        HDFS    分布式集群文件系统 --  海量数据存储的问题
        map-reducer   来解决数据初步处理的问题(我们需要通过MR将海量数据装换为KV结构)
        JAVA
       2、ELK  ES
        海量数据(日志)处理系统
     4、其他内容
      4.1、监控平台
        zabbix
       后端数据处理与存储  |   zabbix平台  |  前端数据显示
       共享存储、数据            平台         PHP前端模块
       cacti 
       nagios   
      4.2、自动化运维
       ansible
       puppet
       saltstack
       ...
      
      4.3、Python开发
     
    系统基础
    系统基础:
     1、三大部件
      CPU  :  运算器  控制器  存储器
       1+1=2   times space
       中断
      内存:CPU的数据,只能从内存读取,且内存数据是易失性(页面 page)
      IO:控制总线  数据总线(一个IO,开发人员的叫法)
     2、OS原理
      见图
      注意:操作系统是什么?
      
     3、OS的管理
      GUI - 图形 GNOME KDE XFCE
      CLI - 命令行管理界面 shell
       常见的shell程序
       sh -- bash
       csh
       tcsh
       ksh
       zsh
      cat /etc/shells
     
     4、调用
      system call
      api
     
     5、操作系统的历史知识
      见博客
     6、开源体系
      GNU  --  GPL
       宽松的GPL协定
      Apache
      BSD 
     7、Linux的常见发行商版本
     
    基础命令
    命令基础
     1、命令的用法
     基本格式 :
       命令 选项 操作对象
     *扩展:
      命令 子命令 选项 操作对象
      qemu-kvm create/pause/stop ...
      docker
     
     2、获取命令帮助
      ring0 -- ring3
      内置命令 -- 运行在ring0
      外置命令 -- 运行在ring3
      
      扩展:虚拟化 -- ring -1 ring 0  -- ring 3  -- 硬件辅助虚拟化(intel vt-x  amd xxx)
      1、
      内置命令
       help 命令
      外置名利
       命令 --help  /  -h
      2、man   --   manual手册
       /usr/share/man...  所有的帮助手册都是一个压缩文件
       1 -- 8 个级别
       每个级别对应的内容是不想同,而各个命令有可能只中一个或几个的帮助内容;
       1:表示用户命令  -- 一些普通用户的命令的使用格式或参数用法;
           2:表示系统调用  -- 查命令关联的system call
       3:库调用 -- 命令相关的库文件
       4:特殊文件(设备文件)
       5:文件格式(配置文件的语法)
       6:游戏
       7:杂项(Miscellaneous)
       8:管理命令(/sbin,/usr/sbin,/usr/local/sbin)只有管理员才有权限使用的命令,因为它们能修改硬件设备参数;
       whatis 命令
        查看命令所支持的man级别类型;
       User Commands  --  用户命令
       NAME  -- 名字;一般显示这个命令的功能
       synopsis  --  概要 ;  命令的用法
       DESCRIPTION  --  描述;该命令的各种参数,及其解释;
       AUTHOR -- 作者;
       COPYRIGHT  --  版权;发型版本的信息
       SEE ALSO  -- 查看其他信息
       
       man 调用的more来进行文件查看
        1、/内容  --  默认向下查找制定内容
        2、?内容 --  默认向上查找指定内容
         n  下一个
         N  上一个
      3、查看info信息
       /usr/share/doc/ 。。。
       存放了命令的帮助文档(和文件的来源于历史有关)
       一般不看
      4、安装第三方软件
       README
      5、百度谷歌
     3、系统基础命令
      3.1、PATH 环境变量
       echo $PATH
      3.2、常用命令 
       Date clock hwclock Cd pwd ls stat Cat tac file
       date 查看系统时钟
        在文件命令的经常使用
        %字母
        %F  2019-08-26
        %D 08/26/19
        %H
        %M %m
        %S
       clock hwclock  硬件时钟 cal
        hwclock -s  //将系统时钟与硬件时钟进行同步,同步成硬件时钟
       扩展:ntp服务器
        yum install ntp
        去修改 /etc/ntp.conf文件,实现客户端与服务器端的时间同步;
       cd pwd
        目录: . .. ~ -
        PWD  OLDPWD
        basename
        dirname
       ls
        它涉及到很多文件属性信息
        -i  inode 信息   (文件系统有关)
        -l  文件类型  文件权限(所属主 所属组  other 特殊权限位)  硬链接数   所属主  所属组   文件(目录)大小   Mtime   文件名(目录名)
            -  普通文本文件
            d  目录文件
              l  软连接文件 ---------------------------------------------------------------------------------被连接文件的字符长度
             s(套接字文件)--------------------------------------------------------------------------------------主设备号 次设备号
            b  块设备文件-----------------------------------------------------------------------------------------主设备号 次设备号
           c  字符设备文件文件  流设备文件
           p  管道文件
       file  去查看文件的具体文件类型
        普通的文本文件   ASCII 文件
       stat  查看文件时间信息
        touch -C
       cat tac
              查看文件内容
              cat结合重定向可以多行输入
        -n
      其他常见的命令
       who  w   whoami   whereis  whatis  which 
       who w whoami  当前系统登录的用户信息
       whereis
        查看命令的绝对路径
        查看man的帮助文档的路径
       which
       whatis
       shutdown  halt  reboot init 0  init 6  poweroff
       shutdown now   // 立刻关机
       shutdown -r  now  //立刻重启
       shutdown  17:00  // 在17点的时候关机
       shutdown -r 17:00 
       shutdown +5  //在命令执行后 第5分钟关机
       shutdonw -c  //取消关机命令
        明白:shutdown 调用的就是poweroff
       halt  --  halt是直接断电
       poweroff -- 会对进程做检查在断电
       reboot  --  重启
       init 0   /  init 6
     
    目录结构与目录管理
    Linux目录结构:
     1、目录创建的规则
      *FHS   文件系统层次化标准 *
      指定了Linux操作系统,那些目录是一定要具备的
      /boot   /bin  /sbin   /etc   /sys   /proc   /mnt   /media   /usr   /option  /var   /home  /root   /tmp  /dev
     2、目录的结构
      树形结构
      /  --   rootfs 根文件系统
               在系统启动后,硬盘需要被使用就需要有驱动程序,驱动程序在grub1.5阶段进行安装(此时 / --> ramdisk);
               完成1.5阶段的磁盘驱动安装后,此时,就可以挂载真正的根文件系统;
               而这个文件系统,就是我们在系统安装时,指定的根分区;这个分区,就叫做根文件系统;
      有了根以后,其他的目录均在根下;
      这种结构,我们就叫做树形结构;
     3、常见目录
      /boot  --  存储启动程序,以及系统文件(可以单独分区)
      /etc  --  默认的程序配置文件的目录
       /etc/opt : 为安装在 /opt 目录下的软件程序的配置文件,现在用的不多
       /etc/X11 : 在Linux下显示的图形界面 C/S 架构 11 是他的版本号 X 是协议,这是基本的图形显示规范;
       /etc/sgml   网页标签语句
       /etc/xml 网页标签语言
        kvm  http  hadoop
        <x>参数=值</x>
      /bin /sbin -- 存放命令文件
      /sys  /proc -- 系统进程文件(伪文件目录,虚拟文件目录)
      /mnt /media   --  /mnt 挂载磁盘,长期需要挂载的设备文件挂载这个目录下  /media 临时的设备文件就挂载/media目录下面
      /home /root  --  普通用户的家目录  root用户的家目录
      /var  动态文件存放的地方(会随时被修改的文件) -- 日志
       /var/log/ 专门用来存放日志
      /tmp  临时目录文件,供所有用户来使用
       在这个目录下的文件30天不被访问就会被自动删除
      /option 用来存放第三方软件程序(现在很少使用)
      /lib  /lib64   库文件目录
      /dev  设备文件目录
      /usr/    在Linux系统中另一个独立王国
       /usr/bin
       /usr/sbin
       /usr/local  本地层级结构(安装完成后是空目录)取代了早起的 /opt 目录,第三方的程序都安装在这个目录下面;
     4、目录的管理
      4.1、绝对路径与相对路径的问题
      4.2、目录的相关命令
       mkdir  -pv  同时创建多级目录
       rmdir  只能删除空目录
       rm -r  //删除目录
       tree  -d   仅仅只显示目录文件
       mv  可以修改目录名称
       cp -R  可以复制目录文件
  • 相关阅读:
    DLL编写中extern “C”和__stdcall的作用
    spring mvc controller中的异常封装
    springMVC 【@response 返回对象自动变成json并且防止乱码】 & 【配置支持实体类中的@DateTimeFormat注解】
    Eclipse中修改SVN用户名和密码方法
    Maven
    j2ee、mvn、eclipse、Tomcat等中文乱码问题解决方法
    maven生成jar包
    windows超过最大连接数解决命令
    spring 国际化-i18n
    springMVC 前后台日期格式传值解决方式之二(共二) @InitBinder的使用
  • 原文地址:https://www.cnblogs.com/why098/p/11415023.html
Copyright © 2020-2023  润新知