马哥教育网络班22期+第1周课程练习

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

   组成:CPU (运算器+控制器),存诸器(内存与硬盘),输入设备,输出设备。

   运算器:对数据进行加工处理的部件(包括算述运算与逻辑运算)。

   控制器:负责从存储器取出指令,按指令的要求发出控制信号,使各部件协调的,一步步的完成各种操作。

   存储器:计算机记忆或暂存数据的部件

   输入设备:人机接口,负责输入信息(数据与指令)转成计算机能识别二进代码,送入存储器保存。

   输出设备:输出计算机处理的结果并转换成便于人们识别的形式。

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

   linux的发行版大体分为2类:商业版(Enterprise)和社区版(Community);商业版如Redhat、Solaris等,社区版如FreeBSD、Debian、CentOS等;

   Linux大体可以分为4大家族:

   (1)Redhat系列包括RHEL、Fedora、CentOS,使用Yum方式管理软件包,使用人群较大,较为流行;RHEL有一套完善的认证体系;

   CentOS是其社区克隆版本,二者稳定性非常好,适合服务器使用;Fedora的稳定性较差;

   (2)Debian系列包括Debian和Ubuntu等,使用apt-get/dpkg 包管理方式;

                    据我所接触到的很多游戏公司以及一些国外的软件开发公司偏好使用。

   ubuntu是基于debian发行版,是一个以桌面应用为主的linux操作系统,在桌面化linux操作系统上较为流行,目前ubuntu有一套完整的ubuntu生态体系(手机、平板、PC端、服务器端、云端);

   Linux Minit也是基于Debian的一个发行版;

   (3)SUSE系列包括SLES,openSUSE等,是Noverll公司产品;SLES是企业版,openSUSE是社区版;

            SUSE采用Yast包管理方式,是基于RPM为基础的;

   (4)其它发行版本如Gentoo、Arch等,Gentoo、Arch定制性很强,上手比较困难;

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

   linux的哲学思想:

   (1)一切皆文件;

   linux系统上所有的东西都是以文件形式出现的;如磁盘设备、驱动、进程、管道等都被抽象成了文件;

   (2)能简写,绝不全写;

   linux上很多命令基本上选项参数都带有简写模式,设置一些"命令+参数"都被定义别名,使用一个命令来表示;

   (3)尽量避免捕获用户接口;

   (4)作用范围越小的越是最终生效的;

   在linux上很多服务配置文件中都分为全局配置和局部配置,如果有重复的参数配置时,通常都是以局部配置的参数配置为准,作用域小的最终生效;

   (5)组合小命令完成复杂任务;

   linux上的命令通过一些参数的配合具有很强大的能力,通过合适的命令组合通常都能够完成非常复杂的任务;

   如查看当前系统上tcp的连接情况:

   netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

   使用netstat和awk命令的组合就能快速地统计到结果;

4.描述Linux系统命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、histroy、shutdown、poweroff、reboot、hwclock、data命令的使用,并配合相应的示例来阐述。

  (1)ifconfig命令

   #ifconfig -a:列出所有接口的详细信息;

   [root@director1 ~]# ifconfig -a

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255

   inet6 fe80::20c:29ff:fe59:396f  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:6f  txqueuelen 1000  (Ethernet)

   RX packets 444  bytes 41402 (40.4 KiB)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 372  bytes 53149 (51.9 KiB)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 172.16.0.1  netmask 255.255.255.0  broadcast 172.16.0.255

   inet6 fe80::20c:29ff:fe59:3979  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:79  txqueuelen 1000  (Ethernet)

   RX packets 0  bytes 0 (0.0 B)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 12  bytes 888 (888.0 B)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   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 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

   #ifconfig <interface>:查看指定接口的网络信息;

   [root@director1 ~]# ifconfig eth0

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255

   inet6 fe80::20c:29ff:fe59:396f  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:6f  txqueuelen 1000  (Ethernet)

   RX packets 482  bytes 44862 (43.8 KiB)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 404  bytes 59267 (57.8 KiB)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   #ifconfig <interface> <address>[/<prefixlen>]|[netmask] [broadcast]:添加子网卡并配置临时地址;

   [root@director1 ~]# ifconfig eth1:0 172.16.0.100/24

   [root@director1 ~]# ifconfig eth1:0

   eth1:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 172.16.0.100  netmask 255.255.255.0  broadcast 172.16.0.255

   ether 00:0c:29:59:39:79  txqueuelen 1000  (Ethernet)

   #ifconfig <interface> up|down:临时启用或关闭网卡;

   [root@director1 ~]# ifconfig eth1 down

   [root@director1 ~]# ifconfig 

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

   inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255

   inet6 fe80::20c:29ff:fe59:396f  prefixlen 64  scopeid 0x20<link>

   ether 00:0c:29:59:39:6f  txqueuelen 1000  (Ethernet)

   RX packets 1150  bytes 106278 (103.7 KiB)

   RX errors 0  dropped 0  overruns 0  frame 0

   TX packets 913  bytes 129375 (126.3 KiB)

   TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

   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 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

#ifconfig <address> mtu <NUM>:设置网卡的最大传输单元,默认是1500;

   [root@director1 ~]# ifconfig eth0 mtu 1460

   [root@director1 ~]# ifconfig eth0|grep mtu

   eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1460

   (2)echo命令

   用法:echo [参数] [字符串]

   参数:

   -n:输出不换行;

   -E:不启用反斜杠转义功能,默认;

   -e:启用反斜杠转义功能;

   \\:插入'\'字符;

   \a:发出警告声;

   \b:删除前一个字符;

   \c:最后不加入换行符号;

   \v|\f:换行但光标仍旧停留在原来位置;

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

   \r:光标移至行首,但不换行;

   \t:插入tab符;

   示例:

   [root@director1 ~]# echo 'hello \n world'

   hello \n world

   [root@director1 ~]# echo -e 'hello \nworld'

   hello 

   world

   特殊用法:

   输出颜色文本

   [root@director1 ~]# echo -e "\033[44;31;1m HELLO \033[0m world"

   \033[44;31;1m HELLO:设置背景为蓝色,前景为红色,加粗的HELLO;

   \033[0m:重新设置屏幕到默认设置;

   (3)tty命令

   打印连接到标准输出的终端文件名称

   用法: tty [参数]

   参数: 

   -s,–slient,–quiet:不显示输出,指返回退出状态码;

   –help:显示帮助信息;

   –version:显示tty版本;

   示例: 

   [root@director1 ~]# tty

   /dev/pts/0

   [root@director1 ~]# tty -s

   [root@director1 ~]# echo $?

   0

   [root@director1 ~]# tty –version

   tty (GNU coreutils) 8.22

   Copyright (C) 2013 Free Software Foundation, Inc.

   License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.

   This is free software: you are free to change and redistribute it.

   There is NO WARRANTY, to the extent permitted by law.

   Written by David MacKenzie.

(4)startx命令

   启动X Windows服务;

   用法: startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]

   (5) export命令

   用法:export [-fn] [名称[=值] …] 或 export -p

   -f:指定shell函数

   -n:删除每个NAME名称的导出属性

   -p:显示所有导出的变量和函数的列表

   (6) pwd命令

   显示出当前/活动目录的名称

   示例:

   [root@kvm apache2]# pwd

   /usr/local/apache2

   (7) history命令

   显示当前终端输入过的历史命令信息;

   用法:history [参数]

   参数:

   -c:清空历史命令;

   -d offset:删除offset位置的历史条目;

   NUM:读取最新的NUM个历史命令;

   -r:读取历史文件的内容,使用它们作为当前历史;

   -w:将当前历史列表写入到历史文件,覆盖原有内容;

   示例:

   [root@kvm apache2]# history 4

   1017  man history

   1018  history -3

   1019  history 

   1020  history 4

   [root@kvm apache2]# history -c

   [root@kvm apache2]# history 

     22  history 

   (8) shutdown命令:

   用于关闭系统,可以指定立即或一段时间之后关闭系统;

   用法:shutdown [-t sec] [-arkhncfF] time [warning-message]

   参数: 

   -a:使用 /etc/shutdown.allow 来验证身份;

   -t sec:通知 init在转换到其它运行级别前,发送警告 (warning) 信号后延时 (sec) 秒数后再发送关闭 (kill) 信号;

   -k:并非关机,只是向所有人显示警告信息;

   -r:重启;

   -h:停机;

   -f:重启时跳过磁盘检测;

   -F:重启时强制磁盘检测;

   -c:取消运行中的shutdown进程;

   time:指定关机时间

   warning-message:指定发送所有用户的告警信息;

   示例: 

   [root@kvm apache2]# shutdown -h +5 "shutdown after 5 minutes "

   Shutdown scheduled for 二 2016-08-09 14:12:39 CST, use 'shutdown -c' to cancel.

   [root@kvm apache2]# 

   Broadcast message from root@kvm (Tue 2016-08-09 14:07:39 CST):

   shutdown after 5 minutes 

   The system is going down for power-off at Tue 2016-08-09 14:12:39 CST!

   shutdown -c

   Broadcast message from root@kvm (Tue 2016-08-09 14:07:43 CST):

   The system shutdown has been cancelled at Tue 2016-08-09 14:08:43 CST!

   (9) poweroff命令

   用来关闭系统并切断电源;

   用法:poweroff [参数]

   可不加参数;

   参数: 

   -n:关闭操作系统时不执行sync操作; 

   -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; 

   -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; 

   -f:强制关闭操作系统; 

   -i:关闭操作系统之前关闭所有的网络接口; 

   -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。

   (10) reboot命令

   用来重启系统;

   用法:reboot [参数]

   可不加参数; 

   参数:

   -d:重新启动时不把数据写入记录文件/var/tmp/wtmp;

   -f:强制重新开机,不调用shutdown指令的功能;

   -n:保存数据后再重新启动系统;

   -w:仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件;

   -h:在系统关机或poweroff之前,将所有的硬盘处于待机模式;

   -i:关闭网络设置之后再重新启动系统;

   (11) hwclock命令

   可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间;

   用法: hwclock [参数]

   功能:

   -r:读取硬件时钟并打印结果;

   -s,–hctosys:从硬件时钟设置系统时间;

   -w,–systohc:从当前系统时间设置硬件时钟;

   -c:定期将系统时钟与CMOS时钟相比较;

   -v:显示版本信息

   (12) date命令

   显示或设置日期时间;

   用法:

   date [OPTION]… [+FORMAT] 

   date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]

   常用参数:

   -u:显示目前的格林威治时间

   %H:小时(00..23)

   %M:分钟(00..59)

   %S:秒(00..60) 

   %T:相当于%H:%M:%S

   %Y:年份,如2016

   %m:月份(01..12)

   %d:天,如01,11;

   %F:相当于%Y-%m-%d

   %D:直接显示日期(mm/dd/yy)

   %a|%A:显示星期

   示例:

   [root@kvm apache2]# date +"%F %T"

   2016-08-09 14:32:57

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

 获取命令帮助信息的方法:

   (1)COMMAND -h 

   (2)COMMAND –help 

   (3)help COMMAND 

   (4)man COMMAND 

   (5)info COMMAND

   man文档章节分类:

   1:普通的命令;

   2:系统调用;

   3:库函数;

   4:特殊文件,如/dev目录下各种文件;

   5:文件格式;

   6:游戏相关;

   7:其它内容相关;

   8:系统管理命令相关;

   9:内核例程相关;

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

   [root@director1 ~]# tree -L 1 /

   /

   ├── bin -> usr/bin

   ├── boot

   ├── dev

   ├── etc

   ├── home

   ├── lib -> usr/lib

   ├── lib64 -> usr/lib64

   ├── media

   ├── mnt

   ├── opt

   ├── proc

   ├── root

   ├── run

   ├── sbin -> usr/sbin

   ├── srv

   ├── sys

   ├── tmp

   ├── usr

   └── var

   /:根目录,文件系统入口;

   /bin:存放一般用户都可使用的二进制可执行命令;

   /boot:存放Linux内核及系统引导程序所需的文件;

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

   /etc:系统管理和配置文件;

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

   /lib:标准程序设计库或动态链接共享库,根文件系统上的程序所需的共享库;

   /media:空目录,可用于用户临时挂在其它文件系统;

   /mnt:空目录;

   /opt:给主机安装额外软件预留的目录;

   /proc:虚拟目录,是系统内存的映射;

   /root:root用户的家目录;

   /sbin:超级管理命令,通常存放的是系统管理员使用的命令;

   /srv:服务启动之后需要访问的数据目录;

   /sys:伪文件系统,是系统内核的映射;

   /tmp:临时目录;

   /usr:应用程序存放的目录;

   /var:某些大文件的溢出区,如日志

原创文章,作者:N22-昆山-Dexter_Wang,如若转载,请注明出处:http://www.178linux.com/36523

(0)
上一篇 2016-08-22 08:44
下一篇 2016-08-22 09:29

相关推荐

  • Corosync+Pacemaker+DRBD实现高可用 Mariadb

    一、DRBD简介 DRBD全称Distributed Replicated Block (分布式的复制块设备),开源项目。它是一款基于块设备的文件复制解决方案,速度比文件级别的软件如NFS,samba快很多,而且不会出现单点故障,是很多中小企业的共享存储首选解决方案。 二、DRBD的工作模式从上图中我们可以清楚的看到DRBD是工作在内核中,将协议建立在buf…

    2017-11-05
  • 我的linux学习方法

    目前记住Linux单词命令过于困难,现在主要记住linux的命令的作用及用处,不记得单词可以百度查找做多了自然就记住了。

    Linux干货 2018-03-17
  • 初识LINUX

    初识LINUX 一、计算机的组成 二、Linux的发行版本 发行版:数百种之多,主要分为: Debian分支:ubuntu、mint、knopix Slackware分支:S.u.S.E–>SLES、OpenSUSE RedHat分支: Redhat–>Centos   Fedora Core Gent…

    Linux干货 2016-09-17
  • NFS实现共享wordpress

    实验环境 192.168.68.134 wordpress站点 nfs-server 192.168.68.144 nfs-client   实验要求 nfs server共享/var/www/html目录 nfs clinet挂载nfs-server共享的目录,部署wordpress   nfs server端 先部署wordpress…

    Linux干货 2017-10-21
  • N26-第二周博客作业

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。    查看类    pwd : print name of current/working directory  打印当前工作目录;        &n…

    Linux干货 2017-02-17
  • linux用户和组管理

    linux系统是一个多用户的系统,每个账号都干什么用,你必须了如指掌。 【Linux用户】 即UID分为两大类:管理员 UID:0                               普通用户 UID:…

    Linux干货 2016-08-05