day01-Linux前言知识

来源:互联网 发布:英雄联盟 mac 国服 编辑:程序博客网 时间:2024/05/22 00:29

介绍课程:

中级:    初级:系统基础    中级:系统管理、服务安全及服务管理、Shell脚本;高级:    MySQL数据库;        cache & storage    集群:        Cluster        lb:            4layer            7layer        ha:    分布式:        zookeeper        分布式文件系统    虚拟化技术:        xen        kvm    Openstack:IAAS云;    运维工具:        ansible        puppet(ruby), saltstack(python)    监控工具:        zabbix    大数据处理:        hadoop        spark, storm        elk: elasticsearch, logstash, kibana    docker:    Python:    一万小时定律:认证:    RedHat:        RHCSA        RHCE        RHCA培训:    加速知识获取过程;    有人监督,有环境;

纪律:
1、迟到
1分钟:2个;

    请假一晌:60个;2、教室使用    全天开放;        拒绝玩游戏:3、上课期间    手机铃声关闭;        一次:30个;

作业和考试:
作业:
课前提问
博客作业
5w1h:
what, why, when, where, who
how

考试:    机试、笔试    及格:80分        一分:5个

上课环境:
172.16.0.0/16
Windows: 172.16.250.X
Linux: 172.16.249.X
X: 1-254

    网关:172.16.0.1    DNS: 172.16.0.1    每位同学:172.16.Y.1-254              172.16.100+Y.1-254Server: 172.16.0.1, 192.168.0.254, 192.168.1.254    允许核心转发;    DHCP、ftp、http、cobbler

VMware Workstation的使用:

现代计算机设备的组成部分:    运算器、控制器、存储器、输入设备、输出设备        CPU        bus:总线        memory: 编址存储设备        read ahead    IO: 与外部部件交互        磁盘:        网卡:虚拟机:虚拟计算机CPU:运算器、控制器    CPU指令,指令集;        特权指令:OS运行特权指令;        普通指令:    程序员:OS: Operating System    软件程序    通用目的        硬件驱动        进程管理        内存管理        网络管理        安全管理    System Call        Syscall:系统调用    编程层次:        硬件规格:hardware specifiacation        系统调用:        库调用:library callUI:    GUI: Graphic User Interface    CLI: Command Line InterfaceABI: Application Binary InterfaceAPI:Application Programming InterfaceCPU架构类型:    x86    x64    arm    m68000, m68k    power    powerpc    ultrasparc    alpha    安腾WindowsLinux:    Linus --> Linux    GNU/LinuxUnix:    System (Bell Lab)        AIX (IBM)        Solaris (SUN)        HP-UX (HP)    BSD: (BSRG)Berkeley System Distribution        NetBSD        OpenBSD        FreeBSDMIT:Richard Stallman    GNU: GNU is Not Unix;        GPL:General Public License

计算机的基础知识:
CPU, memory, I/O

程序运行模式:    用户空间:user space, us    内核空间:system spacePOS: Portable Operating System    POSIX    API: 编程接口;运行程序格式:    Windows: EXE, dll(dynamic link library)    Linux: ELF, so(shared object)    程序:指令+数据        指令:只读        数据:读写    程序:算法+数据结构    库调用,系统调用:允许被调用的程序;    malloc(), free()    编程语言:        汇编语言:微码编程            系统中某些与硬件相关的特有代码、驱动程序开发;        高级语言C, C++:            系统级应用、驱动程序        高级应用java, python, php:            应用程序        unix-like## Linux系统基础:Linux的发行版:    slackware:        suse            opensuse    debian:        ubuntu            mint    redhat:        rhel: redhat enterprise linux            每18个月发行一个新版本        CentOS:兼容rhel的格式        fedora:每6个月发行一个新版本    ArchLinux    Gentoo    LFS: Linux From scratch    Android: kernel+busybox+java虚拟机GNU: GPLv2, GPLv3, LGPL(lesser)    Apache: apache    BSD: bsd    A: 1000, GPL,    B: 20000, 20问题1:CentOS和Linux是什么关系?CentOS和RHEL是什么关系?问题2:各种开源协议的具体细节?    GPL, LGPL, Apache, BSD程序包管理器:    rpm:        RHEL, Fedora, S.u.S.E, CentOS    dpt:        Debian, Ubuntu自由软件:    自由使用;自由学习和修改;自由分发;自由创建衍生版;Linux的哲学思想:    1、一切皆文件;        把几乎所有资源,包括硬件设备都组织为文件格式;    2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;        组合小程序完成复杂任务;    3、尽量避免跟用户交互;        目标:实现脚本编程,以自动完成某些功能;    4、使用纯文本文件保存配置信息;        目标:一款使用的文本编程器即能完成系统配置工作;如何获取CentOS的发行版:    http://mirrors.aliyun.com    http://mirrors.sohu.com    http://mirrors.163.com登录:    root/mageedu    # startx &终端:    用户与主机交互,必然用到的设备;    物理终端:直接接入本机的显示器和键盘设备;/dev/console    虚拟终端:附加在物理终端之上的以软件方式虚拟实现的终端,CentOS 6默认启动6个虚拟终端        Ctrl+Alt+F#: [1,6]        图形终端:附加在物理终端之上的以软件方式虚拟实现的终端,但额外会提供桌面环境;        设备文件路径:/dev/tty#    模拟终端:        图形界面下打开的命令行接口(图形桌面打开命令行 像Windows的DOS命令行一样),            基于ssh协议或telnet协议等远程打开的界面(在图形桌面通过XManager和XShell输入账号密码打开的命令行)        设备文件:/dev/pts/#    [0,oo无穷大)    查看当前的终端设备:tty交互式接口:启动终端后,在终端设备附加一个交互式应用程序    GUI:        X protocol, window manager, desktop        Desktop:            GNOME (C, gtk)            KDE   (C++, qt)            XFCE  (轻量级桌面)    CLI:        shell程序:            sh (bourn)            csh             tcsh            ksh (korn)            bash (bourn again shell), GPL            zsh         显示当前使用的shell:            # echo ${SHELL}        显示当前系统使用的所有shell:            # cat /etc/shells        命令提示符:prompt            [root@localhost ~]#                [root@localhost ~]:PS1                prompt:                    管理员:#                    普通用户:$命令:    输入命令,回车:        提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来;            表现为一个或多个进程;        在shell中可执行的命令有两类:            内建命令:由shell自带的,而且通过某命令形式提供;            外部命令:在当前系统的某文件系统路径下有对应的可执行程序文件;                which,whereis            区别内部或外部命令:                # type COMMAND    运行命令:        命令格式:            COMMAND [OPTIONS...] [ARGUMENTS...]                选项:用于启用或关闭命令的某个或某些功能;                    短选项:-c, 例如:-l, -h                        多个短选项可命令使用,例如-l -h, 可写作-lh;                    长选项:--word,例如:--long, --human-readable                参数:命令的作用对象                    向命令提供数据(目标);            注意:                1、多选项,以及多参数和命令之间都应该使用空白字符分隔                2、取消命令执行:Ctrl+c    文件系统:        C:\Program files\office11\word\word.exe        /etc/sysconfig/network-scripts/ifcfg-eth0        文件有两类数据:            元数据:metadata(比如文件的上下关系)            数据:data        1、文件名严格区分字符大小写;file1, File1, FILE1是不同的文件;        2、文件名可使用除/以外的任意字符,不建议使用特殊字符;            /: 根目录,路径分隔符;        3、文件名长度最长不能超过255个字符;        4、所以.开头的文件,均为隐藏文件;        路径:            绝对路径:从根目录起始的路径;            相对路径:对当前位置起始的路径;                当前位置的表示方式:                    (1) ./: ./sysconfig/network-scripts                    (2) 省略上述符号:  sysconfig/network-scripts                    ..:表示当前目录的上一级目录            当前目录:current directory, 也称作working directory;                pwd: printing working directory        LSB: Linux Standard Base(标准库)命令总结:ls, cd, type, tty, cat, which, whereis, pwd, echo命令:    (1) 文件系统相关:        目录管理        文件管理        文件查看        文件编辑    (2) 系统管理相关:Linux命令帮助的获取外部命令:都有一个可执行程序,位于文件系统某目录下;    which, whereis    shell程序搜寻可执行程序文件的路径定义在PATH环境变量中;        # echo $PATH        注意:自左至右格式:COMMAND [OPTIONS...] [ARGUMENTS...]内部命令:    # help COMMAND外部命令:    (1) # COMMAND --help        # COMMAND -h    (2) 使用手册(manual)        # man COMMAND    (3) 信息页        # info COMMAND    (4) 程序自身的帮助文档        README        INSTALL        ChangeLog    (5) 程序官方文档        官方站点:Documentation    (6) 发行版的官方文档    (7) Google内部命令帮助:    # help COMMAND        hash命令:            shell搜寻到的外部命令的路径结果会缓存至kv(key-value)存储中;        history命令:            作用是什么?相关的环境变量是什么?有用的选项?            管理命令历史;                登录shell时,会读取命令历史文件中记录下的命令:~/.bash_history                登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中;                history:                    -a: 追加本次会话新执行的命令历史列表至历史文件中;                    -d: 删除历史中指定的命令;                    -c: 清空命令历史;            快捷操作:                !#: 调用历史中第#条命令;                !string:调用历史中最近一个以string类型如man等开头的命令;                !!: 上一条命令外部命令帮助获取:    (2) man COMMAND        手册页:/usr/share/man            man1 ... man8                man1: 用户命令                man2: 系统调用                man3: C库调用                man4: 设备文件及特殊文件                man5: 配置文件格式                man6: 游戏                man7: 杂项                man8: 管理类的命令        注意:有些关键在不止一个章节中存在帮助手册;            要查看指定章节中的手册:man # COMMAND        man命令的配置文件:/etc/man.config            MANPATH /PATH/TO/SOMEWHERE: 指明新的手册文件搜索位置            # man -M /PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示之;        帮助手册中的段落说明:            NAME            SYNOPSIS            DESCRIPTION            OPTIONS            EXAMPLES            AUTHOR            REPORTING BUGS            SEE ALSO        SYNOPSIS:            []:可选内容            <>: 必选内容            a|b:二选一            ...: 同一内容可出现多次        man命令的操作方法:            Space, ^V, ^f, ^F: 向文件尾翻屏;            b, ^B: 向文件首部翻屏;            d, ^D: 向文件尾部翻半屏;            u, ^U: 向文件首部翻半屏;            RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行;            y or ^Y or ^P or k or ^K:向文件首部翻一行;            q: 退出;            #:跳转至第#行;            1G: 回到文件首部            G:翻至文件尾部        文本搜索:            /KEYWORD:                 以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;                    n: 下一个                    N:上一个            ?KEYWORD:                以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;                    n: 跟搜索命令同方向,下一个                    N:跟搜索命令反方向,上一个        练习:date命令            显示今天为周几?            设定当前系统时间?            显示今天的日期,形如:08/15/15?            显示当前的时间,形如: 16:01:21?    (3) info        info COMMAND    (4) 程序自身的帮助文档        /usr/share/doc/COMMAND-VERSION    (5) 程序官方文档    (6) 发行版的官方文档        http://www.redhat.com/docs    (7) Google    (8) slideshare        http://www.slideshare.net/