第一周博客 计算机组成及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)
TK_linTK_lin
上一篇 2017-12-02
下一篇 2017-12-02

相关推荐

  • 数据结构-栈和队列

    1.栈 1.1 栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表。 栈的基本运算有六种: 构造空栈:InitStack(S)、 判栈空: StackEmpty(S)、 判栈满: StackFull(S)、 …

    Linux干货 2015-04-07
  • shell中$(( ))、$( )、“与${ }的区别

    shell中$(( ))、$( )、“与${ }的区别,包括其简单用法。

    2017-09-11
  • Shell脚本编程基础中() (()) [ ] [[ ]] 的使用

    Shell脚本编程基础中() (()) [ ] [[ ]] 的使用 () 生成子进程,括号内的命令将会在子进程中运行,父进程不能够读取在子进程中创建的变量 例: 新建个脚本文件,写入 则执行结果为 $()相当于 ` `  ,返回括号内命令执行结果 (( )) 用作四则运算和逻辑运算,并且支持多个表达式 例: 当 (( )) 加$,则是将获得表达式值,赋值给左…

    2017-11-26
  • LINUX HASH命令

    LINUX:Hash命令 介绍:linux系统下会有一个hash表,刚开始这个hash表为空,每执行过一条命令hash表会缓存下这条命令。Shel优先会查看hash表。 hash缓存表可大大提高命令的调用速率 下面介绍几个hash常用选项 刚进入系统使用Hash命令 哈希表为空 使用过命令后使用Hash命令 使用过命令后,Hash可显示缓存的命令 Hash …

    Linux干货 2017-04-03
  • 内置数据结构,列表及其方法

    List:列表有若干个元素,元素可以是任意对象,元素有顺序,可以使用索引和迭代,使用线性结构,使用[ ]进行描述,在内存中的空间是连续的,每个元素在内存中的空间是一样的………列表是可变的,列表不能一开始就定义大小,列表索引不可以超界   列表索引l.index(),从左向右搜索,发现第一个匹配的,自动返回搜索的值的索引;匹配不到,抛出异常Value…

    Linux干货 2018-03-25
  • python-多进程

    进程是由系统自己管理的。 1:最基本的写法 from multiprocessing import Pool def f(x):     return x*x if __name__ == '__main__': &nb…

    Linux干货 2016-11-05