马哥教育网络班21期+第一周博客作业

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

现代计算机设备的五大部件包括:运算器、控制器、存储器、输入设备、输出设备

主要功能:

(1)CPU是控制、算术逻辑单元的核心组件,CPU的性能很大程度上决定了计算机的性能,CPU是整个计算机系统的大脑。

(2)存储器:可分为内存储器、外存储器、高速缓冲存储器。

  • 内存储器:用于存放计算机当前工作中正在运行的程序、数据等,分为随机存取存储器RAM(Random Access Memory)和只读存储器ROM(Read-Only Memory)两种。

  • 外存储器:用来存储大量暂时不参加运算或处理的数据和程序,是主存的后备和补充硬盘,光盘,USB优盘,USB移动硬盘。

  • 高速缓冲存储器(Cache Memory):是内存与CPU交换数据的缓冲区,是为解决内存与CPU速度不匹配的问题而设计的一种存储设备.

(3)输入设备:把原始数据和处理这些数据的程序通过输入接口输入到计算机的存储器中。例如:键盘、鼠标、扫描仪、光笔、写字板、数字化仪、条形码阅读器等。

(4)输出设备:输出计算机的处理结果。常用输出设备:显示器、打印机、绘图仪、音响等。


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

  1. 就目前的情形来看,Linux发行版可以分为三个主要的分支:Redhat、Slackware和Debian。

  2. 每一个分支都有一个最具代表的商业服务器级的发行版:他们是:Red Hat Enterprise Linux,简称为RHEL;SUSE Linux Enterprise,简称SUSE;Ubuntu Server,简称为Ubuntu。

  3. 看似好难选择的样子,但实际上不管是谁家的Linux发行版,都不会有本质上的区别。因为Linux本身就不是一个完整的系统,它实际上就是一个内核。所谓的发行版只不过是在内核基础上加上一堆应用而构成的系统。而这些应用程序

  4. 大多也是来至于GNU社区,代码都一样的,能有太大差别么?

  5. 从实用角度来看,同时排除一些个人偏好,所以从选择哪个发行版更适合找到好工作这个角度出发更靠谱些,比较理想的选择是CentOS

常用的发型版本.png3

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

Linux的哲学思想:

  1. 一切皆文件;

    Linux下将几乎所有资源,包括硬件设备都能够以文件形式表示;

  2. 由众多单一目的小程序组成;一个程序只实现一个功能,而且要做好;组合小程序完成复杂任务;

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

    目标:实现脚本编程,以自动完成某些功能,自动化能够在很大程度上提高效率、也减少我们出错的概率;

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

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


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

ifconfig:常用于显示网络的接口,通常我们习惯结合-a参数进行
[root@zabbix ~]# ifconfig -a
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.203.12.88  netmask 255.255.255.0  broadcast 10.203.12.255
        inet6 fe80::250:56ff:feb3:2253  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:b3:22:53  txqueuelen 1000  (Ethernet)
        RX packets 2810346355  bytes 2095196953319 (1.9 TiB)
        RX errors 0  dropped 61845  overruns 0  frame 0
        TX packets 2339021781  bytes 1666417983049 (1.5 TiB)
        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 291363013  bytes 26062305776 (24.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 291363013  bytes 26062305776 (24.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
ifconfig命令也可以用于配置网卡的混杂模式,网卡的模式主要有以下几种:
广播方式:该模式下的网卡能够接收网络中的广播信息。
组播方式:设置在该模式下的网卡能够接收组播数据。
直接方式:在这种模式下,只有目的网卡才能接收该数据。
混杂模式:在这种模式下的网卡能够接收一切通过它的数据,而不管该数据是否
添加网卡混杂模式(说明ens32为网卡的接口名称):

[root@zabbix ~]# ifconfig ens32 promisc
[root@zabbix ~]# ifconfig -a
ens32: flags=4419<UP,BROADCAST,RUNNING,PROMISC,MULTICAST>  mtu 1500
        inet 10.203.12.88  netmask 255.255.255.0  broadcast 10.203.12.255
        inet6 fe80::250:56ff:feb3:2253  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:b3:22:53  txqueuelen 1000  (Ethernet)
        RX packets 2810387434  bytes 2095232359370 (1.9 TiB)
        RX errors 0  dropped 61846  overruns 0  frame 0
        TX packets 2339049023  bytes 1666423920641 (1.5 TiB)
        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 291379966  bytes 26064124076 (24.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 291379966  bytes 26064124076 (24.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
解除网卡混杂模式(说明ens32为网卡的接口名称):
[root@zabbix ~]# ifconfig ens32 -promisc
[root@zabbix ~]# ifconfig -a
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.203.12.88  netmask 255.255.255.0  broadcast 10.203.12.255
        inet6 fe80::250:56ff:feb3:2253  prefixlen 64  scopeid 0x20<link>
        ether 00:50:56:b3:22:53  txqueuelen 1000  (Ethernet)
        RX packets 2810403229  bytes 2095246492912 (1.9 TiB)
        RX errors 0  dropped 61924  overruns 0  frame 0
        TX packets 2339058659  bytes 1666426196872 (1.5 TiB)
        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 291385448  bytes 26064694174 (24.2 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 291385448  bytes 26064694174 (24.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        
echo:用于行的输出
[root@zabbix ~]# echo "Welcome to HangZhou"
Welcome to HangZhou
备注:输出一段文字信息welcome to hangzhou
[root@zabbix ~]# echo "I Love Linux">>LoveLinux.txt
[root@zabbix ~]# cat LoveLinux.txt 
I Love Linux
备注:也可以将输出信息追加到某个文本中

tty:用于显示终端机连接标准输入设备的文件名称在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。
[root@zabbix ~]# tty
/dev/pts/2

startx:startx命令用来启动X Window
说明:startx并非都能生效,必须具备以下几个条件:
a.并没有其他的X windows被占用;
b.你必须要以及安装了X Window system,并且X server是能够顺利启动的;
c.最好有对应的图形化界面,如GNOME/KDE
startx不一定需要管理员权限,任何人都能够使用的:
[root@zabbix ~]# which startx
/usr/bin/startx
[root@zabbix ~]# ls -l /usr/bin/startx
-rwxr-xr-x 1 root root 5074 Mar  6  2015 /usr/bin/startx
从以上代码可以看出,所有用户对/usr/bin/startx均具有可执行权限

export:用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
使用export命令设置的环境变量只会在当前系统中生效,如果想让其永久生效, 
则可以根据需求配置在/etc/profile,~/.bash_profile或~/.bashrc等配置文件中。 
这样用户登录时就会根据配置文件中的配置去形成用户自己的用户环境。

pwd:查看当前所在的目录的完整路径名称
[root@zabbix ~]# pwd
/root
[root@zabbix ~]# cd /etc/sysconfig/network-scripts/
[root@zabbix network-scripts]# pwd
/etc/sysconfig/network-scripts

history:查看命令历史相关的信息
常用的history命令参数:
-a: 追加本次会话新执行的命令历史列表至历史文件中;
-d: 删除历史中指定的命令;
-c: 清空命令历史;
a.查看最近执行的10条命令历史:
[root@zabbix ~]# history |tail -10
 1060  cd /etc/sysconfig/network-scripts/
 1061  pwd
 1062  pwd --help
 1063  man pwd
 1064  history 
 1065  clear
 1066  man history
 1067  cd ~
 1068  clear
 1069  history |tail -10
 
b.测试删除第1066条命令历史
[root@zabbix ~]# history -d 1066
[root@zabbix ~]# history |tail -10
 1061  pwd
 1062  pwd --help
 1063  man pwd
 1064  history 
 1065  clear
 1066  cd ~
 1067  clear
 1068  history |tail -10
 1069  history -d 1066
 1070  history |tail -10
c.清空历史命令记录
[root@zabbix ~]# history -c
[root@zabbix ~]# history 
   72  history 
d.追加本次会话新执行的命令历史列表至历史文件中
[root@zabbix ~]# history -a history.txt
[root@zabbix ~]# cat history.txt 
history 
history -a history.txt

shutdown、poweroff、reboot(关机和重启命令)
只有具备root权限,才能够操作以上三个命令,不要在生产环境中随便敲击这几条命令:
简单而言就是shutdown(正常关机)、poweroff(断电)、reboot(重启)
hwclock、date:

[root@zabbix /]# hwclock -w
设置硬件时钟与当前系统时间同步
[root@zabbix /]# date
Tue Jul  5 12:15:25 CST 2016
查看当前日期,date功能和格式都非常丰富,建议需要的朋友通过date --help或者是man date等去认真阅读下

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

在Linux系统上,有以下几个途径可以获得帮助:

  1. 遇到问题,我们找男人(man,其实是man帮助手册的简称),可以"man 命令名"或者”man 配置文件";

  2. info和man功能相似,但是包含更多的最新消息;

  3. 使用"命令名 –help"得到一个简略容易消化的命令帮助;

  4. 也可以查看/usr/share/doc下的一些手册;

man的章节划分,可以通过在man man下进行查看:

man1: 用户命令

man2: 系统调用

man3: C库调用

man4: 设备文件及特殊文件

man5: 配置文件格式

man6: 游戏

man7: 杂项

man8: 管理类的命令

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

随着Linux的不断发展,越来越多的人开始使用Linux,对于那些刚刚接触的人来说,恐怕最先感到困惑的就是那些“不明不白”的目录了。如果想熟练使用Linux,让Linux听命于自己,就必须掌握这些目录。

使用tree命令,查看”/”目录下的一级文件目录

[root@zabbix /]# tree -L 1
.
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
├── var

常见目录功能说明:

/boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(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 data;

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 Linux,selinux相关的安全策略等信息的存储位置;


原创文章,作者:Net21-冰冻vs西瓜,如若转载,请注明出处:http://www.178linux.com/21876

(0)
Net21-冰冻vs西瓜Net21-冰冻vs西瓜
上一篇 2016-07-07
下一篇 2016-07-07

相关推荐

  • 10个必需的iOS开发工具和资源

       界面总不是一件很容易事,尤其是iPhone/iPad的界面,做过iOS开发的程序员,一定会感到开发iPhone/iPad的界面是一件多么不容易的事。下面的文章来自10 Essential iOS Developer Tools & Resources,这个文章介绍了十个iOS开发的基础性工具和资源,其一定会很有效地帮你做iO…

    Linux干货 2015-04-01
  • awk

    使用方法 awk ‘{pattern + action}’ {filenames} 尽管操作可能会很复杂,但语法总是这样,其中 pattern 表示 AWK 在数据中查找的内容,而 action 是在找到匹配内容时所执行的一系列命令。花括号({})不需要在程序中始终出现,但它们用于根据特定的模式对一系列指令进行分组。 pattern就是要表示的正则表达式,用…

    2018-05-20
  • N21_第x周_Storm_01_单机实践篇

       这2周没有按马哥安排的课程走,因公司需要,大家一直在试尝大数据这块。作业不能不做,也不知道马哥哪周的作业会有storm,只好先将这段时间的实验慢慢记录下来(其它flume、kafka、spark等本周会慢慢补充),等知道具体的作业题目后,再完善。 实验目的   了解storm的原理,并用storm单机版实验加深理解,为后面…

    Linux干货 2016-09-15
  • 实现基于MYSQL验证的vsftpd虚拟用户

    马哥教育面授21期 运维 vsftpd MySQL 说明:本实验在两台CentOS主机上实现,一台做为FTP服务器,一台做数据库服务器 一、安装所需要包和包组: 在数据库服务器上安装包: yum –y install mariadb-server mariadb-devel systemctl start mariad…

    Linux干货 2016-12-21
  • 文本处理工具

    首先介绍一下wc 这个工具,一看到这个词,我不禁捧腹大笑,这不是我们经常要去的地方吗?其实我们都错了,厕所的正确翻译为toilet,为什么叫wc 呢?这中间还有个故事,在这里就大概说一下吧。 很早以前,厕所Toilet里都有水箱watercloset, 人们一提到water closet就想到了toilet,因此watercloset就成了toil…

    2017-07-29
  • 正则表达式

    正则表达式 热身 正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。 例如 grep, expr, sed , awk. 或Vi中经常会使用到正则表达式,为了充分发挥&…

    Linux干货 2016-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-07-07 11:19

    写的很好,排版还可以在漂亮一点,加油