马哥运维学习作业(一)

简介:

1、描述计算机的组成及其功能。

答:

计算机系统是由五大部分组成:运算器、控制器、存储器、输入设备、输出设备

  运算器(Datapath):运算器的功能是对数据进行各种算术去处和逻辑运算,即对数据进行加工处理。

  控制器(Control):控制器是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。

  存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

  输入设备(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合你为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

  输出设备(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。

附:运算器和控制器合称为:中央处理器CPU(Center Processin Unit)


2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。

答:

  Linux的发行版有数百种之多,其中最主流的三大发行版是:Slackware、Debian、RedHat。

  Linux的发行版分为两类,一类是商业公司维护发行的版本,如下面介绍的Slackware和RedHat。一类是社区组织维护的发行版,以Debian为代表。


Slackware 存活最久的Linux发行版,以简洁、安全和稳定所著称

    SUSE 基于Slackware的二次发行版在欧州最流行的版本

        SLES SUSE Linux Enterprise Server,三次发行版suse企业级

        openSUSE 基于suse的衍生发行版,界面华丽

Debian 自发维护最接近于原汁原味的Linux,对使用者要求较高

    Ubuntu 基于Debian的二次发行版,程序员偏爱

        Mint 基于Ubuntu的衍生发行版

RedHat

    rhel ReadHat Enterprise Linux 企业版

    由于在企业中用,所以稳定性很高。发行时间每18个月一个新版本,所用的软件都是fedora上测试过的,所以很稳定。

    CentOS

    CentOS是Community Enterprise Operating System的缩写。是RHEL源代码再编译的产品,因此和RHEL一样,比其他发行版,其稳定性更好。企业中用得最多的系统。

    Fedora

    redhat个人版到9.0之后就不出了,2003年前后送给了fedora社区,同时也用于测试新的软件,所以发行周期很快一般为6个月更新一次。


3、描述Linux的哲学思想,并按照自己的理解对其进行解释。

答:

    (1)、一切皆文件:

        把几乎所有资源统统抽象为文件形式,包括硬件设备,基础通信接口等,

    (2)、由众多功能单一的程序组成:一个程序只做一件事,并且做好

        目标:组合小程序完成复杂任务

    (3)、尽量避免跟用户交互:

        目标:以脚本的方式实现自动化任务:(新视频里:实现脚本编程,以自动完成某些功能)

    (4)、使用纯文本文件保存配置信息:

        目标:是一款使用文本编程器即能完成系统配置工作


4、说明Linux系统上命令的使用格式详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用并配合相应的示例来阐述。

答:

命令格式:

    COMMAND [OPTIONS ...] [ARGUMENT...]

        选项:用于启用或关闭命令的某个或某些功能;

                短选项:-c,例如:-l, -h;

                    多个短选项命令可合并使用:例如-l -h,可写作-lh;

                长选项:--word,例如:--long,--human-readable

                    多个长选项不能合并使用

        参数:命令的作用对象

           向命令提供数据;

    注意:多选项,以及多参数和命令之间都应该使用空白字符分隔

          取消命令执行Ctrl+c


以下示例均在C7.2下进行

(1)ifconfig

功能:用于显示或设置网络设备

格式:ifconfig [-v] interface [aftype] options | address ...

注:此操作使用C7.2,如果系统是最小化安装,无法使用ifconfig命令(在C5或C6上最小安装自带),需要安装net-tools这个工具包。

示例:

查看网络设备信息

1
2
3
[zdw@note1 ~]$  ifconfig
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500    #eno16777736是网卡名称
         inet 10.3.20.71  netmask 255.255.255.0  broadcast 10.3.20.255

启动关闭指定网卡

1
2
[root@note1 ~] # ifconfig eno16777736 up       #C7网卡是eno开头,C5和C6是eth开头,up是启动
[root@note1 ~] # ifconfig eno16777736 down     #down是关闭

临时配置IP地址

1
[root@note1 ~] # ifconfig eno16777736 10.3.20.82 netmask 255.255.255.0    #临时生效,重启网卡后失效

启用和关闭ARP协议

1
2
[root@note1 ~] # ifconfig eno16777736 arp
[root@note1 ~] # ifconfig eno16777736 -arp


(2)echo

功能:显示一行文本

格式:echo [SHORT-OPTION]... [STRING]...

参数:-n:不进行换行

      -e:让转义符生效

         \n:换行且光标移至行首

  \t:制表符     

示例:

显示内部环境变量

1
2
3
4
[root@note1 ~] # echo $PATH               #查找内部命令,自左而右逐个搜索目录下的文件名
/usr/local/sbin : /usr/local/bin : /usr/sbin : /usr/bin : /root/bin
[root@note1 ~] # echo $SHELL              #查看使用的shell类型
/bin/bash

显示内容

1
2
3
4
5
6
[root@note1 ~] # echo "hello world"                    #显示hello world
hello world
[root@note1 ~] # echo -n "hello world"                 #不换行显示
hello world[root@note1 ~] # echo -e "hello\n world"    #让\n换行转义符生效
hello
  world


(3)tty

功能:显示终端连接标准输入设备的文件名称

示例:

1
2
[root@note1 ~] # tty               #直接输入tty就能显示出当前的终端
/dev/pts/0


(4)startxp

功能:启动GUI

示例:

1
[root@note1 ~] # startx &         #如果安装了图形界面,会进入。没有则提示未找到


(5)exprot

功能:设置或显示环境变量

格式:export [-fn] [名称[=值] ...] 或 export -p

选项:

      -f        代表变量为函数名

      -n        删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中

      -p        列出所有的shell赋予程序的环境变量

示例:

1
2
3
[root@note1 ~] # export -p          #列出当前的环境变量
[root@note1 ~] # export zdw=10      #定义环境变量zdw=10
[root@note1 ~] # export -n zdw      #删除环境变量zdw


(6)pwd

功能:显示目前所在的工作目录的绝对路径名称

示例:

1
2
[root@note1 ~] # pwd                #显示当前绝对路径
/root


(7)history

功能:显示或操纵历史列表

格式:history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]

命令用法:

history [-c] [-d 偏移量] [n]

或history -anrw [文件名]

或history -ps 参数 [参数...]

选项:

    -a:追加本次会话新执行的命令历史列表至历史文件中

    -c:清空命令历史;

    -d:删除指定命令历史

    -r:从文件读取命令历史至历史列表中

    -w:把历史列表中的命令追加至历史文件中

history #:显示最近的#条命令                    

调用命令历史列表中的命令:

    !#:再一次执行历史列表中的第#条命令

    !!:再一次执行上一条命令:

    !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令

调用上一条命令的最后一个参数;

    快捷键:ESC,.

    字符串:!$

控制命令历史记录的方式:

    环境变量:HISTCONTROL

    ~]# echo $HISTCONTROL

        ignoredups     #忽略重复的命令;

        ignorespace:   忽略以空格开头的命令

        ignoreboth:    以上两者同时生效

示例:

1
2
3
4
[root@note1 ~] # history
[root@note1 ~] # history -c         #清空历史列表,再次执行history命令,没有了之前的命令记录
[root@note1 ~] # history -r         #读取命令历史至历史列表中,再次执行,命令记录全部显示出来了
[root@note1 ~] # history -d 60      #删除第60条历史记录

   

(8)shutdown

功能:关闭或重启计算机

格式:shutdown [OPTIONS...] [TIME] [WALL...]

选项

    -r,--reboot    重启计算机

    -h,--poweroff  关机

    -k             只是送出信息给所有用户,但不会实际关机

    -c             取消之前的关机

示例:

1
2
3
4
[root@note1 ~] # shutdown -r now               #立即重启计算机                  
[root@note1 ~] # shutdown -h 21:00             #晚上9点关机 
[root@note1 ~] # shutdown -r +10 wall "hi"     #10钟以后重启,同时提示所有连接的用户hi
[root@note1 ~] # shutdown -c                   #取消之前的关机或重启操作


(9)poweroff

功能:关闭计算机并关闭电源

格式:poweroff [OPTIONS...]

选项:

    -w : 并不会真的重启,只是把记录写到/var/log/wtmp文件里

    -d : 不把记录写到/var/log/wtmp文件里

    -f : 强制重开机,不调用shutdown这个指令

示例

1
[root@note1 ~] # poweroff            #关闭计算机


(10)reboot

功能:重启计算机

选项:

    -w : 并不会真的重启,只是把记录写到/var/log/wtmp文件里

    -d : 不把记录写到/var/log/wtmp文件里

    -f : 强制重开机,不调用shutdown这个指令

示例:

1
2
[root@note1 ~] # reboot -w             #不重启,把记录写到wtmp里
[root@note1 ~] # reboot                #重启


(11)hwclock

选项:hwclock [function] [option...]

hwclock,clock:这二个命令一样

功能:显示或设定硬件时钟

选项:

    -s, --hctosys:以硬件为准,把系统调整为与硬件时间相同

    -w, --systohc:以系统为准,把硬件时间调整为与系统时间相同

示例:

1
2
[root@note1 ~] # hwclock -w           #以系统为准,来设置硬件时钟
[root@note1 ~] # hwclock -s           #以硬件为准,来设置系统时钟


(12)date

功能:显示或设定系统的日期与时间

格式:date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

     MM:月份

     DD:几号

     hh:小时

     mm:分钟

     YY:两位年份

     CCYY:四位年份

     .ss:秒

常用时间格式:%F   显示日期 完整日期格式,等价于 %Y-%m-%d 

              %T   显示时间 直接显示时间 (24 小时制)

示例:

1
2
3
4
[root@note1 ~] # date +%F-%T          #完整显示年月日和时间
2016-08-07-04:09:51
[root@note1 ~] # date 0816202616.30   #设定时间(年使用2位年也可使用4位)
2016年 08月 16日 星期二 20:26:30 CST


5、如何在Linux系统上获取命令的帮助信息请详细列出并描述man文档的章节是如何划分的。

答:

1、内部命令获取帮助:

    # help COMMAND

    使用type cd查询是否为内建命令,如需获取cd的帮助信息,使用help cd,就能得到cd大体的使用格式。

2、外部命令获取帮助:

   (1)使用命令查看

        # COMMAND --help

        # COMMAND -h

   (2)使用手册

        # man COMMAND

   (3)信息面

        # info COMMAND

   (4)程序自身的帮助文档

        README

        INSTALL

        ChangeLog

   (5)程序官方文档

        官方站点:Documentaton

   (6)发行版的官方文档

   (7)Google


   手册页存放位置:/usr/share/man

        man文档的章节划分:man1...man8

            man1:用户命令

            man2:系统调用

            man3:C库调用

            man4:设备文件及特殊文件

            man5: 配置文件格式

            man6:游戏

            man7:杂项

            man8: 管理类命令

   注意:有些命令在不止一个章节中存在帮助手册,使用whatis COMMAND可查询到,在哪些章节有手册,直接使用man COMMAND会查看自上至下第1章节的手册,要查看指定章节中手册使用:man # COMMAND。

         

6、请罗列Linux发行版的基础目录名称命名法则及功用规定。

答:

/boot:引导文件存放目录,内核文件(vmlinux)、引导加载器(bootloader,grub)都存放于此目录;

/bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序;

/sbin:管理类的基本命令;不能关联至独立分区,OS启动后即会用到的程序;

/lib:基本共享库文件,以及内核模块文件(/lib/modules);

/lib64:专用于x86_64系统上的辅助共享库文件存放位置;

/etc:配置文件目录(纯文本文件);

/home/USERNAME:普通用户家目录;

/root:管理员家目录;

/media:便携式移动设备挂载点;

       cdrom

       usb

/mnt:临时文件系统挂载点;

/dev:设备文件及特殊文件存放位置;

       b:block device,随机访问

       c:character device,线性访问

/opt:第三方应用程序的安装位置;

/srv:系统上运行的服务用到的数据;

/tmp:临时文件存储位置;

/usr:universal shared,read-only date;

       bin:保证系统拥有完整功能而提供的应用程序

       sbin:管理员有权限使用的命令

       lib:

       lib64:

       include:C程序的头文件(header files)

       share:结构化独立的数据,例如doc,man等

       local:第三方应用程序的安装位置

           bin,sbin,lib,lib64,etc,share

/var:variable data files

       cache:应用程序缓存数据目录

       lib:应用程序状态信息数据

       local:专用于为/usr/local下的应用程序存储可变数据

       lock:锁文件

       log:日志目录及文件

       opt:专用于为/opt下的应用程序存储可变数据

       run:运行中的进程的相关的数据,通常用于存储进程的pid文件

       spool:应用程序数据池

       tmp:保存系统两次重启之间的临时数据

/proc:用于输出内核与进程信息相关的虚拟文件系统;

/sys:用于输出当前系统上硬件设备相关信息的虚拟文件系统;

/selinux:security enhanced Liunx,selinux相关的安全策略等信息的存储位置;




      本文转自cix123  51CTO博客,原文链接:http://blog.51cto.com/zhaodongwei/1834805,如需转载请自行联系原作者







相关文章
|
运维 Unix 应用服务中间件
深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
600 0
深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
|
运维 Linux 网络安全
Linux操作系统学习(运维必会)
Linux操作系统学习(运维必会)
327 0
|
运维 Linux Shell
学习Linux运维必备的50个命令(二)
学习Linux运维必备的50个命令
156 0
|
运维 安全 Linux
学习Linux运维必备的50个命令(一)
学习Linux运维必备的50个命令
160 0
|
SQL 运维 Shell
数据库运维相关脚本(持续交作业)
数据库运维相关脚本(持续交作业)
|
运维 监控
现代智能告警运维平台——SLS新版告警学习路径发布
SLS新版告警学习路径发布,汇集目前50+最佳实践的文档、文章和视频 (持续更新)
347 0
现代智能告警运维平台——SLS新版告警学习路径发布
|
SQL 分布式计算 运维
MaxCompute作业日常监控与运维实践
MaxCompute作业日常监控与运维实践
1354 0
MaxCompute作业日常监控与运维实践
|
SQL 运维 Oracle
Oracle学习笔记之分享一些常用的运维命令
Oracle学习笔记之分享一些常用的运维命令
|
运维 Linux 开发工具
Linuxwwwhj8828coml3099636600云计算运维学习之Git详解
皇家国际如何让在不同系统上的开发者协同工作?于是,集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生。这类系统,诸如 CVS、Subversion 以及Perforce 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。
1390 0