计算机组成、Linux命令基础

计算机组成

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

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

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

  4. 输入(Input system): 输入设备的作用是将程序、原始数据、文字、字符、控制命令或现场采集的数据等信息输入到计算机。

  5. 输出(Output system):把外算机的中间结果或最后结果、机内的各种数据符号及文字或各种控制信号等信息输出出来。

Linux发行版

  • Debian

    • ubuntu:界面华丽

    • mint

    • knopix

  • Slackware

    • SLES

    • OpenSUSE

    • S.u.S.E

    • RedHat:

      • Redhat 9.0:
           *               RedHat Enterprise Linux: RHEL
                      *                    CentOS: Community ENTerprise OS
           *           Fedora Core:6个月更新一次。

    Linux的哲学思想:

    1. 一切皆文件:
      把几乎所有资源统统抽象为文件形式;包括硬件设备,甚至通信接口等;            open(), read(), write(), close(), delete(), create()

    2. 由众多功能单一的程序组成;一个程序只做一件事,并且做好;    组合小程序完成复杂任务;

    3. 尽量避免跟用户交互;目标:易于以编程的方式实现自动化任务;

    4. 使用文本文件保存配置信息;

    Linux基础命令:

    命令的语法通用格式:
           # COMMAND OPTIONS ARGUMENTS

    1. ifconfig(ip addr list):查看活动接口的ip地址;

    2. echo:回显
      echo [SHORT-OPTION]… [STRING]…
      -n: 不进行换行;
      -e:让转义符生效;
      \n:换行
      \t:制表符
      STRING可以使用引号,单引号和双引号均可用;
      单引号:强引用,变量引用不执行替换;
      ~]# echo ‘$SHELL’
      双引号:弱引用,变量引用会被替换;
      ~]# echo “$SHELL”

    3. tty:查看当前的终端设备;

    4. startx: 驱动GUI。

    5. pwd: printing working directory
                 显示工作目录

    6. history:
      命令历史:shell进程在其会话中保存此前用户提交执行过的命令;
           ~]# history
                 定制history的功能,可通过环境变量实现:
                     HISTSIZE:shell进程可保留的命令历史的条数;
                     HISTFILE:持久保存命令历史的文件;
                         .bash_history
                     HISTFILESIZE:命令历史文件的大小;
          命令用法:
                 history [-c] [-d 偏移量] [n]  
                 或 history -anrw [文件名]  
                 或 history -ps 参数 [参数…]
                 -c: 清空命令历史;
                 -d offset:删除指定命令历史
                 -r: 从文件读取命令历史至历史列表中;
                 -w:把历史列表中的命令追加至历史文件中;
                 history #:显示最近的#条命令;
             调用命令历史列表中的命令:
                 !#:再一次执行历史列表中的第#条命令;
                 !!:再一次执行上一条命令;
                 !STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;
                     注意:命令的重复执行有时候需要依赖于幂等性;
             调用上一条命令的最后一个参数:
                 快捷键:ESC, .
                 字符串:!$
             控制命令历史记录的方式:
                 环境变量:HISTCONTROL
                     ignoredups:忽略重复的命令;
                     ignorespace:忽略以空白字符开头的命令;
                     ignoreboth:以上两者同时生效;
                 修改变量的值:
                     NAME=’VALUE’

    7. 关机或重启命令:shutdown
      shutdown [OPTIONS…] [TIME] [WALL…]

      • OPTIONS:
                       -h: halt
                       -r:reboot
                       -c:cancel

      • TIME:
                       now
                       hh:mm
                       +m
                           +0

      • WALL

    8. wclock, clock:硬件时钟
                     显示或设定硬件时钟
                         -s, –hctosys:以硬件为准,把系统调整为与硬件时间相同;
                         -w, –systohc:以系统为准,把硬件时间调整为与系统时钟相同;

    9. date:系统时钟
      显示日期时间:date [OPTION]… [+FORMAT]

      • FORMAT:格式符
                           %F
                           %T
                           %Y
                           %m
                           %d
                           %H
                           %M
                           %S
                           %s: 从1970年1月1号(unix元年)0点0分0秒到命令执行那一刻经过的秒数;
                           …

      • 设定日期时间:date [MMDDhhmm[[CC]YY][.ss]]

    Linux帮助命令

    获取命令的使用帮助:

    • 内部命令:
             help COMMAND

    • 外部命令:

      • SECTION:
                   NAME:功能性说明
                   SYNOPSIS:语法格式
                   DESCRIPTION:描述
                   OPTIONS:选项
                   EXAMPLES:使用示例
                   AUTHOR: 作者
                   BUGS: 报告程序bug的方式
                   SEE ALSO: 参考
                   …

      • SYNOPSIS:  
                   []:可选内容;
                   <>:必须提供的内容;
                   a|b|c:多选一;
                   …:同类内容可出现多个;

      • 使用手册:压缩格式的文件,有章节之分;
               /usr/share/man
                   man1, man2, …
                   1:用户命令;
                   2:系统调用;
                   3:C库调用;
                   4:设备文件及特殊文件;
                   5:文件格式;(配置文件格式)
                   6:游戏使用帮助;
                   7:杂项;
                   8:管理工具及守护进行;
               ~]# man CHAPTER COMMAND
                   注意:并非每个COMMAND在所有章节下都有手册;
                       查看:
                           ~]# whatis COMMAND
                           注意:其执行过程是查询数据库进行的;
                               手动更新数据库:
                                   ~]# makewhatis

      • man命令打开手册以后的操作方法:
               翻屏:
                   空格键:向文件尾翻一屏;
                   b: 向文件首部翻一屏;
                   Ctrl+d:向文件尾部翻半屏;
                   Ctrl+u:向文件首部翻半屏;
                   回车键:向文件尾部翻一行;
                   k: 向文件首部翻一行;
                   G:跳转至最后一行;
                   #G: 跳转至指定行;
                   1G:跳转至文件首部;
               文本搜索:
                   /keyword:从文件首部向文件尾部依次查找;不区分字符大小写;
                   ?keyword:从文件尾部向文件首部依次查找;
                       n: 与查找命令方向相同;
                       N: 与查找命令方向相反;
               退出:
                   q: quit

      • 命令自带简要格式的使用帮助
               # COMMAND –help

      • 使用手册:manual
               位置:/usr/share/man
               # man COMMAND

    Linux基础目录

    • Filesystem Hierarchy Standard

      • /bin:所有用户可用的基本命令程序文件;

      • /sbin:供系统管理使用的工具程序;

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

      • /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:usr Hierarchy,全局共享的只读数据路径;
               bin, sbin
               lib, lib64
               include:C程序头文件;
               share:命令手册页和自带文档等架构特有的文件的存储位置
               local:另一个层级目录;
               X11R6:X-Window程序的安装位置
               src:程序源码文件的存储位置

      • /usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;

      • /var:/var Hierarchy,存储常发生变化的数据的目录;
               cache   Application cache data
               lib     Variable state information
               local   Variable data for /usr/local
               lock    Lock files
               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

      • /proc:基于内存的虚拟文件系统,用于为内核及进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;

      • /sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;

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

    (0)
    conanconan
    上一篇 2016-09-19
    下一篇 2016-09-19

    相关推荐

    • 硬链接和软链接的区别

      硬链接和软链接的区别 1、概念 在linux中,链接可分为两种:一种为硬链接,另一种为软链接。硬链接:ln 源文件 目标文件软链接:ln -s(soft)源文件 目标文件 硬链接 硬链接是指通过索引节点inode来进行链接。linux系统中每个文件对应一个inode,并且允许多个文件名指向用一个inode。这种情况的文件就成为硬链接。它的作用之一就是允许一个…

      Linux干货 2017-07-23
    • 用户和组的配置文件

      一.linux上的用户和组   linux上的用户:       linux上的用户即Username/UID分为以下类别:         管理员:root,0    …

      Linux干货 2016-10-23
    • 全面解析文件文件系统

      前言: 文件系统作为linux总最基础的但愿。理解并深入了解文件系统对linux的学习有重要意义。我们从文件系统创建,构成以及工作流程几个方面全方位的介绍文件系统的相关概念。 简述: 一块完整的磁盘经过分区后我们就可以通过格式化,根据我们的需求构建文件系统能使用的文件系统格式。传统的文档系统中,一个分区就只能够被格式化为一个文件系统。所以我们可以说一个文件系…

      Linux干货 2016-11-14
    • 集中练习2

      用户管理、文本处理、文件管理相关

      2017-09-20
    • N26_第二周作业

      一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 文件管理命令:cp,mv,rm 1、cp命令 功能说明:复制copy语法格式:        单源复制:  cp [OPTION]… [-T] SOURCE DEST  …

      Linux干货 2017-02-21
    • LVM(重要)

      LVM   LVM(Logical Volume Manger),是一种磁盘分区管理机制,可以灵活的调整分区的大小。它是将多个硬盘组成卷组的形式实现的。说白了就是通过软件来实现对分区灵活管理。   LVM是将多块硬盘组成PV,再由PV组成VG,VG再组成lv,然后在lv上创建文件系统。   物理存储介:指的就是硬盘等,最基本的存储单元。   PV(physi…

      Linux干货 2016-08-30

    评论列表(1条)

    • 马哥教育
      马哥教育 2016-09-20 11:22

      可以多列举一些常用命令的常用参数,加油