计算机组成及Linux入门知识

计算机的基本组成:

  • 存储器:     实现记忆功能的部件用来存放计算程序及参与运算的各种数据

  • 运算器:     负责数据的算术运算和逻辑运算即数据的加工处理

  • 控制器:     负责对程序规定的控制信息进行分析,控制并协调输入,输出操作或内存访问

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

  • 输出设备:    实现计算结果输出

组成的联系:

  • 图一
    计算机组成及Linux入门知识

  • 图二
    计算机组成及Linux入门知识

计算机的工作过程:

  • 用户打开程序

  • 系统把程序代码段和数据段送入计算机的内存

  • 控制器从存储器中取指令

  • 控制器分析,执行指令,为取下一条指令做准备

  • 取下一条指令,分析执行,如此重复操作,直至执行完程序中全部指令,便可获得全部指令

 计算机组成及Linux入门知识

冯·诺依曼机制:

  • 程序存储

  • 采用2进制

计算机系统的体系结构:

  • 图一:
    计算机组成及Linux入门知识

  • 图二
    计算机组成及Linux入门知识


数据概述

数据信息的两种基本方法:

  • 按值表示:  要求在选定的进位制中正确表示出数值,包括数字符号,小数点正负号

  • 按形表示:  按一定的编码方法表示数据

信息的存储单位:

  •  1KB=2^10B=1024Byte

  •  1MB=2^20B=1024KB

  •  1GB=2^30B=1o24MB

  •  1TB=2^40B=1024GB

浮点表示法:

公式:  N=2^(+-e)*(+-s)

计算机组成及Linux入门知识

说明:

  • E为阶码  它是一个二进制正整数

  • 阶符(Ef)  E前的+—为阶码的符号

  • S称为尾数它是一个二进制正小数

  • 尾符(Sf)  S前的+—为尾数的符号

  • “2”是阶码E的底线

R进制表示法:

计算机中常用的进制数的表示:

进位制    二进制    八进制    十进制    十六进制  

规则       逢二进一    逢八进一      逢十进一      逢十六进一
基数       R=2      R=8      R=10     R=16
数码       0、1       0…7      0…9      0…F
权        2^i       8^i       10^i       16^i
形式表示     B        Q        D         H


总线

定义:  连接计算机各部件之间或各计算机直接的一束公共信息线,它是计算机中传送信息代码的公共途径

特点:

  • 同一组总线在同一时刻只能接受一个发送源,否则会发生冲突

  • 信息的发送则可同时发送给一个或多个目的地

分类:

  • 传送分类

    • 串行总线  二进制各位在一条线上是一位一位传送的

    • 并行总线  一次能同时传送多个二进制位数的总线

  • 信息分类

    • 数据总线  在中央处理器与内存或I/0设备之间传送数据

    • 地址总线  用来传送单元或I/O设备接口信息

    • 控制总线  负责在中央处理器或内存或外设之间传送信息

  • 对象位置分类

    • 片内总线  指计算机各芯片内部传送信息的通道<I^2C总线,SPL总线,SCI总线>

    • 外部总线  微机和外部设备之间总线用了插件板一级互连<ISA总线,EISA总线,PCI总线>

    • 系统总线  微机中各插件与系统板<USB总线,IEEE-488总线,RS-485总线,RS-232-C总线>

总线标准依据:  物理尺寸,引线数组,信号含义,功能和时序,工作频率,总线协议


中央处理器

运算器组成:

  • 算术逻辑单元(ALU)

  • 通用寄存器组(R1 ~Rn)

  • 多路选择器(Mn)

  • 标志寄存器(FR)

控制器组成:

  • 时标发生器(TGU)

  • 主脉冲振荡器(MF)

  • 地址形成器(AGU)

  • 程序计数器(PC)

  • 指令寄存器(IR)

  • 指令译码器(ID)

总线:

  • 数据总线(DBUS)

  • 地址总线(ABUS)

  • 控制总线(CBUS)

CPU运行原理图:

计算机组成及Linux入门知识

CPU主要性能指标:

  • 主频:CPU内部工作的时钟频率,是CPU运算时工作频率

  • 外频:主板上提供一个基准节拍供各部件使用,主板提供的节拍成为外频

  • 信频:CPU作频率以外频的若干倍工作,CPU主频是外频的倍数成为CPU的信频,这CPU工作频率=信频*外频

  • 基本字长:CPU一次处理的二进制数的位数

  • 地址总线宽度:地址总线宽度(地址总线的位数)决定了CPU可以访问的存储器的容量,不同型号的CPU总线宽度不同,因而使用的内存的最大容量也不一样

  • 数据总线宽度:数据总线宽度决定了CPU与内存输入∕输出设备之间一次数据传输的信息量


存储器

定义:  计算机存储是存放数据和程序的设备

分类:

  • 主存储器:  也称内存,存储直接与CPU交换信息,由半导体存储器组成

  • 辅助存储器:  也称外存,存放当前不立即使用的信息,它与主存储器批量交换信息,由磁带机,磁带盘及光盘组成

存储层次:

计算机组成及Linux入门知识

内存与外存的比较:

      主存                辅存              

类型    ROM    RAM         软盘      硬盘     光盘  

造价    高        高         低++    低     低+

速度    快      快         慢++    慢       慢+

容量     小+      小          —     —      —

断电     有      无          有     有     有

主存:

功能:

主存储器是能由CPU直接编写程序访问的存储器,它存放需要执行的程序与需要处理的数据,只能临时存放数据,不能长久保存数据

组成:

  • 存储体(MPS):  由存储单元组成(每个单元包含若干个储存元件,每个元件可存一位二进制数)且每个单元有一个编号,称为存储单元地址(地址),通常一个存储单元由8个存储元件组成

  • 地址寄存器(MAR):  由若干个触发器组成,用来存放访问寄存器的地址,且地址寄存器长度与寄存器容量相匹配(即容量为1K,长度无2^10=1K)

  • 地址译码器和驱动器

  • 数据寄存器(MDR):  数据寄存器由若干个触发器组成,用来存放存储单元中读出的数据,或暂时存放从数据总线来的即将写入存储单元的数据【数据存储器的宽度(w)应与存储单元长度相匹配】


    计算机组成及Linux入门知识

主要技术指标:

  • 存储容量:  一般指存储体所包含的存储单元数量(N)

  • 存取时间(TA):  指存储器从接受命令到读出∕写入数据并稳定在数据寄存器(MDP)输出端

  • 存储周期(TMC):  两次独立的存取操作之间所需的最短时间,通常TMC比TA长

  • 存取速率:  单位时间内主存与外部(如CPU)之间交换信息的总位数

  • 可靠性:  用平均故障间隔时间MTBF来描述,即两次故障之间的平均时间间隔

高速缓冲存储器:

定义:  高速缓冲存储器是由存取速率较快的电路组成小容量存储单元,即在内存的基础上,再增加一层称为高速缓冲存储器

特点:  比主存快5 ~10倍

虚拟存储器:  它是建立在主存-辅存物理结构基础之上,由附加硬件装置及操作系统存储管理软件组成的一种存储体系,它将主存与辅存的地址空间统一编址,形成一个庞大的存储空间,因为实“际上CPU只能执行调入主存的程序,所以这样的存储体系成为“虚拟存储器”

ROM与RAM

RAM(随机存储器)

可读出,也可写入,随机存取,意味着存取任一单元所需的时间相同,当断电后,存储内容立即消失,称为易失性

ROM(只读存储器)

  • 定义:  ROM一旦有了信息,不易改变,结构简单,所以密度比可读写存储器高,具有易失性

  • 分类:

    • 固定掩模型ROM(不能再修改)

    • PROM可编程之读存储器(由用户写入,但只允许编程一次)

    • EPROM可擦除可编程只读存储器(可用紫外线照射擦除里面内容)

    • E2PROM电擦除可编程只读存储器(由电便可擦除里面内容)

辅存(硬盘)

说明:  是以铝合金圆盘为基片,上下两面涂有磁性材料而制成的磁盘

优点:  体积小,重量轻,防尘性好,可靠性高,存储量大,存取速度快,但多数它们固定于主机箱内,故不便携带,价格也高于软盘

性能指标:  转速,超频性能,缓存,单碟容量,传输模式,发热量,容量,平均等待时间

硬盘组成图:

计算机组成及Linux入门知识  计算机组成及Linux入门知识        计算机组成及Linux入门知识

注意:

在整颗磁碟的第一个磁区特别的重要,因为他记录了整颗磁碟的重要资讯! 磁碟的第一个磁区主要记录了两个重要的资讯,分别是:

  • 主要启动记录区(Master Boot Record, MBR):可以安装启动管理程序的地方,有446 bytes
    <MBR是很重要的,因为当系统在启动的时候会主动去读取这个区块的内容,这样系统才会知道你的程序放在哪里且该如何进行启动>

  • 分割表(partition table):记录整颗硬盘分割的状态,有64 bytes

磁盘分区表(partition table):

利用参考对照磁柱号码的方式来切割硬盘分区! 在分割表所在的64 bytes容量中,总共分为四组记录区,每组记录区记录了该区段的启始与结束的磁柱号码. 若将硬盘以长条形来看,然后将磁柱以直条图来看,那么那64 bytes的记录区段有点像底下的图示:

计算机组成及Linux入门知识

上图中我们假设硬盘只有400个磁柱,共分割成为四个分割槽,第四个分割槽所在为第301到400号磁柱的范围.

由於分割表就只有64 bytes而已,最多只能容纳四笔分割的记录, 这四个分割的记录被称为主要(Primary)或延伸(Extended)分割槽. 根据上面的图示与说明,我们可以得到几个重点资讯:

  • 其实所谓的『分割』只是针对那个64 bytes的分割表进行配置而已!

  • 硬盘默认的分割表仅能写入四组分割资讯<主要分割与扩展分配最多可以有四条(硬盘的限制)>

  • 这四组分割资讯我们称为主要(Primary)或延伸(Extended)分割槽

  • 扩展分配最多只能有一个(操作系统的限制)

  • 逻辑分割是由扩展分配持续切割出来的分割槽,如果扩展分配被破坏,所有逻辑分割将会被删除

  • 能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割.扩展分配无法格式化

  • 分割槽的最小单位为磁柱(cylinder)

  • 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号), SATA硬盘则有11个逻辑分割(5号到15号)

  • 当系统要写入磁碟时,一定会参考磁盘分区表,才能针对某个分割槽进行数据的处理

总结:

  • 扇区(Sector)为最小的物理储存单位,每个扇区为 512 bytes;

  • 将扇区组成一个圆,那就是磁柱(Cylinder),磁柱是分割槽(partition)的最小单位;

  • 第一个扇区最重要,里面有:(1)主要启动区(Master boot record, MBR)及分割表(partition table), 其中 MBR 占有 446 bytes,而 partition table 则占有 64 bytes。


输入/输出设备

输入设备

分类:

  • 字符:  键盘

  • 图形:  鼠标器 , 操纵杆 , 光笔

  • 模拟:  语音 , 模数转化

  • 图像:  摄影机 , 扫描仪 , 传真机

  • 光学阅读:  光学标记阅读机 , 光学字符阅读机

键盘分类(以接口类型):

  •  PS∕2接口的

  • USB接口的

  • 无线的

鼠标分类:

  •  PS∕2接口 , USB接口 ( 以接口类型 )

  • 机械式鼠标 , 光电式鼠标 ( 以内部构造 )

  • 两键鼠标 , 三键鼠标 ( 以按键数 )

语音输入设备: 主要部分:  输入器 , 模数转换器 , 语音识别器

输出设备

打印机:

  • 分类:

    • 原理:  用各种物理或化学的方法印刷字符

    • 分类:  激光打印机 , 喷墨式打印

    • 特点:  速度快,质量高,无噪声,但价格高

    • 原理:  利用机械动作打击‘字体’使色带和打印纸相撞

    • 分类:  活字式打印 , 点阵式打印

    • 特点:  结构简单,价格便宜

    • 击打式打印机

    • 非击打式打印机

  • 主要性能指标:  分辨率 , 接口类型 , 打印速度

显示器:

  • 显示器分辨率:  屏幕上光栅的行数和列数

  • 分类:  阴极射线管显示器;  液晶显示器;  等离子显示器

  • 主要技术指标:  像素 , 分辨率 , 屏幕尺寸 , 刷新频率 , 点距 , 像素色彩

输入输出设备接口和控制方式

输入输出设备接口:

  • 数据传送:  串行口;  并行口;  程序型接口;  DMA型接口

  • 通用性:  通用接口;   专用接口

  • 功能选择:  可编程接口;  不可编程接口

输入输出控制方式:

  • 程序查询方式 :
    计算机组成及Linux入门知识

  • 中断控制方式:
    计算机组成及Linux入门知识

  • 直接存储器存取方式

  • 输入输出处理机方式


计算机的时标系统

时序控制方式:

同步控制方式:

  • 定义 将操作时间划分为许多时钟周期,周期长度固定,每个时间周期完成一步操作,各页操作应在规定时钟周期内完成

  • 优缺点

    • 优点:时序关系比较简单,控制部件在结构上易于集中,设计方便

    • 缺点:在时间安排利用上不经济

  • 在同步控制方式中,都有统一的时钟信号,各种微操作都是在这一时钟信息的同步下完成的,称这一时钟信号为计算机主频,其周期称为时钟周期,称完成一个基本操作所需要的时间为机器周期

异步控制方式:

  • 定义 各项操作按其需要选择不同的时间,不受统一时钟周期的约束,各步操作间的衔接与各部件之间信息交换,采取应答的方式

  • 优缺点:

    • 优点:时间紧凑,能按不同部件,设备实际需求分配时间

    • 缺点:是实际异步应答所需控制比较复杂





Linux 发行版是什么,它又与Linux内核有什么联系?


Linux 发行版是什么,它又与Linux内核有什么联系?

Linux内核是计算机操作系统的核心。一个完整的 Linux发行版包括了内核与一些其他与文件相关的操作,用户管理系统,和软件包管理器等一系列软件。每个工具都是整个系统的一小部分。这些工具通常都是一个个独立的项目,有相应的开发者来开发及维护。

前面提到的Linux内核,包括现行版本,以及历史版本(即更早发布的版本)都可以在 www.kernel.org 找到。Linux的众多发行版可能是基于不同的内核版本的。例如:流行的 RHEL6发行版是基于很老但是很稳定的 2.6.32 版本的Linux内核的。其他的一些发行版可能会很快的更新以适应最新的内核版本。需要特别注意的一点是,内核并不是一个非此即彼的命题,例如RHEL6就在2.6.32的内核中引进了新版本内核的许多改进。

各发行版提供的其他基本工具和组成部分还有包括以下的内容:C/C++编译器,gdbdebugger 调试工具,核心系统库应用程序,用于在屏幕上绘图的底层接口以及高级的桌面环境,以及供安装和更新包括内核在内的众多组建的系统

众多不同的Linux发行版满足了不同用户及组织的不同需求。大型商业机构通常倾向于使用来由 Red Hat、 SUSE 及 Canonical (Ubuntu)提供的发行版。

Fedora 是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本。相比RHEL,Fedora打包了显著的更多的软件包。其中一个原因是,多样化的社区参与Fedora的建设;它不只是一家公司。在这个过程中,CentOS用于活动,演示和实验,因为它是对最终用户免费提供的,并具有比Fedora的一个更长的发布周期(通常每隔半年左右发布一个新版本)。

SUSE, SUSE Linux Enterprise Server (SLES), 和openSUSE 之间的关系类似于 Fedora, Red Hat Enterprise Linux, 和CentOS的关系。

Debian是包括Ubuntu在内许多发行版的上游,而Ubuntu又是Linux Mint及其他发行版的上游。Debian在服务器和桌面电脑领域都有着广泛的应用。Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时也提供了最大的和完整的软件仓库给用户。




Linux哲学思想

1、一切皆文件 
    把几乎所有的资源统统抽象为文件形式,包括硬件设备,甚至通信接口等 
    open(),read(),write(),close(),delete(),create(),也就是所谓的crud 增删查改 再加上open close打开 关闭 
2、有众多单一的程序组成,一个程序只能做一件事,组合小程序完成复杂任务 
    也就是每一个程序都是单一的操作,就像程序中的方法(函数)一样,一个方法就是为了完成某种操作而生的 
3、 尽量避免和用户交互 
    目标:易于以编程的方式实现自动化任务,这和程序中的方法不谋而合,程序中的方法也是尽量的不和用户交互,而是做为 一个调用接口出现,完成自动化操作,返回给用户结果。 
4、使用文本文件保存配置信息 
    这样做的意义就是为了简单的使用一个文本文件或者xml文件来保存一些程序的配置,方便管理。


Linux系统命令使用格式及常见简单命令介绍

 Linux系统命令使用格式

     blob.png

    上图就是我们安装好操作系统之后,出现的命令提示符,也就是CLI 接口的界面,这里需要强调一点的是,Linux 用户接口界面分为2种,一种是 
GUI 也就是图形界面接口模式,一种是CLI 也就是命令行接口模式,我们主要使用命令行接口模式。

    [root@localhost ~]# COMMAND 
    命令提示符详解: 
    root :当前登录的用户名 
    localhost: 简写的主机名称 完整的主机名称需要带域名。 
    ~:用户当前的所在目录,current directory 或者也可以说是用户的工作目录 working directory 
    #:命令提示符 
    #:管理员账号的命令提示符 linux 中管理员账号统一为 root 拥有最高权限 
    $:普通用户,非管理员用户,不具有管理员权限,不能执行系统管理类操作 
    注意:建议使用非管理员账号登录,执行管理操作的时候临时切换至管理员,操作完成即退回


常见简单命令介绍

ifconfig


ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

blob.png

说明:

eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:50:56:BF:26:20

inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.120.204,广播地址, Bcast:192.168.120.255,掩码地址Mask:255.255.255.0 

lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。

第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)

第二行:网卡的IP地址、子网、掩码

第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节

第四、五行:接收、发送数据包情况统计

第七行:接收、发送数据字节数统计信息。

实例2:启动关闭指定网卡

命令:

代码如下:

ifconfig eth0 up
ifconfig eth0 down

说明:
ifconfig eth0 up 为启动网卡eth0 ;ifconfig eth0 down 为关闭网卡eth0。




echo

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。

该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [–help][–version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息

tty


Linux tty命令用于显示终端机连接标准输入设备的文件名称。

在Linux操作系统中,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下。你可以执行tty(teletypewriter)指令查询目前使用的终端机的文件名称。

语法

tty [-s][--help][--version]

参数说明

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

  • –help 在线帮助。

  • –version 显示版本信息。

实例

显示当前终端

# tty
/dev/pts/4

starx


切换至GUI接口

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

语法 

startx(参数) 参数 客户端及选项:X客户端及选项; 服务器及选项:X服务器及选项。 

实例

要在工作站上或 X 终端上启动 X 会话,请输入: startx

要在工作站上强制启动 X 会话,请输入:  startx -w 

要为 X 终端启动 X 会话,并注销用户的 telnet 会话,请输入: startx; kill -9 $$


export


Linux export命令用于设置或显示环境变量。

在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。

语法

export [-fnp][变量名称]=[变量设置值]

参数说明

  • -f  代表[变量名称]中为函数名称。

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

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

实例

列出当前所有的环境变量

# export -p //列出当前的环境变量值declare -x HOME=“/root“
declare -x LANG=“zh_CN.UTF-8“
declare -x LANGUAGE=“zh_CN:zh“
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
declare -x LOGNAME=“root“declare -x LS_COLORS=““
declare -x MAIL=“/var/mail/root“
declare -x OLDPWD
declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
declare -x PWD=“/root“declare -x SHELL=“/bin/bash“declare -x SHLVL=“1“
declare -x SPEECHD_PORT=“6560“declare -x SSH_CLIENT=“192.168.1.65 1674 22“
declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
declare -x SSH_TTY=“/dev/pts/2“declare -x TERM=“XTERM“
declare -x USER=“root“declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“


pwd


Linux pwd命令用于显示工作目录。

执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。

语法

pwd [--help][--version]

参数说明:

  • –help 在线帮助。

  • –version 显示版本信息。

实例

查看当前所在目录:

# pwd
/root/test           #输出结果


history


History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 。
1>History命令语法

[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]#
history [-raw] histfiles
参数:
n   :数字,要列出最近的 n 笔命令列表
-c  :将目前的shell中的所有
history 内容全部消除
-a  :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,
则预设写入
~/.bash_history
-r  :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w  :将目前的
history 记忆内容写入
histfiles
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。
如果你键入
history,
history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目,
当然你也可以加入数字来列出最近的 n 笔命令列表。
linux中history命令不仅仅让我们可以查询历史命令而已.
我们还可以利用相关的功能来帮我们执行命令。
2>运行特定的历史命令
history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:
[test@linux]#
[!number]  [!command] [!!]

参数说明
number  
:第几个指令的意思;
command  :指令的开头几个字母
!       
:上一个指令的意思!
3>History命令实战
列出所有的历史记录:
[test@linux] #
history
只列出最近10条记录:
[test@linux] # history 10
(注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[test@linux] #!99
(!和99中间没有空格)
重复执行上一个命令
[test@linux] #!!
执行最后一次以rpm开头的命令(!? 
?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[test@linux]
#!rpm
逐屏列出所有的历史记录:
[test@linux]# history |
more
立即清空history当前所有历史命令的记录
[test@linux] #history -c


shutdown


Linux shutdown命令可以用来进行关机程序,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机。

使用权限:系统管理者。

语法

shutdown [-t seconds] [-rkhncfF] time [message]

参数说明

  • -t seconds : 设定在几秒钟之后进行关机程序

  • -k : 并不会真的关机,只是将警告讯息传送给所有只用者

  • -r : 关机后重新开机

  • -h : 关机后停机

  • -n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机

  • -c : 取消目前已经进行中的关机动作

  • -f : 关机时,不做 fcsk 动作(检查 Linux 档系统)

  • -F : 关机时,强迫进行 fsck 动作

  • time : 设定关机的时间

  • message : 传送给所有使用者的警告讯息

实例

立即关机

# shutdown -h now

指定5分钟后关机

# shutdown +5 “System will shutdown after 5 minutes” //5分钟够关机并显示警告信息


poweroff


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

 语法 poweroff(选项) 选项 

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

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

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

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

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

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

实例

如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 

使用poweroff立即关闭系统: poweroff


reboot


Linux reboot命令用于用来重新启动计算机。

若系统的 runlevel 为 0 或 6 ,则重新开机,否则以 shutdown 指令(加上 -r 参数)来取代

语法

reboot [-n] [-w] [-d] [-f] [-i]

参数

  • -n : 在重开机前不做将记忆体资料写回硬盘的动作

  • -w : 并不会真的重开机,只是把记录写到 /var/log/wtmp 档案里

  • -d : 不把记录写到 /var/log/wtmp 档案里(-n 这个参数包含了 -d)

  • -f : 强迫重开机,不呼叫 shutdown 这个指令

  • -i : 在重开机之前先把所有网络相关的装置先停止

实例

重新启动

# reboot


hwclock


Linux hwclock命令用于显示与设定硬件时钟。

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

语法

hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test][--utc][--version][--set --date=<日期与时间>]

参数

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

  • –debug  显示hwclock执行时详细的信息。

  • –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。

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

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

  • –show  显示硬件时钟的时间与日期。

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

  • –test  仅测试程序,而不会实际更改硬件时钟。

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

  • –version  显示版本信息。

实例

显示当前时间

# hwclock 2010年05月27日 星期四 18时04分31秒 -0.704214 seconds

查看版本信息

# hwclock -vhwclock from util-linux-2.12a


date


1.命令格式:
date [参数]… [+格式]

2.命令功能:
date 可以用来显示或设定系统的日期与时间。

3.命令参数:
必要参数:
%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K
小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r
时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S
秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。

%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c
日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。

%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x
日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。

%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss
秒(选择性)

选择参数:
-d<字符串>  显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串>
 根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u  显示GMT。
–help  在线帮助。
–version
 显示版本信息

4.使用说明:

1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: % :  打印出 %:
%n :
下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l :
小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为
hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S :
秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几
(Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份
(January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期
(mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U :
一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周
(00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字
(00.99)
%Y : 完整年份 (0000..9999)

2.在设定时间方面:

date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523
//设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date
-s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″
//这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523
01:01:01″ //这样可以设置全部时间
3.加减:
date +%Y%m%d         //显示前天年月日
date
+%Y%m%d –date="+1 day"  //显示前一天的日期
date +%Y%m%d –date="-1 day" 
//显示后一天的日期
date +%Y%m%d –date="-1 month"  //显示上一月的日期
date +%Y%m%d
–date="+1 month"  //显示下一月的日期
date +%Y%m%d –date="-1 year" 
//显示前一年的日期
date +%Y%m%d –date="+1 year"  //显示下一年的日期


如何在linux上获取帮助

  • help COMMAND命令可以获取帮助,但是只能查询内建命令。

  • COMMAND –help命令可以查外部命令。

  • man COMMAND手册查询

  • whatis COMMAND 命令能显示在man哪里找,但是并不一定所有命令都能用,需要手动更新数据库,通过makewhatis

  • info COMMAND获取在线文档




man文件内容分布

  • 第一章用户命令

  • 第二章系统调用

  • 第三章C库调用

  • 第四章设备文件&特殊文件

  • 第五章文件格式(配置文件格式说明)

  • 第六章游戏说明

  • 第七章杂项

  • 第八章管理工具和守护进程说明


linux发行版基础目录

  • /bin:供所有用户使用的基础命令程序文件。

  • /sbin:供管理员使用的命令程序文件。

  • /boot:引导加载器必须用到的各种静态文件:kernel,initramfs(initrd),grub等。

  • /dev:存储特殊文件或设备文件;设备有2种类型,字符设备(也叫线性设备,如键盘)和块设备(也叫随机设备,如硬盘)

  • /etc:主机特有配置文件,大部分都是文本文件。不能为二进制文件。至少有/opt子目录。

  • /home:是可选目录,普通用户家目录的集中位置。每个普通用户的家目录默认与用户名同名。

  • /root:管理员的家目录,可选。

  • /lib:为系统启动或根文件上的应用程序(bin/sbin)提供共享库,为内核提供内核模块。

    ld*:运行时链接器/加载器;

    ibc.so.* 动态链接C库;

    modules: 用于存储内核模块的目录;

  • /lib64: 64位系统特有存放64位共享库的路径。

  • /media: 为便携性设备提供挂载点。cdrom

  • /mnt: 其他文件系统的临时挂载点。

  • /opt:附加应用程序的安装位置;可选路径;

  • /srv:主机特有的为服务提供的数据。

  • /tmp:为那些会产生临时文件的程序提供用于存储零时文件的目录

  • /usr:独立层级结构,全局共享的只读数据路径。其下目录文件有:

    bin

    include:C程序头文件

    lib(lib64)

    local:独立层级结构,用户真正安装本地应用的路径。其下也有bin,sbin,man,share……

    sbin

    share:命令手册也和自带文档等架构特有的文件存储位置。

    X11R6:X-Window程序安装位置。

    src:程序源码文件的存储位置。

  • /var:存储常发生变化的数据的目录。其下目录文件有:

    cache: application cache data

    lib: Variable state information

    local: variable data for /usr/local

    lock: lock file

    log: log files and directories

    opt: variable data for /opt

    run: Data relevant to running processes

    spool: Application spool data

    tmp: Temporary files preserved between system reboots


原创文章,作者:dzhdn33,如若转载,请注明出处:http://www.178linux.com/46984

(0)
dzhdn33dzhdn33
上一篇 2016-09-16
下一篇 2016-09-16

相关推荐

  • keepalived高可用haproxy配合varnish实现wordpress的动静分离

    haproxy和nginx都可以作为七层和四层反代服务器对外提供服务,此文通过haproxy和keealived配置varnish搭建wordpress的动静分离站点 一、实验环境 五台虚拟机: haproxy-1:搭建haproxy和keepalived服务,ip地址:192.168.11.176 haproxy-2:搭建haproxy和keepalive…

    2017-07-03
  • 内核编译

    单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制。 内核组成部分核心,一般为bzImage,通常在/boot目录下,名称为vmlinuz-VERSION-RELEASE;: kernel: 内核 kernel object: 内核对象,一般放置于/lib/modules/VERSION-RELEASE/ [ ]: N [M]: M [*…

    Linux干货 2015-11-06
  • N22-第九周作业

    第九周    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现;    #!/bin/bash    #    decl…

    Linux干货 2016-10-24
  • linux文件基本权限、默认权限、隐藏权限和ACL权限

    基本权限    文件属性rwx     每个文件当用ls -l查看时,都会显示文件的详细属性信息,其中在排在首位的共有10位字符信息     例如 -rw-r–rw-. 1 root root …….. 共有10位,第一位代表的是文件的类型,后边9位表示的是文件的…

    Linux干货 2016-08-04
  • 20161019第5天作业

    1、只显示/root下的隐藏文件 ls -d '.'* 2、只显示/etc下的目录 ls -d */ ls -l |grep '^d' ls -F | grep "/$"  &nb…

    Linux干货 2016-10-20
  • C语言结构体里的成员数组和指针

    单看这文章的标题,你可能会觉得好像没什么意思。你先别下这个结论,相信这篇文章会对你理解C语言有帮助。这篇文章产生的背景是在微博上,看到@Laruence同学出了一个关于C语言的题,微博链接。微博截图如下。我觉得好多人对这段代码的理解还不够深入,所以写下了这篇文章。 为了方便你把代码copy过去编译和调试,我把代码列在下面: final void&n…

    Linux干货 2016-05-29

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-20 10:56

    写的很好,通俗易懂,把所以的选项都写下来了,继续保持