走进Linux(一)

一、计算机基础

世界上第一台计算机于1946年诞生于美国宾夕法尼亚大学,名叫:ENIAC。

    计算机主要由硬件系统和软件系统两部分组成:

    1、组成硬件的五大部分:

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

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

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

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

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

       其中,控制器和运算器组成了计算机的中央处理器,也就是CPU。

     2、软件系统主要分系统软件应用软件:

  •  系统软件:操作系统如Windows,linux,Dos,unix等、程序语言设计、语言处理程序如汇编语言汇编器,C语言编译、连接器、数据库管理程序、系统辅助程序。

  •  应用软件办公软件如word,excel,图形处理软件如Photoshop等等。

二、linux系统基础知识

    1981年8月Linus Torvads宣布成立Linux

    1、发展到今天,linux已经发行了超过数百种,下面主要介绍三大发行版及其衍生版:

  •      Redhat:

       RedHat Enterprise Linux: RHEL

          CentOS: Community ENTerprise OS

       Fedora 

     Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server,收费版本)、Fedora Core(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。而我们学习过程中使用的就是CentOS。

  •      Debian:

       ubuntu

          mint

        knopix

      Debian,或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux操作系统的典范,是迄今为止最遵循GNU规范的Linux系统。

  •      Slackware:

       S.u.S.E

          SLES

        OpenSUSE

    Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则。一开始,配置系统会有一些困难,但是更有经验的用户会喜欢这种方式的透明性和灵活性。 Slackware 很多特性体现出了KISS原则,最为有名的一些例子就是不依赖图形界面的文本化系统配置、传统的服务管理方式和不解决依赖的包管理方式。它的最大特点就是安装灵活,目录结构严谨,版本力求稳定而非追新。

    2、Linux哲学思想

  •   一切皆文件。包括程序、硬件设备、通信接口等等,通通表现为文件。

  •   由众多功能单一的程序组成,一个程序只做一件事,复杂的任务由众多的小程序组合完成。

  •   尽量避免与用户交互。避免误操作,以编程的方式实现自动化任务。

  •   使用文本文件保存配置信息。

    3、Linux文件系统

          Linux文件系统遵循FHS(Filesystem Hierarchy Standard)文件系统层级标准。

  •  整个的Linux目录呈倒置的树状结构,linux系统基础目录:

          /:表示根目录

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

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

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

          /dev:存储特殊文件或设备文件;设备有两种类型:字符设备(线性设备)、块设备(随机设备);

          /etc:系统程序的配置文件,只能为静态;

          /home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;

          /root:管理员的家目录;可选;

          /lib:为系统启动或根文件系统上的应用程序(/bin, /sbin等)提供共享库,以及为内核提供内核模块

          /lib64:64位系统特有的存放64位共享库的路径;

          /media:便携式设备挂载点,cdrom, floppy等;

          /mnt:其它文件系统的临时挂载点;

          /opt:附加应用程序的安装位置;可选路径;

          /srv:当前主机为服务提供的数据;

          /tmp:为那些会产生临时文件的程序提供的用于存储临时文件的目录;可供所用户执行写入操作;有特殊权限;

          /usr:usr Hierarchy,全局共享的只读数据路径;

          /var:/var Hierarchy,存储常发生变化的数据的目录;

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

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

  •  Linux系统文件类型:

    -:常规文件

    d: 目录文件

    b: 块设备文件

    c: 字符设备文件

    l:符号链接文件,软链接文件

    p: 命名管道

    s: 套接字文件

  • 文件命名规则:

       严格区分字符大小写;

       目录也是文件,同一路径下,两个文件不能同名;

       支持除“/”以外的任意字符

       最长不能超过255个字符

    4、Linux基础命令及语法

  命令语法通用格式:~]#COMMAND [OPTIONS] ARGUMENTS

  •   COMMAND:发起一个命令,请求内核将某个二进制程序运行为一个进程。命令本身是一个可执行的二进制格式文件,有可能会调用共享库文件。

  多数系统程序文件存放在一下目录:/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。其中/lib,/usr/lib,/usr/local/lib为32位库,/lib64,/usr/lib64,/usr/local/lib64为64位库。

  命令分两类:

    内部命令:或者叫内置命令,由shell程序自带的命令

    外部命令:对可执行的程序文件,文件名即命令名

  ~]#file /bin/ls 查看可执行程序文件类型

  ~]#type COMMAND 查看命令类型

  • OPTIONS:指定命令的运行特性或调整命令的运行特性。

    选项有两种形式:

        长选项:–word,例如:–help

        短选项:-单字符,例如:-l,-d,有些命令选项没有"-"。如果一个命令使用多个短选项,多数可合并,例如:-l -d可以写成-ld。长选项则不能合并

    [OPTION]…表示可加多个选项

  • ARGUMENTS:命令的作用对象,命令什么时候生效

    不通命令的参数格式不同,有些命令可以带多个参数,参数中间以空格分开       

  • 基础命令:

    pwd:显示工作目录

        格式:pwd [OPTION]…

    cd:切换工作目录

        格式:cd [/PATH/TO/SOMEDIR],若不加选项参数,则切换至家目录

    ls:列出指定目录下的内容

        格式:ls [OPTION]…/PATH/TO/SOMEDIR

        -a表示显示所有文件,包括隐藏文件;-d查看目录自身而非目录内部的文件列表;-l表示显示文件的详细信息

    cat:文本文件查看,不可查看程序,后可跟多个目录

        格式:cat [OPTION]…/PATH/TO/SOMEFILE

    echo:显示文本或者显示上一条命令的执行结果

        格式:echo [SHORT-OPTI;ON]… [STRING]…

              echo LONG-OPTION

        例如:~]#echo $? 显示上一条命令的执行结果,0表示成功,1-255表示失败

    shutdown:关机

        格式:shutdown [OPTIONS…] [TIME] [WALL…]

        其中:[OPTIONS…]选项有-h关机,-r重启,-c取消关机设置;[TIME]选项有:now表示立刻关机,hh:mm表示几点几分,+m表示几分钟之后关机;[WALL]向所以终端发送关机信息

    日期时间相关命令:

    date:查看系统日期时间或设定日期时间

        显示日期时间格式: date [OPTION]…[+FORMAT](格式符)

        格式符:%F,%T,%S……

        设定日期时间格式: date [MMDDHHmm[[CC]YY][.SS]],MM表示月,DD表示日,HH表示小时,mm表示分钟,[[CC]YY]表示两位数年份或四位数年份,如2015年或15年,[.SS]表示秒

    clock/hwclock:查看硬件时钟

        -s以硬件时钟为准,-w以系统时钟为准

    cal:显示日历

        格式:cal [日期],例如:cal 2016显示2016年日历,cal 10 2016显示2016年10月份日历

    tty:显示终端机连接标准输入设备的文件名称

   which:显示命令的完整存放路径

        格式:which [OPTION] COMMAND

        选项:–skip-alias表示忽略别名

    whersis:显示命令的二进制文件、源码、帮助手册页

        格式:whereis [OPTION] COMMAND

        选项:-b仅显示二进制文件路径,-m仅显示使用手册文件路径

    who:查看当前登录系统的用户信息

        格式:who [OPTION]… [ FILE | ARG1 ARG2 ]

        选项:-b显示系统最近一次启动时间;-r运行级别;w增强版who命令,显示当前登录用户信息已经用户在做什么

    history:查看执行命令历史记录

    mkdir:创建目录

        格式:mkdir [OPTION] DIRECTORY

        选项:-p递归创建;-pv显示创建过程或者命令执行过程;-m创建目录时直接设定权限,否则默认权限

    rmdir:删除空目录

        -p:删除指定空目录后,若其上一级目录也为空,则一并删除;-v显示过程

    tree:以树状结构显示目录层级

        格式:tree [OPTION] DIRECTORY

    head:查看文件的前N行,默认显示前10行

        格式:head [OPTION] FILE,例如,head -n 20 FILE,查看文件的前20行

    tail:查看文件的后N行,默认显示后10行

        格式:tail [OPTION] FILE,例如,tail -n 20 FILE,查看文件的后20行

    cp:复制文件或目录

        格式:

       cp [OPTION]… [-T] SOURCE DEST

        cp [OPTION]… SOURCE… DIRECTORY

        cp [OPTION]… -t DIRECTORY SOURCE…

       选项:-i交互式复制,覆盖前提示用户

              -f强制覆盖目标文件

              -r递归复制目录

              -d复制链接本身,不跟踪源文件

              -a归档

    mv:移动或重命名文件

        格式:同cp

    rm:删除文件或目录

        格式:rm [OPTION] FILE(DIRECTORY)

        注:文件不建议直接删除,可先移动到某个专用目录(作用类似回收站)

    useradd:添加用户

        格式:useradd 用户名

   5、如何获取命令的使用帮助

  • 内部命令:help COMMAND

  • 外部命令:

             (1)命令自带简要格式的使用帮助

                  格式:COMMAND –help

             (2)使用手册manual

                  格式:man COMMAND

                  使用手册有章节之分,存放目录/usr/share/man

                  man1:用户命令

                  man2:系统调用

                  man3:库调用

                  man4:设备文件及特殊文件

                  man5:文件格式(配置文件格式)

                  man6:游戏使用帮助

                  man7:杂项

                  man8:管理工具及守护进程

                  man9:其他

                  ……

             (3)info获取命令在线文档

                  格式:info COMMAND

             (4)应用程序自带帮助文档

                  /usr/share/doc/APP-VERSION

             (5)主流发行版官方文档

             (6)程序官方文档

             (7)搜索引擎

                  Google:keyword filetype:pdf

                          keyword site:domain.tld


                

        


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

(0)
孙永奎孙永奎
上一篇 2016-09-22
下一篇 2016-09-22

相关推荐

  • ip命令详解

      Linux中的ip命令功能强大,可以完成接口配置、路由管理等任务。   格式:ip [ OPTIONS ] OBJECT { COMMAND | help }   下面使用ip命令来完成一些常用的操作:     1、查看接口状态       ip link show [设备名…

    Linux干货 2016-01-14
  • 自动化系统安装之DHCP服务实现

    DHCP服务实现 dhcp的工作过程是基于UDP协议的,其中用到了UDP的67(服务器),68(客户端)端口 使用场景 自动化安装系统 解决IPV4资源不足的问题 同网段多dhcp服务 dhcp服务必须基于本地 先到先得 跨网段 RFC 1542 dhcpclient客户端向dhcpsercer服务器请求续约时,中间相隔多网段时,如果路由器是 RFC1542…

    2018-01-29
  • 缓存需知

    Edit Web缓存核心技术点需知 5.1 HTTP首部控制 5.2 基于新鲜度检测机制: 2.1 特征1:时间局部性 2.2 特征2:空间局部性 2.3 缓存的优点 2.4 哪类数据应该被缓存 2.5 哪类数据可缓存但不应该被缓存 2.6 缓存命中率决定缓存有效性 2.7 缓存数据生命周期 2.8 缓存处理步骤 2.9 缓存和普通数据读取的区别 1. 完整…

    Linux干货 2017-06-01
  • 启动和内核管理

    一、Linux组成     Linux: kernel+rootfs         kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能       &nb…

    Linux干货 2016-09-18
  • N22期-第6周作业

    1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; cp /etc/rc.d/rc.sysint /tmp vim /tmp/rc.sysinit :%s@^[[:space:]]\+@#&@g 2、复制/boot/grub/grub.conf至/tmp目…

    Linux干货 2016-10-09
  • init中的服务故障如何排除

    我们假设ypbind出故障 首先我们设 ypbind服务开机启动 chkconfig yubind on 然后查看服务 chkconfig –list    默认是2345启动   然后更改这个脚本,里面寄一个长期的休眠时间,模仿为错误 sleep 休眠时间 然后重新启动,看看系统如何报错。 然后系统等到要启动该服务的时候回一…

    2017-07-22

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-22 09:51

    看得出来,写的很用心,可以在每个选项下面用一个例子来解释一下,多注意一下排版的问题