LINUX的初探

一般而言,计算机的组成遵循着“冯诺依曼体系结构”。这种结构的体现实质上是一种存储程序的原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式来存储。这种结构的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。

计算机的组成

冯诺依曼体系

        一般而言,计算机的组成遵循着“冯诺依曼体系结构”。这种结构的体现实质上是一种存储程序的原理,把程序本身当作数据来对待,程序和该程序处理的数据用同样的方式来存储。这种结构的要点是:计算机的数制采用二进制;计算机应该按照程序顺序执行。

        由“冯诺依曼体系”可以知道,计算机是由几个独立的单元所组成的,包括控制器,运算器,存储器,输入设备,输出设备五大单元所组成。

1

各组成的功能

        从宏观角度来讲,计算机又分为两个部分组成,分别是硬件和软件。硬件的组成对应着“冯诺依曼体系结构”的五大单元。软件则是由包括汇编语言,系统软件和应用软件。一台正真意义上的标准计算机必须是带有软件和硬件的。

硬件:

        控制器:所对应的硬件为CPU,CPU被称为计算机的中央处理器,它是计算机的核心组成部分。控制器是它的重要组成部分之一。控制器是计算机的指挥系统,它通过地址访问存储器,从存储器中取出指令,经编码器分析后,更具指令分析结果产生相应的操作控制信号作用于其他部件,使得个部件在控制器下有条不紊地协调工作。

        运算器:所对应的硬件也为CPU,它也是CPU重要的组成部分之一。控制器用来实现算数运算和逻辑运算的部件。

        存储器:存储器是计算机中用来存放所有数据和程序的记忆部件,它的基本功能是按指定的地址存(写)入或者取(读)出信息。计算机中的存储器可分成两大类:一类是内存储器,简称为内存;另一类是外存储器,简称外存。存储器由若干个存储单元所组成,每个存储单元都有一个地址,CPU通过地址对存储单元进行读写。存储器对应着电脑上的内存条和硬盘。内存储器就是内存,外存储器就是硬盘。一个存储器所包含的字节数即为存储容量,单位为B,KB,MB,GB,TB等。

软件:

         软件是指一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件,应用软件和介于两者之间的中间件。

汇编语言:一种用于CPU的低级语言。它使用助记符代替二进制语言,方便人们的阅读及操作。一种汇编语言只能与相应的计算机系统结构对应,无法在不同平台移植。

系统软件:用来运行或控制硬件所开发的计算机软件,如操作系统,编译器,数据库等。

应用软件:为了某种特定用途而被开发的软件。它可以是一个特定的程序,也可以是一个由众多独立程序组成的庞大软件系统。

LINUX的发行版

什么是LINUX

             Linux是一套免费使用和自由传播的Unix操作系统,是一个基于POSIXUNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位64位硬件。Linux继承了Unix网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

             该操作系统的内核Linux Torvalds于1991年10月5日首次发布。

LINUX的著名发行版

              按照程序包管理器的不同,Linux被分成了许多不同的派系。

Linux的主流发行版有一下几种:

1.Debian

分支: Ubuntu,knopix

2.Slackware

      分支:S.u.S.E

             SLES, OpenSUSE

3.RedHat

      分支:RedHat Enterprise Linux,  Centos,  Fedora Core.

4.其他版本

      Gentoo, ArchLinux.

2

LINUX发行版之间的不同

            Linux各发行版之间最大的不同之处在于软件包管理器的不同,不同的系统,软件包管理系统也不相同。常见的软件包管理系统有:

dpkg: 一般常用在Debian系列。

rpm : 一般常用于RedHat系列,S.u.S.E也可使用.

前端工具:

apt-get:用于Debian系列

yum:用于RHEL和CentOS

dnf:用于Fedora

ZYpper:用于S.u.S.E和opensuse

urpmi:用于Mandriva Linux和Mageia

LINUX的哲学思想

  1. 一切皆文件 

         此思想是UNIX/LINUX的基本哲学之一。不仅普通文件,目录,字符设备,快设备等在UNIX/LINUX中都以文件被对待;它们虽然类型有所不同,但是对其提供的只是同一套操作界面。

物理终端:/dev/console

虚拟终端:/dev/tty# [1, 6]

串行终端:/dev/ttyS#

伪终端:/dev/pts/#

  1. 小型,单一用途的程序;

     程序和可执行文件不能太复杂,这样能够保证Linux内核的高效运行。

  1. 连接程序,共同完成复杂功能。

     复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的。

  1. 避免了令人困惑的用户界面。

     在使用windows的过程中,常常会出现一些致命的提示错误或误操作导致系统无形的崩掉,如果解决不了,就要操作系统,这样的操作大大的给用户带来了麻烦。Windows作为一个闭源系统,一旦出现复杂性的问题,一般的人是根本没有办法解决的。对于Linux这样的开源系统,无论什么问题都可以通过简洁的命令行来实现排错,修改系统的配置文件,一切都是简洁明了地实行操作。

  1. 配置数据库存储在文本中。

     Linux所有的配置信息都存放在文本配置文件中,无论什么配置只需要修改其配置文件即可。

  1. 尽量避免与用户交互

     方便容易以编程的方式实现自动化任务

Linux系统上命令的使用格式和几种常用命令的使用方法

命令格式

         命令的语法通用格式:command [options] [arguments]

         命令的使用原理:发起命令实则为请求内核将某个二进制程序运行为一个进程。

         命令本身就是一个可执行的程序文件:命令文件为二进制格式的文件,有可能会调用共享库文件;

命令存放路径:

普通命令:/bin,  /usr/bin,  /usr/local/bin

管理命令:/sbin, /usr/sbin, /usr/local/bin

共享库存放路径:

32bits库:/lib,  /usr/lib,  /usr/local/lib

64bits库:/lib64,/usr/lib64,/usr/local/lib64

*:并非所有的命令都有一个在某目录与之对应的可执行程序文件

命令必须遵循特定的格式规范:exe, msi, ELF(Linux)

可通过file命令来查询  实例:~】#file /bin/ls

命令的两大类:

         Shell程序自带的命令:内置命令

         独立的可执行程序文件,文件名即命令名:外部命令

         Shell程序是独特的程序,负责解析用户所提供的命令,它被称为命令解析器。查看命令的类型命令:type COMMAND

选项(OPTIONS):

          选项用来指定命令的运行特性;

选项的两种表现形式:

          短选项:-C,  举例:-l, -d

                  有些命令的选项没有“-”;如果命令同时使用多个短选项,多数可合并:-l -d = -ld

          长选项:–word, 举例:–help, –human-readable

                  长选项不能合并;

参数(ARGUMENTS):

          参数用来指定命令的作用对象;

          有些命令可同时带多个参数,多个之间以空白字符分隔;

          举例:ls  -ld  /var/log

常用命令:

ifconfig

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

语法:ifconfig [interface]

常用方法:

ifconfig:查看当前系统中存在的网络接口设备信息

3

ifconfig [name]:查看指定的网络接口设备信息

4

ifconfig -a:查看所有网络接口信息(包括非运行状态下的网卡)

ifconfig [name] up:启动指定网卡设备工作。

ifconfig [name] down:关闭指定网卡设备工作。

ifconfig [name] add “IPV6 ip address”:添加指定网卡的ipv6地址。

ifconfig [name] del “IPV6 ip address”:删除指定网卡的ipv6地址。

ifconfig [name] hw ether “MAC address”:修改指定网卡的mac地址。

ifconfig [name] “ip address”:设置指定网卡的ip地址

ifconfig [name] “ip address” netmask “netmask”:设置指定网卡的IP和子网掩码。

ifconfig [name] “ip address”netmask “netmask”broadcast “ip address”:设置指定网卡的IP和子网掩码,广播地址。

iconfig [name] mtu [num]:设置指定网卡的最大传输单元。

*:使用此命令若需要永久生效,则需要通过修改配置文件,配置文件路径为:

/etc/sysconfig/network-scripts/

echo

     echo用来将字符串输出到终端上。它通常在Shell脚本中使用,以便将状态信息输出到屏幕或文件中。

      语法格式:echo [short options] [string]

                echo [long options]

echo -n:不进行换行

echo -e:让转义符生效;

转义符号:

\a:发出警报声

\b:删除前一个字符

\c:不加换行符

\f:换行且光标仍停留在原来的位置

\n:换行

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

\t:制表符

\\:插入“\”字符

      String可以使用引号,均可使用单引号和双引号;

      单引号:强引用,变量引用不执行替换;

                     ~]# echo ‘$SHELL’

      双引号:弱引用,变量引用会被替换;

                     ~]# echo “$SEHLL”

tty

      tty用来查看当前的终端设备

     语法格式:tty [options]

常用方法:

tty

4.

startx

       startx用来带动x-window。

常用方法:

start:启动x会话

startx -w:强制启动x会话

export

       用于将shell变量输出为环境变量。

       语法格式:bash builtin commands

常用方法:

-f:代表【变量名称】中为函数名称

-n:删除指定的变量。变量实际上并为删除,只是不会输出到后续指令的执行环境中。

-p:列出所有shell赋予程序的环境变量

pwd

        pwd用来表示以绝对路径的方式显示用户当前的工作目录。

        语法格式:pwd [options]

常用方法:

pwd:显示当前用户的工作目录

5

history

        history用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区,将历史命令缓冲区写入命令文件。

        语法格式:bash builtin commands

常用方法:

-c:清空当前的历史命令

-a:将历史命令文件中的命令写入历史命令文件中

-r:将历史命令文件中的命令读入当前历史命令缓冲区

-w:将当前历史命令缓冲区命令写入历史命令文件中

“number”:打印最近n条历史命令

shutdown

         shutdown用来关闭操作系统

         语法格式:[options…] [time] [wall…]

常用方法:

-c:取消关机

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

-F:重新启动时执行fsck

-h:将系统关机

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

-n:不调用init程序进行关机,而由shutdown控制

-r:重启系统

time:设置多久时间后执行shutdown指令

wall:要传送给所有登入用户的信息

poweroff 

       poweroff是用来关闭操作系统的另一命令

         语法格式:poweroff [options]

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

-w:不是真正意义上的关机

-d:关机时,不将操作写入日志文件

-f:强制关闭系统

-i:关闭系统之前关闭所有的网卡

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

reboot

         reboot用来重启操作系统

         语法格式:reboot [options]

常用方法:

-d:重新开机时不将数据写入数据文件/var/tmp/wtmp

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

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

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

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

hwclock

          hwclock是一个硬件时钟访问工具,它用于显示当前时间,设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。

          语法格式:hwclock [functions] [options]

常用方法:

-adjust:校正目前的硬件时钟

-debug:显示hwclock执行时详细的信息

-hctosys:将系统时钟调整与当前的硬件时钟一致

-set -date:设定硬件时钟

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

-systohc:将硬件时钟调整为与当前的系统时钟一致

-text:测试程序

date

        date用于显示或设置系统时间与日期

        语法格式:date [options] [+format]

常用方法:

-d<字符串>:显示字符串所指的日期与时间

-s<字符串>:根据字符串设置的日期与时间

+format:格式符

%F:年月日

%T:小时分钟秒

%Y:年

%m:月

%d:日

%H:小时(24H进制)

%S:秒

%s:秒(从1970-01-01 00:00:00开始到命令执行那一刻的描述unix元年)

LINUX上获取命令帮助

获取命令的使用帮助

         命令大体分为内部命令和外部命令

         内部命令:help COMMAND

         外部命令:

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

          #COMMAND  –help

  1. 使用手册:manual

位置:/usr/share/man

#man  COMMAND

MAN的section:

NAME:功能性说明

SYNOPSIS:语法格式

DESCRIPTION:描述

OPTIONS:选项

EXAMPLES:使用示例

AUTHOR:作者

BUGS:报告程序bug的方式

SEE ALSO:参考

在SYNOPSIS中:

         [ ]:可选内容;< >:必须提供的内容;

         a | b | c:多选一; …:同类内容可出现多个;

手册中有压缩格式的文件,有章节之分:

man1, man2,…

man1:用户命令:

man2:系统调用;

man3:C库调用;

man4:设备文件及特殊文件;

man5:文件格式;(配置文件格式)

man6:游戏使用帮助;

man7:杂项;

man8:管理工具及守护进行;

~]# man  CHAPTER  COMMAND

*:并非每个COMMAND在所有章节下都有手册;

           查看:~]# whatis COMMAND

打开手册后的操作方法:

空格键:向文件尾翻一屏;

ctrl+d:像文件尾部翻半屏

ctrl+u:向文件首部翻半屏

回车键:向文件尾部翻一行

K:向文件首部翻一行

G:跳转至最后一行

数字+G:跳转至指定行

1G:跳转至文件首部

文本搜索:

/keyword:从文件首部向文件尾部依次查找;不区分字符大小写;

?keyword:从文件尾部向文件首部依次查找;

n:与查找命令方向相同;

N:与查找命令方向相反;

退出:q:quit

LINUX发行版的基础目录名称命名法则及使用规定

LINUX文件系统

        规则:1.文件名名称严格区分字符大小写;

                   2.文件可以使用除/以外任意字符;

                   3.文件名长度不能超过255字符;

                  4.以.开头的文件为隐藏文件;

                      .:当前目录;

                     ..:当前目录的上一级目录;

工作目录:working directory

家目录:home

LINUX文件系统描述

/:主层次的根,是整个文件系统层次结构的根目录;

/bin: 存放在单用户模式可用的必要命令二进制文件,所有用户均可用。

/boot:存放引导加载程序文件,如kernels,initrd等;

/dev:存放必要的设备文件

/etc:存放主机特定的系统级配置文件。

/home:用户的主目录,包括保存的文件,个人配置,等;

/lib:/bin和/sbin中的二进制嗯我那件的必需的库文件

/media:可移动的多媒体挂载点。

/mnt:临时挂载的文件系统

/opt:可选的引用程序软件包

/proc:以文件形式提供进程以及内核信息的虚拟文件系统,在Linux中,对应进程文件系统的挂载点;

/root:根用户的主目录;

/sbin:必要的系统级二进制文件,如,init,ip,mout;

/srv:系统提供的站点特定数据

/tmp:临时文件通常在系统重启后删除;

/usr:二级层级存储用户的只读数据;包含(多)用户主要的公共文件以及应用程序;

…….

67

        

 

    

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91906

(1)
ConanConan
上一篇 2018-03-04
下一篇 2018-03-04

相关推荐

  • Linux基础—磁盘管理

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

    Linux干货 2016-11-17
  • linux 删除内核文件,未能启动,修复方法 CDROM与网络法

    当缺少 /boot 内核文件 vmlinuz-2…. initramfs-2… 此时只能借助 光盘 CDROM 来引导生成    进入  RESCUE 模式 1    chroot       &…

    Linux干货 2016-09-13
  • 利用keepalived实现nginx七层负载均衡器双主模型高可用集群

    nginx通过ngx_http_upstream_module可以实现七层http服务的负载均衡,同时还自带RS的健康监测功能,但是也有弊端,nginx负载均衡器如果发生故障则整个集群失效,此文通过keepalived构建nginx负载均衡器的高可用集群。 一、实验环境: 实验需要4台服务器: nginx负载均衡器1:192.168.11.100 nginx…

    2017-07-03
  • 计算机基础及Linux基础概述

    马哥教育网络班23期+第1周课程练习 计算机基础及Linux基础概述 一、计算机组成及其功能 1.1、概述     计算机,computer 我们在中国都称它为电脑,其实我们个人使用的计算机只是计算机家族的一部分,计算机分很多种,小型机,中型机,大型机,工作站,还有PC机,等等,其实我们家庭中使用的只能算是PC机,其实…

    Linux干货 2016-09-15
  • wed服务基础·httpd基础配置详解

    一、 Web Service基础: service:计算机后台提供的功能或计算机可以提供的某一种功能 Web Service本质:通过网络调用其它网站的资源 根据来源的不同,分为两种服务: 本地服务:使用同一台机器提供的服务,不需要网络 网络服务:使用另一台机器提供的服务,需要网络   IANA互联网地址授权机构(Internet Assigned…

    2017-06-09
  • Jmeter性能测试 入门

    Jmeter是一款优秀的开源测试工具, 是每个资深测试工程师,必须掌握的测试工具,熟练使用Jmeter能大大提高工作效率。 熟练使用Jmeter后, 能用Jmeter搞定的事情,你就不会使用LoadRunner了。 【小坦克Jmeter教程】,将会覆盖Jmeter的各个功能,并且会通过丰富的实例,让读者快速掌握Jmeter的各种用法 。 本文将通过一个实际的…

    Linux干货 2015-03-06

评论列表(1条)

  • 马哥教育
    马哥教育 2018-03-06 22:10

    作业写的很不错,基础命令及Linux组成有一个了解,继续加油。