马哥教育网络班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)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2016-08-22
下一篇 2016-08-22

相关推荐

  • linux用户与用户组详解

    LINUX用户与用户组详解     1,用户和用户组文件   在linux中,用户帐号,用户密码,用户组信息和用户组密码均是存放在不同的配置文件中的。分别是 passed gpassd shadow group 中。   在linux系统中,所创建的用户帐号和其相关信息(密码除外)均是存放在/etc…

    Linux干货 2017-07-22
  • 正则表达式以及Linux文本搜索工具grep

    一正则表达式 regual Expression  简称REGEXP 定义:由一类特殊字符以及文本字所编写的模式,其中有些字符不表示其字面意义,而用于统配和统配功能 分类:     基本正则表达式:BRE 贪婪模式(尽可能长地去匹配符合模式的内容     扩展表达式:E…

    Linux干货 2016-08-07
  • C++的std::string的“读时也拷贝”技术!

    C++的std::string的读时也拷贝技术! 嘿嘿,你没有看错,我也没有写错,是读时也拷贝技术。什么?我的错,你之前听说写过时才拷贝,嗯,不错的确有这门技术,英文是Copy On Write,简写就是COW,非常’牛’!那么我们就来看看这个’牛’技术的效果吧。 我们先编写一段程序 #include <string> #include…

    Linux干货 2015-04-03
  • Python入门之闭包,匿名函数,过滤器,映射器,折叠

    在学习python函数的过程中,函数的高阶应用包括闭包lambda函数,过滤器等都让我头痛不已.接下来我把课堂中听到的笔记进行整理,再写一遍,希望在提醒自己的同时也能帮助到别人. 首先,我们来看一下什么是闭包,闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见…

    Linux干货 2015-12-19
  • 利用DNS和SAMBA实现web站点的简单高可用

    本文通过DNS绑定两台主机的IP地址到一个URL,然后后台samba服务器提供站点文件,此处以wordpress为例。这样当有一台服务器httpd服务出现故障的时候不至于造成站点无法访问,而且站点数据和mysql数据库数据位于后台samba服务器,另一台服务器直接从samba服务器获取站点文件和数据库数据,不会造成数据的不一致。 一、实验环境: 三台主机ip…

    2017-06-06
  • 任务计划2

    [root@localhost app]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin:/root/bin MAILTO=root   # For details see man 4 crontabs   # Example of job defi…

    Linux干货 2017-05-15