第一周 计算机组成及Linux基础入门

第一周 计算机组成及Linux基础入门

摘要

1、描述计算机组成及其功能。
2、描述罗列Linux的发行版,并描述不同发行版之间的联系和区别。
3、描述Linux的哲学思想,并按照自己的理解对其进行解释。
4、说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、exportpwd、history、
      shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例说明阐述。
5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分。
6、请罗列Linux发行版的基础目录名称命名法则及功能规定。

一、计算机的组成及其功能

计算机概念:

电子计算机,也叫做电脑(computer),是一种用于高速计算的电子计算机器,通过计算机,可以实现计算、存储等功能电子计算机,也叫做电脑(computer)。

计算机组成结构:

计算机一般是由控制器、运算器、存储器、输入设备、输出设备 这五个部分组成。

  1. 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。

  2. 运算器(Datapath):运算器的功能是对数据进行各种算术运算和逻辑运算,即对数据进行加工处理。

  3. 存储器(Memory):存储器的功能是存储程序、数据和各种信号、命令等信息,并在需要时提供这些信息。

  4. 输入(Input system):输入设备是计算机的重要组成部分,输入设备与输出设备合你为外部设备,简称外设,输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。常见的输入设备有键盘、鼠标器、光电输入机、磁带机、磁盘机、光盘机等。

  5. 输出(Output system):输出设备与输入设备同样是计算机的重要组成部分,它把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。微机常用的输出设备有显示终端CRT、打印机、激光印字机、绘图仪及磁带、光盘机等。

操作系统的功能:
    驱动程序
    进程管理
    安全
    网络功能
    内存管理
    文件系统
    ......

二、Linux发行版简介

发行版特点
Ubuntu安装简单,默认采用的GNOME桌面系统,并且Ubuntu采用自行加强的内核(kernel),安全性方面更上一层楼。并且,Ubuntu默认不能直接root登陆,必须从第一个创建的用户通过su或sudo来获取root权限。Ubuntu 的版本周期为六个月,弥补了Debian 更新缓慢的不足。而且具有人 气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,适于新手使用。
openSUSESUSE 是Novell 公司的著名Linux 发行版,自主开发的专业,易用的YaST 软件包管理系也大受好评。SUSE 是一个非常专业、优秀的发行版,一向以华丽的用户界面著称。使用方便,也是当前最流行的版本之一,适于新手使用。
DebianDebian 是迄今为止,最遵循GNU 规范的Linux 系统。dpkg 是Debian 系列特有的软件包管理工具,它被誉为所有Linux 软件包管理工具(比如RPM ) 最强大的!配合apt-get ,在Debian 上安装、升级、删除和管理软件变得异常容易。Debian 具有优秀的网络和社区资源,强大的apt- get ,许多发行版都是基于Debian 的,最有影响力的发行版之一。不过Debian 安装相对不易,stable 分支的软件极度过时,不适于新手使用。
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各个发行版的区别

三、Linux的哲学思想

1、一切皆文件
    把几乎所有资源统一抽象为文件形式;包括硬件设备,通信接口等。
2、由众多功能单一的程序组成
    一个程序只做一件事,并做好。
       组合小程序完成复杂任务。
3、尽量避免和用户交互
    目标:易于以编程的方式实现自动化任务
4、使用文本文件保存配置信息:

四、Linux系统上命令的使用格式

基础命令格式:
    localhost ~]#COMMAND [OPTIONS] [ARGUMENTS]
                   命令     选项       参数
        选项:用于启动或者关闭命令的某个或某些功能
           短选项:-c -a等多个短选项可以合并使用
           长选项:由两个连字符和一些大小写字母组合的单词构成,如--word 或者--long 等
        参数:命令的作用对象(向命令提供数据),命令的参数可以有一个或者多个发起一命令:
        请求内核将某个二进制程序运行为一个进程;
            程序 --> 进程
            静态 --> 动态(有生命周期)
        命令本身是一个可执行的程序文件:二进制格式的文件,有可能会调用共享库文件;
            多数系统程序文件都存放在:/bin, /sbin, /usr/bin, /usr/sbin,/usr/local/bin, /usr/local/sbin
            普通命令:/bin, /usr/bin, /usr/local/bin
            管理命令:/sbin, /usr/sbin, /usr/local/sbin
        共享库:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64
            32bits的库:/lib, /usr/lib, /usr/local/lib
            64bits的库:/lib64, /usr/lib64, /usr/local/lib64
            注意:并非所有的命令都有一个在某目录与之对应的可执行程序文件
        命令必须遵循特定格式规范:exe, msi, ELF(Linux)
            ~]# file /bin/ls
        命令分为两类:
            由shell程序的自带的命令:内置命令(builtin)
            独立的可执行程序文件,文件名即命令名:外部命令
        shell程序是独特的程序,负责解析用户提供的命令;
            环境变量:
                PATH:从哪些路径中查找用户键入的命令字符串所对应的命令文件;
                    ~]# echo $PATH
                    /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
                    查找次序:自左而右;
            查看命令类型:
                type COMMAND
        OPTIONS:
            指定命令的运行特性;
        选项有两种表现形式:
            短选项:-C, 例如-l, -d
                注意:有些命令的选项没有-;
                如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
            长选项:--word, 例如--help, --human-readable
                注意:长选项不能合并;

            注意:有些选项可以带参数,此称为选项参数;
终端介绍:
 1、物理终端:我们将显示器、键盘鼠标直接连接在主机上的接口,这样的终端称为物理终端,即本机自带,我们也称为物理控制台console表示/dev/console
 2、虚拟终端:系统会提供用户6个虚拟终端,这些虚拟终端是附加在物理终端上的,用软件方式虚拟实现的终端console默认启用6个虚拟终端,可以通过快捷键进行切换,切换方式为:Ctrl-Alt-F[1-6],表示:/dev/tty#
 3、图形终端:附加在物理终端上,,用软件方式虚拟实现的功能,但是额外会提供煮面环境,切换方式:Ctrl-Alt-F7
 4、伪终端:图形界面下打开的命令行接口,还有基于ssh协议或telnet协议等远程打开的命令行界面,表示:/dev/pts/# 。查看当前的终端设备命令:tty COMMAND
交互式程序
    GUI:图形化界面,基于X协议实现的窗口管理器
        Linux桌面系统是由:
            GNOME,KDE,XFCE
    CLI:命令行界面。对应的叫shell程序,用户需要用过shell实现与系统的交互        
        shell程序版本: 
            sh,csh,ksh,bash,zsh
        获取当前环境使用的shell:
            localhost ~]# echo $SHELL
        显示当前系统使用的所有shell:
            localhost ~]# cat /etc/shells 
Linux基础命令
  • ifconfig

    语法:
    ifconfig [-v] [-a] [-s] [interface]
    ifconfig [-v] interface [aftype] options | address …
    作用:
    Unix-like系统中用于查看以及配置网络接口设备的系统管理工具。其作用等同于ip addr,
    作用于类Unix系统中,用于配置、控制及查询TCP/IP网络接口的系统管理工具

~]# ifconfig -a
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.128  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::20c:29ff:feb1:8e6b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b1:8e:6b  txqueuelen 1000  (Ethernet)
        RX packets 54896  bytes 5035691 (4.8 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5394  bytes 678551 (662.6 KiB)
        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 140  bytes 12252 (11.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 140  bytes 12252 (11.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • echo

    语法:
    echo [SHORT-OPTION]… [STRING]…
    echo LONG-OPTION
    作用:
    回显命令,用来将字符串输出到终端上。它通常在shell脚本中使用,以将状态信息输出到屏幕或文件中
    参数:
    -n 不要在最后自动换行
    -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
    文字输出:
    \a 发出警告声;
    \b 删除前一个字符;
    \c 最后不加上换行符号;
    \f 换行但光标仍旧停留在原来的位置;
    \n 换行且光标移至行首;
    \r 光标移至行首,但不换行;
    \t 插入tab;
    \v 与\f相同;
    \ 插入\字符;
    \nnn 插入nnn(八进制)所代表的ASCII字符;
    –help 显示帮助
    –version 显示版本信息

[root@localhost ~]# echo -n helloworld
helloworld[root@localhost ~]# echo helloworld
helloworld

参考文档:echom命令详解

  • tty

    语法:
    tty [OPTION]…
    作用:
    查看当前终端对应的设备

  • startx

    语法:
    startx(参数)
    作用:
    用来启动X Window,实际上启动X Window的程序为xinit。

  • export

    语法:
    BASH BUILTIN COMMANDS
    作用:
    设置或显示环境变量。
    参数:
    -f:代表[变量名称]中为函数名称。
    -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
    -p:列出所有的shell赋予程序的环境变量。
    参考文档:linux export 的作用

  • pwd

    语法:
    pwd [OPTION]…
    作用:
    以绝对路径的方式显示用户当前工作目录
    参数:
    一般情况下不带任何参数,如果目录是链接时:
    -P:显示出实际路径,而非使用连接(link)路径。
    –help:显示帮助信息
    –version:显示版本信息

[root@localhost ~]# pwd -P
/root
[root@localhost ~]# pwd
/root

参考文档:每天一个linux命令(3):pwd命令

  • history

    语法:
    BASH BUILTIN COMMANDS
    作用:
    用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区
    系统在关闭后会将现有history内容保存在文件~/.bash_history
    系统默认保留1000条
    参数:
    -c:清空当前历史命令
    -a:将历史命令缓冲区中命令写入历史命令文件中
    -r:将历史命令文件中的命令读入当前历史命令缓冲区
    -w:将当前历史命令缓冲区命令写入历史命令文件中
    n:打印最近n条历史命令(n为数字)
    参考文档:Linux基础知识之history的详细说明

  • shutdown

    语法:
    shutdown [OPTIONS…] [TIME] [WALL…]
    作用:
    用于安全的关闭/重启计算机
    参数:
    - k 不执行任何关机操作,只发出警告信息给所有用户
    - r 重新启动计算机 ,相关重启操作命令有shutdown -r ,reboot,init 1等
    - h 关机并彻底断电,等同于halt,相关关机操作命令有halt,shutdown -h now,poweroff,init 0等
    - f 快速关机且重启动时跳过fsck
    - n 快速关机不经过init程序
    - c 取消之前的定时关机
    time:
    - now 马上
    - hh:mm 具体时间
    +0 几分钟后执行操作
    wall:广播信息至所有用户都能看见
    /]# shutdown -r +15 “15分钟后将重启机器”

  • poweroff

    语法:
    poweroff [OPTIONS…]
    作用:
    用于安全的关机
    参数:
    -n:关闭操作系统时不执行sync操作
    -w:不真正关闭操作系统
    -d:关闭操作系统时,不将操作写入日志文件 \
    -f:强制关闭系统
    -i:关闭系统之前关闭所有的网络接口
    -h:关闭操作系统之前将系统中所有的操作设置为备用模式

  • reboot

    语法:
    reboot [OPTIONS…]
    作用:
    用于安全的重启
    参数:
    -d:重新开机时不把数据写入数据文件/var/tmp/wtmp
    -f:强制重新开机,不调用shutdown指令的功能
    -i:在重开机之前,先关闭所有网络界面
    -n:重开机之前不检查是否有未结束的程序
    -w:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件

  • hwclock

    语法:
    hwclock [function] [option…]
    作用:
    显示与设定硬件时钟。在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
    参数:
    –adjust  hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用–adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
    –debug  显示hwclock执行时详细的信息。
    –directisa  hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
    –hctosys  将系统时钟调整为与目前的硬件时钟一致。
    –set –date=<日期与时间>  设定硬件时钟。
    –show  显示硬件时钟的时间与日期。
    -s –systohc  将硬件时钟调整为与目前的系统时钟一致。
    –test  仅测试程序,而不会实际更改硬件时钟。
    –utc  若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
    –version  显示版本信息。
    以硬件为准,把系统调整为与硬件时间相同
    ~]# hwclock -s –hctosys
    以系统为准,把硬件时间调整为与系统一致
    ~]# hwclock -w –systohc

  • date

    语法:
    date [OPTION]… [+FORMAT]
    date [-u|–utc|–universal] [MMDDhhmm[[CC]YY][.ss]]
    作用:
    date 可以用来显示或设定系统的日期与时间
    参数(常用):
    -d<“字符串”>:显示字符串所指的日期与时间
    -s<“字符串”>:根据字符串设置的日期与时间
    %F:年月日
    %T:小时分钟秒
    %Y:年
    %m:月
    %d:日
    %H:小时(24小时进制)
    %S:秒
    %s:秒(从1970-01-01 00:00:00 开始到命令执行那一刻的秒数 unix元年)

    日期书写格式:
    date [MMDDhhmm[[CC]YY][.ss]]
    ~]# date -s ‘2017-10-12 17:26:00’

[root@localhost ~]# date +%F
2017-11-29
[root@localhost ~]# date +%T
10:46:30
[root@localhost ~]# date +"%F %T"
2017-11-29 10:46:48

参考文档:每天一个linux命令(37):date命令

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

内建命令与外部命令
内建命令:help COMMAND
    语法:help(选项)(参数)
    作用:用于显示shell内部命令的帮助信息
    参数:-s:输出短格式的帮助信息。仅包括命令格式 
外部命令: man COMMAND
    语法: man(选项)(参数)
        SECTION:
                    NAME:功能性说明
                    SYNOPSIS:语法格式
                    DESCRIPTION:描述
                    OPTIONS:选项
                    EXAMPLES:使用示例
                    AUTHOR: 作者
                    BUGS: 报告程序bug的方式
                    SEE ALSO: 参考
                    ...
        SYNOPSIS: 
                    []:可选内容;
                    <>:必须提供的内容;
                    a|b|c:多选一;
                    ...:同类内容可出现多个;
   作用:可以使用man手册获取帮助
man使用手册:
压缩格式的文件,有章节之分(共8个章节)
/usr/share/man,man1,man 2 ...................
    1、用户命令:
    2、系统调用:
    3、C库调用:
    4、设备文件及特殊文件
    5、文件格式:(配置文件说明)
    6、 游戏使用说明
    7、杂项
    8、管理工具和守护进程         
man手册查看方法/快捷键:
空格键:向文件尾部翻一页
B键 :  向文件首部翻一页
CTRL+D :向文件尾部翻半页
CTRL+K  :向文件首部翻半页
ENTER:  向文件尾部翻一行
K建:向文件首部翻一行
G键:跳转至全文最后一行
#G: 跳转至制定行  ,eg:2G,3G
1G:跳转文件首行
文本搜索功能:
    /keyword  :从文件首部向文件尾部依次查  或者  ?leyword  :从文件尾部向文件首部依次查找
    keyword   换成需要查找的文件,n/N上下查找 ,查找时不区分大小写
    n:与查找命令方向相同
    N:与查找命令方向相反
    退出查找:q

六、Linux发行版的基础目录名称命名法则及功能规定

FHS:文件系统层级结构标准
目录用途
/bin所有用户可用的基本命令程序文件
/sbin供系统管理员使用的工具程序
/boot引导加载器所依赖的静态文件,一般有内核、initramfs、prub等,开机后该目录无用,下次重启会再次启动
/dev存储特殊文件、设备文件,设备有两种类型 字符设备(线性设备) 块设备(随机设备)
/etc存放系统程序的配置文件
/home普通用户的家目录的集中位置,层级结构 /home/USERNAME 一般每个普通的家目录认为此目录下能与用户名同名的子目录
/root管理员家目录
/lib共享库文件和内核模块 为系统启动和根文件系统上的应用程序(/bin /sbin) 提供共享库,以及为内核提供内核模块。libc.so.* 动态连接的C库,ld* 运行时链接器/加载器,modules 用于存储内核模块的目录
/lib6464位系统特有的存放64位共享库的路径
/media便携性设备挂载点 。比如cdrom ,floppy等
/mnt其他文件系统临时挂载点
/opt附加应用程序/第三方程序的安装位置,可选路径
/srv当前主机为服务提供的数据
/tmp为那些会产生临时文件的程序提供用于存储临时文件的目录,供所有用户执行写入操作,有特殊权限
/usr全局共享只读数据路径文件
/var存储经常发生变化的数据的目录
/proc基于内存的虚拟文件系统,用于为内核及进程存储其相关信息 ,他们多为内核参数
/syssysfs虚拟文件系统提供一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理linux设备提供一种统一模型的接口
文件名使用法则:
 1、严格区分字符大小写:file1 File1 FILE1 并不是一个文件
 2、目录也是文件,在同一路径下,两个文件不能同名
 3、支持使用除”/“以外的任意字符;
 4、最长不得超过255个字符            
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值