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

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

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

摘要

1、描述计算机组成及其功能。
2、描述罗列Linux的发行版,并描述不同发行版之间的联系和区别。
3、描述Linux的哲学思想,并按照自己的理解对其进行解释。
4、说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、export、pwd、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基础入门

操作系统的功能:

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

二、Linux发行版简介

发行版 特点
Ubuntu 安装简单,默认采用的GNOME桌面系统,并且Ubuntu采用自行加强的内核(kernel),安全性方面更上一层楼。并且,Ubuntu默认不能直接root登陆,必须从第一个创建的用户通过su或sudo来获取root权限。Ubuntu 的版本周期为六个月,弥补了Debian 更新缓慢的不足。而且具有人 气颇高的论坛提供优秀的资源和技术支持,固定的版本更新周期和技术支持,适于新手使用。
openSUSE SUSE 是Novell 公司的著名Linux 发行版,自主开发的专业,易用的YaST 软件包管理系也大受好评。SUSE 是一个非常专业、优秀的发行版,一向以华丽的用户界面著称。使用方便,也是当前最流行的版本之一,适于新手使用。
Debian Debian 是迄今为止,最遵循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网络接口的系统管理工具

R`5K6T9J8__T4QL9H~YXP%8

 

  • 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 显示版本信息

    U4]~])T{`]D_$[{YVTORL3R

    参考文档: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:显示版本信息

    4]08SZ(X3I[(ET{{6V_Y}H3

    参考文档:每天一个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'

CJTYZPNQ7}%{$QVJV8`C7_9

参考文档:每天一个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 用于存储内核模块的目录
/lib64 64位系统特有的存放64位共享库的路径
/media 便携性设备挂载点 cdrom ,floppy等
/mnt 其他文件系统临时挂载点
/opt 附加应用程序/第三方程序的安装位置,可选路径
/srv 当前主机为服务提供的数据
/tmp 为那些会产生临时文件的程序提供用于存储临时文件的目录,供所有用户执行写入操作,有特殊权限
/usr 全局共享只读数据路径文件
/var 存储经常发生变化的数据的目录
/proc 基于内存的虚拟文件系统,用于为内核及进程存储其相关信息 ,他们多为内核参数
/sys sysfs虚拟文件系统提供一种比proc更为理想的访问内核数据的途径,其主要作用在于为管理linux设备提供一种统一模型的接口

文件名使用法则:

 1、严格区分字符大小写:file1 File1 FILE1 并不是一个文件
 2、目录也是文件,在同一路径下,两个文件不能同名
 3、支持使用除”/“以外的任意字符;
 4、最长不得超过255个字符            

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

(1)
上一篇 2017-12-02 10:51
下一篇 2017-12-02 16:08

相关推荐

  • Cobbler 自动化部署系统

    本人较懒,做好笔记,预排版,打印成 PDF 了。-_## Cobbler 自动化部署系统.pdf

    Linux干货 2015-08-17
  • Linux 的硬链接与软链接的区别

       链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。通俗一点无非是把文件名和计算机文件系统使用的节点号链接起来。   linux中链接有硬链接和软连接之分,首先我们来介绍硬链接,硬链接相当于创建了文件的第二个名字,增加了额外的记录项用来引用文件,还是隶属与同一文件系统上,是同一个物理…

    Linux干货 2016-10-20
  • 第六周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;          cp/etc/rc.d/rc.sysinit /tmp/     &nbs…

    2017-09-04
  • 编译内核制作小型的linux

    1.  前言       今天我将会给大家带来如何定制一个属于自己linux系统,也就是编译内核,那为什么要编译内核呢? 内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统管理,决定着系统的性能和稳定性。Linux作为一个自由软件,在广 大爱好者的支持下,内核版本不…

    Linux干货 2016-08-03
  • shell-变量

    bash中变量的种类 根据变量的生效范围等标准:     本地变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效     环境变量:生效范围为当前shell进程及其子进程    …

    Linux干货 2016-08-21
  • VSFTP通过pam_mysql插件创建进行基于mysql的虚拟用户

      1、对pam_mysql-0.7RC1包进行编译安装 编译安装环境配置 编译安装所需的包如下: ~]#yum -y groupinstall "Development Tools" "Server Platform Development" ~]#yum -y install mariadb-server…

    Linux干货 2016-11-14