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  可以复制目录文件
原文地址:https://www.cnblogs.com/why098/p/11415023.html