马哥教育网络班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

相关推荐

  • 0805作业

    课堂练习 1.找出ifconfig 命令结果中本机的所有IPv4 地址   ifconfig|tr -cs '[0-9].' '\n'|sort -ut '.' -k3 2.查出分区空间使用率的最大百分比值   df|tr -s ' '|cut -d&quot…

    Linux干货 2016-08-07
  • 磁盘管理及shell脚本编程练习

    1、创建一个10G分区,并格式为ext4文件系统 a) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl; ~]# mke2fs –t ext4 –b 2048 –m 2 –L MYDATA  /dev/sda3 b) 挂载至/data/madata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; ~…

    2017-11-15
  • 文件查找工具

    文件查找     我们常常需要知道哪个文件放在哪里,才能够对该文件进行一些修改或维护等动作。 有些时候某些软件配置文件的文件名是不变的,但是各发行版 放置的目录则不同。 此时就得要利用一些搜寻指令将该配置文件的完整文件名捉出来,这样才能修改。     比较实用的两个文件查找工具l…

    Linux干货 2016-08-21
  • 网络接口配置-bonding

    bonding      就是将多块网卡绑定同一个IP地址对外提供服务,可以实现高可用或是负载均衡,当 然,直接给两块网卡设置同一个IP地址是不可能的,通过bonding,虚拟一块网卡对外提供链接,这样即使一块网卡坏了可以经行自动切换,而不会影响业务的正常的通信 Bonding的工作模式 mode 0 轮转(…

    Linux干货 2016-09-05
  • 防火墙原理以及iptables重要实践

    防火墙 主机间通信大致过程: 请求报文由客户端IP+PORT和服务器端IP+PORT构成。当客户端网络地址和服务端地址在同一网段时,不需要经由路由转发,可以直接到目标服务器,再经由服务器端口请求道所需资源; 当服务器端和客户端不在同一网段时。目标IP和源IP是不会改变的,会经由互联网中的路由器,按照其的路由表,指向该路由器的下一跳主机,知道找到服务器端所在网…

    2017-06-18
  • 语言的歧义

    语言是人与人相互沟通的途径,而计算机语言则是人和计算机沟通的途径。就算是任何再完美的自然语言都会有歧义,但是又是什么让人和计算计算机间产生了歧义呢?下面这篇文章来自Gowri Kumar的Puzzle C一文。我做了一些整理,挑选了其中的一些问题,并在之后配上相应的答案(这些答案是我加的,如果需要原版的答案可以直接和本文作者Gowri Kumar联系,作者的…

    Linux干货 2016-05-08

评论列表(1条)

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

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