马哥教育网络班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)
上一篇 2016-07-07 10:48
下一篇 2016-07-07 10:48

相关推荐

  • N27_第五周作业

    一、显示当前系统上root、fedora或者user1用户的默认shell; [root@localhost ~]# grep -E “^(root|fedora|user1)” /etc/passwd | cut -d: -f7 /bin/bash /bin/tcsh /bin/bash二、找出/etc/rc.d/init.d/fu…

    Linux干货 2017-10-20
  • Python第二周小结

    不知不觉已经正式学习接触Python两周了,第二周主要开始了Python内置数据结构的学习,包括从一开始的列表list,元组tuple,字符串string,再到后来的bytes, bytearray, 以及最后的集合set。这些数据结构可以说Python最为基础的几种类型,想要用Python写出漂亮的代码离不开对他们的熟练掌握与深刻理解。这几个结构各有各的特…

    Python笔记 2018-03-31
  • N23-卡卡琦-第二周

    1、文件管理类命令 常规命令:copy、mv、rm (1).copy 文件复制 用法: 注意:复制文件只是复制文件的数据而不是元数据,但是可以保留元数据的信息。 单源复制:目录是否存在都可以 多源复制:目录必须是存在的 -i:提醒用户操作确认(交互式) -f:强行覆盖 -r:递归复制目录 -p:保留源数据 -a:用于实现归档,做备份 -d:不跟踪符号链接所指…

    Linux干货 2016-12-11
  • linux 基础目录配置及用途说明

    bin -> usr/bin 一般存放root和一般用户都可以使用的指令例如:cat, chmod, chown, date, mv, mkdir, cp, bash 等等常用的指令,同时还存放着单人维护模式下还能够被使用的指令。 boot  这个目录主要放置开机会使用到的文件,包括linux核心文件以及开机选单和开机所需要的配置文件。 de…

    Linux干货 2017-08-19
  • 初识Linux基础

    一:计算机的组成及其基本功能 计算机主要由五大基础部件组成:控制器,运算器,存储器,输入设备,输出设备. 控制器:计算机的核心组件,协调各程序的运行,对计算机的各项资源进行控制分配; 运算器:计算机实现算术运算以及逻辑运算的部件; 存储器:计算机用来存放数据和程序的基本部件。 存储器由若干存储单元组成,每个存储单元都有一个地址,计算机通过地址对存储单元进行读…

    Linux干货 2018-03-04
  • 正则表达式浅解

    正则表达式:由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能。 扩展正则表达式元字符: 字符匹配:. 匹配任意单个字符[] 匹配指定范围内的任意单个字符[^] 匹配指定范围外的任意单个字符[:alnum:] 字母和数字[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z[:lower:] 小…

    2018-04-07

评论列表(1条)

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

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