马哥教育网络班21期-第一周课程练习

前言:

作者很懒,从小到大基本没有完成过作业,这种习惯深入骨髓(准备保持下去)。但是想到银子已经花出去了,必须有所得才行。所以会把课程中学习到的东西以自身理解完成作业,错误之处,望老师指正。[ 注:错别字什么的就当没有看见 ]

另:在下就读网络21班(全部是男人,以后简称“马网寺”),发现寺内高手都非常低调,也许3个豆子、某助手就是"寺内隐世的扫地僧"。

我们的伟大领导,马主持说过:“不要扯**,扯**就是在浪费时间”

一:计算机的组成及其功能

在下理解,一台电脑如果想要正常运行,主要有硬件和软件两部分组成。

其中硬件依照 冯·诺依曼体系 主要有5部分:

  1. 控制器 ,主要是控制交给 运算器 处理的信息先后顺序。

  2. 运算器 ,所有信息都会经过此处,处理之后再交给控制器。它与控制器组成了CPU 。

  3. 存储器 ,保存数据信息。内存条(主要为cpu读取信息提供服务),硬盘( 阁下存放AV等大数据的地方 )

  4. 输入设备 ,与电脑交流的接口,键盘,鼠标一类的设备

  5. 输出设备 ,显示器,音箱,打印机一类设备

软件部分:主要是操作系统(Linux,…等等) 加上系统上的应用软件等。其中功能就不说了,在下比较懒。马主持常教导:“请自行脑补”

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

这个请允许 小的 说点闲话。第一次接触Linux 在公元2004年左右,当时在学校旁边网吧兼职网管。去科技市场60元买了一套Fedora ,10张光盘(好像是2张系统盘,其他都是源码盘什么的)。通过摄像头视频(网友指导)一个通宵装好系统,安装flash插件用了差不多3天吧。2周时间搭建出第一个web服务。。可是故事没有发展到后来…..,后来就沉迷CS了。

自己安装使用过的Linux(RedHat,CentOS,Fedora,Ubuntu,Kali Linux,openSUSE,Debian,Arch Linux,Deepin,红旗,中标)。

有关使用的感知,小僧认为,每个Linux发行版都是好的,各有特色,由于小僧才疏学浅就不评头论足了。

特别提示:国产Linux – Deepin ,最近公司新机器做调试的时候用上该系统,界面真的有惊到我,绝对不输于其他发行版,就像操作windows一样来操作就行了。

红帽家族:Redhat enterprise 赚钱加提供技术。Fedora前沿技术测试版,免费给大家用。CentOS 就是 Redhat的免费版,社区支持,大量文档。

Debian :感觉比较NB的版本,intel,powerpc,amd,arm,ppc,mips,mipsel 都支持。上面提到的 deepin 就是基于debian的。

Arch :轻量,自己独有的升级方式和包管理,小僧用的不是很顺手。

三:描述Linux的哲学思想,并按照自己的理解对其进行解释性描述

小僧文化低,文字水平很low ,只会用 自由 分享 来表达。

此处引用马主持语录:

1、一切皆文件;

把几乎所有资源,包括硬件设备都组织为文件格式;

2、由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;

组合小程序完成复杂任务;

3、尽量避免跟用户交互;

目标:实现脚本编程,以自动完成某些功能;

4、使用纯文本文件保存配置信息;

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

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

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

为了提升效率,此处两题合二为一

 命令使用方式:COMMAND [OPTIONS...] [ARGUMENTS...]

blob.png

注:配图乃是参考 小助手 画图技术

ifconfig – 配置网络接口,详细信息请 man ifconfig 。小僧感觉使用 ip 命令比ifconfig好用。

blob.png

数字1-8分别表示:
    1:可执行命令或shell命令
    2:系统调用(functions provided by the kernel)
    3:C语言库函数
    4:设备或特殊文件(通常在/dev下)
    5:文件格式和规则(例如/etc/passwd)
    6:游戏
    7:杂项(宏、包及其他杂项)
    8:系统管理员相关的命令(通常只给root)

帮助手册中的段落说明:(马主持的笔记居然没有中文说明,此处小僧可耻的抄袭了)

NAME ,简短的指令,数据名称的说明;

SYNOPSIS ,简短的指令下达语法(syntax)简介;

  • [ ]: 可选内容

  • < >: 必选内容

  • a|b: 二选一

  • …: 同一内容可出现多次

DESCRIPTION ,较为完整的功能介绍

OPTIONS ,针对SYNOPSIS部分中,有列举的所有可用的选项说明;

EXAMPLES ,一些可以参考的范例;

AUTHOR ,作者

REPORTING BUGS ,是否有相关的漏洞;

SEE ALSO ,一般看看EXAMPLE,再看看OPTIONS就可以,如果还不能解决问题,再SEE ALSO。

实例1:查看本机ip地址信息

[root@CentOS7: ~]$ ifconfig 
enp3s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.20.70  netmask 255.255.0.0  broadcast 10.10.255.255
        inet6 fe80::216:17ff:feae:28fc  prefixlen 64  scopeid 0x20<link>
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        RX packets 84127934  bytes 5534402042 (5.1 GiB)
        RX errors 0  dropped 12359  overruns 0  frame 0
        TX packets 2163999  bytes 152413505 (145.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 11  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 3853  bytes 1481079 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3853  bytes 1481079 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:46:01:06  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

实例2:临时增加一个IP地址

[root@CentOS7: ~]$ ifconfig enp3s8:1 192.168.1.2 netmask 255.255.0.0
[root@CentOS7: ~]$ ifconfig 
enp3s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.10.20.70  netmask 255.255.0.0  broadcast 10.10.255.255
        inet6 fe80::216:17ff:feae:28fc  prefixlen 64  scopeid 0x20<link>
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        RX packets 84153913  bytes 5536086641 (5.1 GiB)
        RX errors 0  dropped 12363  overruns 0  frame 0
        TX packets 2164807  bytes 152477581 (145.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 11  

enp3s8:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.0.0  broadcast 192.168.255.255
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        device interrupt 11  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 3853  bytes 1481079 (1.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3853  bytes 1481079 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:46:01:06  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@CentOS7: ~]$ ifconfig enp3s8:1
enp3s8:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.2  netmask 255.255.0.0  broadcast 192.168.255.255
        ether 00:16:17:ae:28:fc  txqueuelen 1000  (Ethernet)
        device interrupt 11
echo – 打印出要显示的信息 ,详细信息请 man echo 

实例1:小僧要看系统环境变量

[root@CentOS7: ~]$ echo $PATH
/root/.nvm/versions/node/v5.0.0/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

实例2:用echo命令打印一段话

[root@CentOS7: ~]$ echo "我是一个好好孩子"
我是一个好好孩子

tty – 打印连接到标准输入的终端的文件名 ,详细信息请 man tty

实例1:显示当前终端

[root@CentOS7: ~]$ tty 
/dev/pts/1

startx – 启动x windows ,详细信息请 man startx

实例1:

[root@CentOS7: ~]$ startx

export – 设置或显示环境变量,详细信息请 man export

实例1:列出当前所有环境变量

[root@CentOS7: ~]$ export
declare -x DISPLAY="localhost:11.0"
declare -x HISTCONTROL="ignoredups"
declare -x HISTSIZE="1000"
declare -x HOME="/root"
declare -x HOSTNAME="CentOS7"
declare -x LANG="zh_CN.UTF-8"
declare -x LESSOPEN="||/usr/bin/lesspipe.sh %s"
declare -x LOGNAME="root"
......
pwd – 显示工作目录,详细信息请 man pwd

实例1:显示当前所在目录

[root@CentOS7: ~]$ pwd
/root

history – 记录历史执行的命令,详细信息请 man history

实例1:列出所有历史记录

[root@CentOS7: ~]$ history

实例2:执行记录中的第100条命令

[root@CentOS7: ~]$ !100

shutdown – 系统重启或者关机命令,详细信息请 man shutdown

实例1:立即关机

[root@CentOS7: ~]$ shutdown -h now

实例2:请5分钟后重启系统

[root@CentOS7: ~]$ shutdown -r +5

poweroff – 关机并且断电,详细信息请 man poweroff

小僧的笔记本之前装kali linux和Ubuntu的时候,使用halt 或者 shutdown命令关机会出现 – 系统关闭掉了,显示屏还亮着。此时通过 poweroff 命令就可以彻底关机。

实例1:立即关机

[root@CentOS7: ~]$ poweroff

reboot – 重启系统,详细信息请 man reboot 

实例1:立即重启系统

[root@CentOS7: ~]$ reboot

hwclock – 显示或设置硬件时钟,详细信息请 man hwclock

实例1:显示当前硬件时钟时间

[root@CentOS7: ~]$ hwclock

实例2:将硬件时时钟设置为系统时间一致

[root@CentOS7: ~]$ hwclock --systohc


date – 显示或设置系统时间,详细信息请 man date

实例1:显示当前系统时间

[root@CentOS7: ~]$ date

实例2:设置系统时间为2016年6月27日

[root@CentOS7: ~]$ date -s 20160627

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

/boot : 引导文件存放目录,内核文件(vmlinuz),引导加载器(bootloader,grub)
/bin : 所有用户可以使用的基本命令 ,不能关联至独立分区,OS启动既会用到的程序
/sbin : 管理类的基本命令,不能关联至独立分区,OS启动即会用到的程序
/lib : 基本共享库文件,内核模块文件
/lib64 : 64位系统
/etc : 配置文件目录
/home : 普通用户家目录
/root : 管理员家目录
/media : 便携式移动设备挂载点
/mnt : 临时挂载点
/dev : 设备文件及特殊文件存放
    b : block device 随机访问
    c : character device 线性访问
/opt : 第三方应用程序安装位置/srv : 系统运行的服务用到的数据
/tmp : 临时文件
/usr : universal shared ,read-only data  
  bin : 保证系统拥有完整功能而提供的应用程序  
  sbin :   
  etc      
  games      
  include  : C程序的头文件    
  lib      
  lib64      
  libexec      
  local :第三方应用程序的安装位置,可以关联至独立分区    
  share  : 结构化的独立数据,    
  src         
  tmp
/var : variable data file
  cache  : 应用程序缓存数据目录
  lib : 应用程序状态信息数据    local : 专用于为/usr/local下的应用程序存储可变数据     opt : 用于为/opt 下的应用程序存储可变数据
  run : 运行中的进程相关的数据,通常存放进程的pid文件
  tmp : 保存系统两次重启之间产生的临时数据
/proc : 内核and进程相关的虚拟文件系统
/sys : 用于输出当前系统上硬件设备相关信息的虚拟文件系统

小僧 俗事繁忙。。。既然作业已成,在下就继续闭关听马主持讲经去了。。

原创文章,作者:勇爷,如若转载,请注明出处:http://www.178linux.com/20548

(0)
勇爷勇爷
上一篇 2016-06-29
下一篇 2016-06-29

相关推荐

  • Mariadb数据库复制系列(三):半同步复制

       实验三:半同步复制的实现 默认情况下,主从复制的结构中,主从节点之间复制操作是异步的,这样就有可能造成主从节点之间数据不一致的情况发生,所谓版同步复制就是指在一主多从的场景中,我们设定主节点与其中一个或多个从节点(一般是一个)的数据复制是同步进行的,从而保证了该从节点和主节点之间的数据的一致性。故当主节点发生故障时,就可以基于其他方式将该从节点提升为主…

    Linux干货 2016-11-24
  • LVM基础

    逻辑卷的原理 逻辑卷的组成上包括物理卷,逻辑组,逻辑卷 物理卷即是磁盘分区或者块设备经过转换以后形成的抽象的逻辑设备 逻辑组即是将物理卷进行统一打包,合成一个更大的逻辑上的分区 逻辑卷是在逻辑组的基础上细分的课动态调节的虚拟磁盘分 其工作原理是通过某种机制将物理上的块设备或者分区抽象的进行封装,然后以逻辑卷的方式统一呈现给 上层的应用 逻辑卷的操作 一:创建…

    2017-05-01
  • linux历史命令history详解

    history命令 history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入命令文件。 该命令单独使用时,仅显示历史命令,在命令行中,可以使用符号!执行指定序号的历史命令。例如,要执行第2个历史命令,则输入!2。  128  ls  129  history[…

    Linux干货 2016-09-05
  • 马哥教育网络班21期+第六周课程练习

    1、描述计算机的组成及其功能 答: (1)计算机组成: 输入(键盘)、输出(显示器),存储器(硬盘),运算器,控制器(CPU) (2)实现功能:    1)文件系统    2)内存管理    3)网络功能    4)进程管理    5)驱动程序 2、按系列罗列…

    Linux干货 2016-08-15
  • 使用mysql-mmm实现高可用mysql读写分离

    MMM介绍:  MMM全称为Multi-Master Replication Manager for MySQL,即为主主复制管理器;根据MMM官网介绍,其工作原理类似于lvs,都是利用vip地址;但lvs只有一个组件便可以正常工作,而MMM则使用三个组件,分别是mysql-mmm、mysql-mmm-agent、mysql-mmm-monitor…

    Linux干货 2015-08-04
  • ​文件系统层级结构标准

    多数Linux发行版遵从FHS标准并且声明其自身政策以维护FHS的要求。 [1] [2] [3] [4] 然而,包括由自由标准小组成员在内开发的绝大多数发行版(截至2009年),并不完全执行建议的标准。
    当FHS创建之时,其他的UNIX和类Unix操作系统已经有了自己的标准,尤其是hier(7)文件系统布局描述。 自从第七版Unix(于1979年)发布以来已经存在,或是SunOS filesystem(7), [5] 和之后的Solaris filesystem(5)。 例如,Mac OS X使用如 /Library、 /Applications和/Users 等长名与传统UNIX目录层次保持一致。
    现在的Linux发行版包含一个/sys目录作为虚拟文件系统(sysfs,类似于 /proc,一个procfs),它存储且允许修改连接到系统的设备,然而许多传统UNIX和类Unix操作系统使用/sys作为内核代码树的符号链接。
    一些Linux系统如GoboLinux和Syllable Server使用了和FHS完全不同的文件系统层次组织方法。

    Linux干货 2016-10-17

评论列表(1条)

  • 马哥教育
    马哥教育 2016-06-29 14:58

    写的很好,排版也很漂亮,加油