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

一、计算机组成部分及其功能:硬件系统和软件系统

    1、计算机的硬件系统组成及其功能:

        运算器:处理数据的算术运算及逻辑运算即数据加工处理;

        控制器:根据接收到的指令,负责向各部件发送控制信号,保证各部件协调工作;

        存储器:计算机记忆货暂存数据的部件,存放计算机程序及参与运算的各种数据;

        输入设备:实现计算机原始程序和数据的输入;

        输出设备:实现计算机结果的输出;

    2、计算机的软件系统组成及其功能:

        系统软件:控制计算机运行、管理计算机的各种资源、并为应用软件提供支持和服务的一类软件;

        应用软件:为某一专门的应用目的而开发的计算机软件;

二、主流的Linux发行版本

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

    1、Gentoo:Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美 FreeBSD的广受美誉的ports系统 ——Portage包管理系统。Portage是基于源代码分发的,必须编译后才能运行,对于大型软件而言比较慢,不过正因为所有软件都是在本地机器编译的,在经过各种定制的编译参数优化后,能将机器的硬件性能发挥到极致。Gentoo是所有Linux 发行版本里安装更复杂的,但是又是安装完成后最便于管理的版本,也是在相同硬件环境下运行最快的版本。Gentoo的哲学是自由和选择;

    2、ArcLinux:Arch Linux(或称Arch)是一种以轻量简洁为设计理念的Linux发行版。其开发团队秉承简洁、优雅、正确和代码最小化的设计宗旨。由 Judd Vinet 于2002年启动。Arch Linux是起源于加拿大的一份致力于使用简单、系统轻量、软件更新速度快的GNU/Linux发行版。创始人Judd Vinet出于对Debian以及Red Hat的包管理器不满,以及受CRUX影响而创立。最初针对i686,但是如今对x86_64也支持良好,而且还派生出了针对ARM平台的Arch Linux ARM以及针对HURD内核的Arch Hurd(发展缓慢);

    3、Debian:或者称Debian系列,包括Debian、Ubuntu、Knoppix、Kali Linux等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing 和 unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get/dpkg包管理方式,Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了;

    4、Slackware:Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 很多特性体现出了KISS原则,最为有名的一些例子就是不依赖图形界面的文本化系统配置、传统的服务管理方式和不解决依赖的包管理方式。它的最大特点就是安装灵活,目录结构严谨,版本力求稳定而非追新。Slackware的软件包都是通常的tgz(tar/gzip) 或者txz(xz) 格式文件再加上安装脚本。Tgz/Txz 对于有经验的用户来说,比RPM更为灵活,并避免了APT 之类管理器可能带来的的依赖地狱。这个系列包含SUSE、openSuSE等;

    5、RedHat:应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,建议只用于桌面应用。

三、Linux哲学思想

    1、一切皆文件:把几乎所有的资源抽象成文件形式;包括硬件设备,通信接口等;

    2、由总多功能单一的程序组成,并且组合小程序完成复杂的任务;

    3、尽量避免与用户进行交互,使用编程的方式实现自动化任务;

    4、使用文本文件保存配置信息。

四、命令使用方法详解(ifconfig,echo,tty,startx,export,pwd,history,shutdown,poweroff,reboot,hwclock,date)

    1、ifconfig命令:用于配置和显示Linux内核中网络接口的网络参数

        对应的配置文件:/etc/sysconfig/network-scripts/ifcfg-eno16777736 (CentOS 7)                                      /etc/sysconfig/network-scripts/ifcfg-eth0 (CentOS 6)

        语法格式:ifconfig [OPTIONS]

        参数:

        1、a:显示所有的网卡设备及其信息,其中包含非活动的;

        2、up/down:开启/关闭指定的网卡设备;

        3、mtu N:设置网卡设备的MTU为N;

        4、netmask:设置网口设备的子网掩码;

        5、hw<网络设备类型><硬件地址>:设置网卡设备的类型与硬件地址;

        6、-broadcast<地址>:将要送往指定地址的数据包当成广播数据包来处理; 

        7、-pointopoint<地址>:与指定地址的网卡设备建立直接连线,此模式具有保密功能;

    实例:

        1、显示所有的网卡设备(CentOS 7)

blob.pngblob.png

        说明:

        (1)、eno16777736是网卡的名称,其中包含inet(ipv4地址)、netmask(子网掩码)、broadcast(广播地址)、inet6(ipv6地址)、ether(物理地址)等网卡设备相关信息;

           lo是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。其ipv4地址为127.0.0.1 

        (2)、启动关闭指定网卡

            ~]# ifconfig eno16777736 up

            ~]# ifconfig eno16777736 down

        (3)、ifconfig修改MAC地址

            ~]#ifconfig eno16777736 hw ether XX:XX:XX:XX:XX:XX

        (4)、配置IP地址(此方法配置的IP地址仅当前有效,重启后恢复)

            [root@localhost ~]# ifconfig eth0 192.168.2.10

            [root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0

            [root@localhost ~]# ifconfig eth0 192.168.2.10 netmask 255.255.255.0 broadcast 192.168.2.255

        (5)、设置最大传输单元:

            ifconfig eth0 mtu 1500 #设置能通过的最大数据包大小为 1500 bytes

    2、echo命令:用于在shell中打印shell变量的值,或者直接输出指定的字符串

            语法格式:echo (选项) (参数)

            参数

                -e:激活转义字符。

                    使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:

                         \a 发出警告声;

                         \b 删除前一个字符; 

                         \c 最后不加上换行符号; 

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

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

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

                         \t 插入tab; \v 与\f相同;

                         \\ 插入\字符;

                         \nnn 插入nnn(八进制)所代表的ASCII字符;

            实例

               [root@localhost ~]# echo a\/b

               输出结果:a\/b

               blob.png

    3、tty命令:显示终端机连接标准输入设备的文件名称

            语法格式:tty [OPTION]…

            参数

                -s或–silent或–quiet 不显示任何信息,只回传状态代码。

            实例

                [root@localhost ~]# tty

                输出结果:/dev/pts/3

                blob.png

            说明

                Linux常见终端:(n为编号)

                    /dev/ttySn        串行端口终端[1,7]

                    /dev/pty          伪终端

                    /dev/ttyn         控制终端[1,6]

                    /dev/console      物理终端 

                pts(pseudo-terminal slave)是pty的实现方法

    4、startx命令:用来启动X Window,实际上启动X Window的程序为xinit

    5、export命令:用于将shell变量输出为环境变量,或者将shell函数输出为环境变量            

blob.png

    6、pwd命令显示用户当前工作目录

                blob.png

    7、history命令:是一条非常实用的shell命令,可以显示出之前在shell中运行的命令    

            定制history的功能,可以通过环境变量实现; 

                  HISTSIZE:shell进程可保留的命令历史的条数;

                  HISTFILE:持久保持命令历史的文件;

                            .bash_history

                  HISTFILESIZE:命令历史文件的大小;

            命令用法:

                  history [ -c ] [ -d 偏移量 ] [ n ]

                  或 history -anrw [ 文件名 ]

                  或 history -ps 参数 [ 参数… ]

                  -c:清空命令历史;

                  -d offset:删除指定命令历史

                  -r:从文件读取命令历史至历史列表中

                  -w:把历史列表中的命令追加到历史文件中

                  history n:显示最近的n条命令;

            调用命令历史列表中的命令:

                  !#:再一次执行历史命令列表中的第#条命令;

                  !!:再一次执行上一条命令;

                  !STRING:再次执行命令历史列表中最近一次以STRING开头的命令

                         注意:命令的重复执行有时候需要依赖于幂等性;

            调用上一条命令的最后一个参数:

                  快捷键:Esc、. 或 符号组合:!$

            控制命令历史记录的方式:

                  环境变量:HISTCONTROL

                       ignoredups:忽略重复的命令

                       ignorespace : 忽略空白字符开通的命令

                       ignoreboth:以上两者同时生效

        实例

            1、运行history命令:

                [root@localhost ~]# history

                blob.png

            2、显示最近10条历史命令

                [root@localhost ~]# history 10

                blob.png

    8、shutdown、poweroff、reboot命令

        (1)shutdown命令:可以关闭所有程序,并依用户的需要,进行重新开机或关机的动作。

                选项:                    

                    -c:当执行“shutdown -h 11:50”指令时,使用"shutdown -c"就可以中断关机的指令;

                    -f:重新启动时不执行fsck;

                    -F:重新启动时执行fsck;

                    -h:将系统关机;

                    -k:只是送出信息给所有用户,但不会实际关机;

                    -n:不调用init程序进行关机,而由shutdown自己进行;

                    -r:shutdown之后重新启动;

                    -t<秒数>:送出警告信息和删除信息之间要延迟多少秒。

            blob.png

        (2)poweroff命令:用来关闭计算机操作系统并且切断系统电源

                选项:                    

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

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

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

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

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

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

        (3)reboot命令:重新启动正在运行的Linux操作系统

                选项:

                    -d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n”参数效果;

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

                    -i:在重开机之前,先关闭所有网络界面;

                    -n:重开机之前不检查是否有未结束的程序;

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

    9、hwclock命令:查询或设置硬件时钟

        选项:            

            –adjust:hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟;

            –hctosys:将系统时钟调整为与目前的硬件时钟一致;

            –set –date=<日期与时间>:设定硬件时钟;

            –show:显示硬件时钟的时间与日期;

            –systohc:将硬件时钟调整为与目前的系统时钟一致;

            –utc:若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作;

    10、date命令:显示或设置系统的日期时间

        选项:    

            -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

            -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

        常用时间格式字符串:            

            %H 小时,24小时制(00~23)

            %I 小时,12小时制(01~12)

            %M 分钟(00~59)

            %p 显示出AM或PM

            %r 显示时间,12小时制(hh:mm:ss %p)

            %s 从1970年1月1日00:00:00到目前经历的秒数

            %S 显示秒(00~59)

            %T 显示时间,24小时制(hh:mm:ss)

            %X 显示时间的格式(%H:%M:%S)

            %Z 显示时区,日期域(CST)

            %a 星期的简称(Sun~Sat)

            %A 星期的全称(Sunday~Saturday)

            %h,%b 月的简称(Jan~Dec)

            %B 月的全称(January~December)

            %c 日期和时间(Tue Nov 20 14:12:58 2012)

            %y 年的最后两个数字(1999则是99)

    实例:

            格式化输出当前日期:

            blob.png

五、Linux系统上获取命令的帮助信息

    1、内嵌命令:help COMMAND

    2、外部命令:

        (1)命令自带简要格式的使用帮助

                # COMMAND –help

        (2)命令使用手册:manual

                默认情况下存于/usr/share/man目录下,使用man命令进行查看

                # man COMMAND

                man手册分为以下几个章节:

                1    用户命令(User Commands)

                2    系统调用(System Calls)

                3    C库调用(Library Calls)

                4    特殊文件(usually found in /dev)

                5    文件格式(File Formats)

                6    游戏(Games)

                7    其它(Miscellaneous)

                8    系统管理命令(System Administrator Commands)

                9    内核(Kernel)

        (3)、info COMMAND:获取命令的在线手册

        (4)、很多应用程序会自带帮助文件

                存储于/usr/share/doc/APP-VERSION

        (5)、主流发行版官方文档

        (6)、程序的官方文档

        (7)、搜索引擎

六、Linux目录结构及其目录说明

未标题-1.jpg

原创文章,作者:N22-江西-H随风,如若转载,请注明出处:http://www.178linux.com/34018

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-29 22:02

    存在的问题:
    计算机五大部件中关于存储器的描述有错别字
    建议:
    1、关于命令的使用可列举一些例子,比如如何设置 系统时钟,命令历史中带有操作时间戳,命令历史日志等
    2、建议排版使用markdown