马哥教育网络班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 14:30
下一篇 2016-06-29 14:30

相关推荐

  • httpd服务归纳:httpd基本配置(配置文件格式以及常用选项)

    一、 httpd文件的基本格式 主配置文件位置, /etc/httpd/conf/httpd.conf    1. 配置文件参数格式  配置参数    值       特点:    &nbs…

    Linux干货 2015-05-13
  • Linux基础知识——SHELL之循环

    1、写一个脚本,判断当前系统用户shell是否都为可登陆shell(即非/sbin/nologin),分别计算两类用户的个数(通过比较字符串实现) #!/bin/bash #       check the user could login&nbsp…

    Linux干货 2016-12-13
  • linux 学习5

    1. RPM包管理 1.1 RPM简介 RPM类似于Windows系统中.exe的软件安装程序,用户可以使用它自行安装和管理Linux上的应用程序和系统工具; RPM软件包文件都是以.rpm为后缀,一般采用这样的命名格式:软件包名称 – 版本号 – 修正版 . 硬件平台 . rpm。 1.2 RPM命令的使用方法 查询:rpm {-q | –query} […

    2018-07-21
  • N26-博客作业-week8

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;      在线的主机使用绿色显示;      不在线的主使用红色显示; #!/bin/bash # for i in {1..254}; do if -W 1 -c 1 ping 1…

    Linux干货 2017-03-26
  • Linux系统用户管理与文本处理

    1、列出当前系统上所有已经登录的用户的用户名,同一个用户登录多次,则只显示一次。 ~]# who | cut -d’ ‘ -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# who | sort -k 3 -r | head -n 1 | cut -d’ ‘ -f1 | id 3、…

    Linux笔记 2018-07-15
  • LVM 逻辑卷管理器-增大LV容量

    LVM 逻辑卷管理器-增大LV的容量   步骤: (1)新增一个8e systemID的分区; (2)用pvcreate命令构建PV; (3)用vgextend命令将PV加入vg_1; (4)用lvresize命令将新加入的PV内的PE加入lv_1中; (5)通过resize2fs命令将LV的容量扩充到整个文件系统;   (1)新增一个8…

    Linux干货 2016-09-19

评论列表(1条)

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

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