计算机组成、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

    相关推荐

    • 网络分层基础概念与TCP,IP协议解析

      网络分层基础概念:   与ISO的OSI网络分层模型不同。网络分层事实上的标准为TCP/IP 的网络分层模型。   下图是他们是他们之间的对应关系。   左边为OSI网络分层模型。右边为TCP/IP的网络分层模型。 网络分层,是将一个大而复杂的网络,拆分为多个层次,每个层次单独完成自己的任务,多个层次再结合起来,完成一个复杂的通…

      2017-05-04
    • iptables

      一、前言 什么是iptables?当我们启动iptables时,使用service命令可以启动iptables。但是并非使用service启动的iptables就能说明其是一个服务。Iptables是一个便以我们写规则的工具,真正起作用的是内核中的netfilter一个框架。Netfilter内置了5个hook函数,当一个数据包交由此机器时,经过这5个hoo…

      Linux干货 2015-10-27
    • 程序包管理:rpm和yum

      rpm命令                              软件包管理 程序包管理 一、概述 (一)API:Application Program Interface  应用编程接口 ABI…

      Linux干货 2016-08-21
    • LAMP快速部署及LAMP组合深入讲解-2

        lamp SQL 数据管理模型:层次模型、网状模型、关系模型数据分类:结构化数据、半结构化数据、非结构化数据 关系模型 数据库:一个方案、一个项目 二维关系: 表:row, column 索引:index 视图:view SQL接口:Structured Query Language;类似于OS的shell接口;也提供编程功能; ANSI: S…

      2017-06-04
    • 正则表达式

      1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法,它是以行为单位进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某特定字符串的处理程序。 2:一些参数: grep [-A] [-B] [–color=auto] ‘收索字符串’ filename -A :后面可加数字…

      2017-07-29
    • shell脚本之until循环

      一、用until实现下列脚本 1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。 #!/bin/bash #author:jackCui #description:Find out if the sys…

      Linux干货 2016-08-18

    评论列表(1条)

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

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