Linux基础知识—文件系统和常用命令解读

一、    计算机组成

        计算机组成(Computer Composition)指的是计算机系统结构(Computer Architecture)的逻辑实现,包括机器机内的数据流和控制流的组成及逻辑设计等。其任务是在指令集系统结构确定分配给硬件系统的功能和概念结构之后,研究各组成部分的内部结构及相互联系,以实现机器指令集的各种功能和特性。是改进后的冯.诺依曼计算机系统结构的典型实现。*

           根据其功能的划分,计算机组成主要分为五部分:

1、  控制器(Control):整个计算机的中枢神经,其重要作用是对程序中规定的控制流信息进行解析,根据其要求进行控制,调度程序、数据、地址,协调内存与外设的访问等

2、  运算器(Datapath):运算器的作用就是对数据进行各种算术运算和逻辑运算

3、  存储器(Memory):主要用于存储数据、各种信号及命令等信息,并根据控制器的要求提供相应的信息

4、  输入设备(Input system):主要用于数据、信号、程序、命令等信息的输入,

5、  输出设备(Output system):主要用于将计算机的中间结果或者最终结果,及运算过程中的数据符号、文字或者控制信号等信息输出出来

             其各个部分之间的作用关系可用下图表示:

            QQ圖片20160913171739.jpg

             这五部分在我们实际的应用中的具体设备体现如下:

    二、    Linux各发行版本

            如今流行的Linux最早是由Linus Benedict Torvalds在1991年开始编写,也称GNU/Linux。因为Linux完全开放源代码,吸引众多杰出的程序员和开发者加入到GNU组织中来,对Linux内核不断的进行修改、完善,便造就了今天GNU/Linux遍地开花、百花齐放的壮观景象。Linux的发行版本根据其运作模式可以分为两大类:一类是以商业公司维护的发行版本,比较著名的有Redhat、Novell等;一类是以社区组织维护的发行版本,比较著名的有Debian、Centos等 GNU/Linux有诸多发行分支_

    下面我们介绍几个流行的分支

    1. Redhat系列

            Redhat Linux是1994年由一个叫Marc Ewing的人发布,1995年被ACC公司收购合并为红帽软件公司,该公司是一家提供开源解决方案的供应商,为诸多重要的IT技术(操作系统、存储、中间件、虚拟化、云计算)提供关键任务的软件与服务,同时也为全球客户提供技术支持、培训和咨询服务,并收取相应的费用。 2002年红帽公司推出了Linux高级服务器版,也就是后来的RHEL,DELL、IBM、HP、Oracle公司宣布支持该平台;2007年3月,红帽公司发布了最为经典的Redhat Enterprise Linux5版本,后续相继推出RHEL5.5、……RHEL6,直至目前最新的RHEL7.2版本,它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。通过购买其序列号获得红帽官方的技术支持服务。

            Fedora Linux是基于Redhat Linux发行的一个针对个人的桌面化Linux版本,是由Fedora Project社区开发、红帽公司赞助;最早其目标是为Redhat Linux制作并发布第三方的软件包,Redhat Linux停止发行后,便由Fedora社区集成到Red Hat赞助的Fedora Project,成为Redhat新技术的试验田;Redhat会将一些新技术写进Fedora,被认为可用的技术最终会整合到Redhat Enterprise Linux版本中去;Fedora大约每6个月发布新版本,目前最新的版本是Fedora23

            Centos(Community Enterprise Operating System:社区企业操作系统),是根据Redhat Enterprise Linux开放的源代码编译而成的,在此基础上修正了不少已知BUG,完全免费。 RHEL有两种发行方式:1、以二进制的方式发行;2、以源代码的方式发行;Centos就是通过重新编译其源代码而生成的开源操作系统,所以,CentOS 可以得到 RHEL 的所有功能,甚至是更好的软件,只要不使用Redhat商标,其就是合法的。CentOS并不向用户提供商业支持,也就不用负上任何商业责任。CentOS大概每六个月会更新一次,每两年发行一次新版本。2014年CentOS社区被红帽公司收购,CentOS继续免费。

    2. Debian系列

            Debian是由GPL和其他自由软件许可协议授权的自由软件组成的操作系统,由Debian项目(Debian Project)组织维护。Debian项目是一个独立的、分散的组织,由3000人志愿者组成,接受世界多个非盈利组织的资金支持,Software in the Public Interest提供支持并持有商标作为保护机构。 Debian是一个大的系统组织框架,在这个框架下有多种不同操作系统核心的分支计划,主要为:

    •      采用Linux核心的Debian GNU/Linux系统

    •      采用GNU Hurd核心的Debian GNU/Hurd系统

    •      采用FreeBSD核心的Debian GNU/kFreeBSD系统

    •      采用NetBSD核心的Debian GNU/NetBSD系统。

    •      采用OpenSolaris核心构建而成的Nexenta OS系统。

            在这些Debian系统中,以采用Linux核心的Debian GNU/Linux最为著名。众多的Linux发行版本,例如:Ubuntn、Knoppix

            Ubuntu是基于Debian发行版和GNOME桌面环境,Ubuntu建基于Debian的不稳定分支,更接近Debian的开发理念,它主要使用自由、开源的软件。与Debian的不同在于它每6个月会发布一个新版本(即每年的四月与十月),每2年发布一个LTS长期支持版本。目前Ubuntu共有五个长期支持版本(Long Term Support,LTS):Ubuntu 6.06、8.04、10.04、12.04与14.04。Ubuntu 12.04和14.04桌面版与服务器版都有5年支持周期。而之前的长期支持版本为桌面版3年,服务器版5年。Ubuntu所有系统相关的任务均需使用Sudo指令是它的一大特色,这种方式比传统的以系统管理员账号进行管理工作的方式更为安全,此为Linux、Unix系统的基本思维之一。Ubuntu计划强调易用性和国际化,在在发布5.04版时,已经把万国码(UTF-8 Unicode)作为系统默认编码,用以应对各国各地区不同的语言文字,试图给用户提供一个无乱码的交流平台。是Linux初学者最佳选择之一。其衍生版本不计其数。

            KNOPPIX基于Debian GNU/Linux,桌面系统主要采用KDE,主要软件还包括GIMP、LibreOffice等。是一套光盘或USBU盘启动的GNU/Linux系统(LiveCD),功能包括:自动硬件监测、支持常见的显卡、声卡、SCSI和USB设备,以及其它外设。KNOPPIX可用于Linux演示、光盘教学、系统急救,经过适当改造,还可以用于商业软件的产品演示。它的优点是Knoppix的硬件支持极佳,即使是较新的产品,很多时都可以正常运用。缺点是对中日韩环境的支持极差,在系统预建的汉字字体档里,错字、缺字连篇,字体比例亦不成比例。

    3、    Slackwarex

            Slackware是Slackware Linux, Inc的Patrick Volkerding制作的Linux发行版本。Slackware走了一条与其他的发行版本(Red Hat、Debian、Gentoo、SuSE、Mandriva、Ubuntu等)不同的道路,它力图成为“UNIX风格”的Linux发行版本。Slackware主要为x86 PC开发,Slackware 13.0,官方首次提供64位的版本下载。

            SUSE Linux原是以Slackware Linux为基础,并提供完整德文使用界面的产品。SuSE于1992年末创办,专门制为德国人推出量身订作的SLS/Slackware软件及UNIX/Linux说明文件。"S.U.S.E."后来改称/简短为"SuSE",德文意思为"Software-und System-Entwicklung",英文为"Software and system development"。SUSE Linux采用了不少Red Hat Linux的特质(使用RPM及/etc/sysconfig)。 SUSE包含一个安装及系统管理工具YaST2。它能够进行磁盘分区、系统安装、在线更新、网络及防火墙配置设置、用户管理和其他更多的工作。它为原来复杂的设置工作提供了方便的组合界面。2014年1月,Novell公司收购了SUSE。其商业版本为SUSE Linux Enterprise server,目前最新的版本为SUSE Linux Enterprise 12

             OpenSUSE,前身为SUSE Linux和SuSE Linux Professional,是一个Linux发行版与项目,由SUSE与其他公司赞助。是Novell收购SuSE Linux后创建的发行版本。它的开发重心是为软件开发者和系统管理者创造适用的开放源代码的工具,并提供易于使用的桌面环境和功能丰富的服务器环境。openSUSE针对桌面环境进行了一系列的优化,对Linux新手较为友好。

    三、    Linux的哲学思想

                在Linux系统中,与windows系统不同的是,软硬件、命令、数据本身均是以文件的形式存在;为了统一管理,功能不同的程序归类放在同一个路径下,这些程序的功能很单一,只做一件事,这样不同的程序之间不会相互影响,提高了系统应用性能;程序本身尽可能的避免了和用户之间的交互,也就是说程序本身会通过调用(被调用)来完成事务,不需要用户过多的干预这个过程,这样为系统的自动化运维提供便利,复杂的事务可以通过调用多个单任务的程序来完成;所有的配置类文件也是通过文本文件来存储在系统中,便于查看和修改。

    四、    Linux系统上命令格式及常用命令

           Linux系统上命令通用格式为: COMMAND    [OPTIONS]    [ARGUMENTS] 命令        选项        参数

    1、    命令

            命令可分为两类:内置命令和外部命令

    • 内置命令:由shell自带的命令,For example:cd,break,(un)alias,type,file,history,pwd……是系统在启动之初就已经调入到内存中,是常驻内存之中,执行效率高

    • 外部命令:独立的可执行文件,文件即命令;系统根据环境变量中的设置查找来执行。例如:ls、ifconfig、useradd

    2、    选项

           指定命令的运行特性,有两种:

           长选项:例如–size等

           短选项:例如-l,-d等

    3、    参数

           指定命令的作用对象,可同时又多个(多个存在时,参数之间必须用空白字符间隔开)

    4、常用命令:

              ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date

           【ifconfig】    configure a network interface

           【echo】    display a line of text

           【tty】    print the file name of the terminal connected to standard input查看当前终端设备类型

           【startX】  start X window

           【export】  Set export attribute for shell variables.

           【pwd】 Print the name of the current working directory

          

            【history】  Display or manipulate the history list

           【shutdown】    shutdown the system

           【poweroff】    Power Off the system

           【reboot】   Reboot the system

           【hwclock】 read and set hardware clock            USAGE                hwclock [FUNCTION] [OPTIONS]

           【date】  print or set the system date and time

    五、如何获取命令帮助

            Linux系统的命令众多,再配合各种选项,那命令的使用方法永远也记不完;那我们如何获取命令的帮助呢?我们知道,在Linux系统中命令可分为内置命令和外部命令,查看一个命令是内置命令还是外部命令,我们使用type命令,比如:

    常用的获取命令帮助的途径有以下几个

            1、获取内置命令的帮助信息

                  获取内置命令的帮助信息的方式,比如help cd,得到如下信息

            2、获取外部命令的帮助信息

                  获取外部命令的帮助信息的方式有多种,常用有以下几种:

               c、info COMMAND

               d、程序自带文档,比如:

               f、官方文档,比如RHEL文档:http://www.redhat.com/doc

      由以上几种途径基本可以解决您的问题了。

    六、Linux发行版常用目录

             FHS(Filesystem Hierarchy Standard)规定了类Unix系统的各个系统目录的功能及存储文件,下面我们来解读下linux系统中的目录

            /: Root directory 根目录,Linux内核挂载的起始位置

            /bin: Essential user command binaries (for use by all users) 基本的用户命令文件,任何用户均可调用,比如:cp、date、dd、rm

            /boot: Static files of the boot loader 系统引导加载程序的静态文件,系统进入用户模式之前的加载文件均在这里

            /dev: Device files 系统的设备文件 存储着关于各部分硬件设备的资料,比如:tty、pts、mem(不可读)

            /etc:Host-specific system configuration 主机的系统配置文件,几个特殊的目录如下:

                      X11/       Configuration for the X Window system (optional)
                      sgml/            Configuration for SGML (optional)
                      xml/           Configuration for XML (optional)

            /home:  User home directories (optional)  用户的家目录,创建用户默认生成,一般目录名同用户名。例如:/home/USERNAME

            /lib:Essential shared libraries and kernel modules 基本的共享库及内核模块。

            /lib(qual):Alternate format essential shared libraries (optional) 交替格式共享库。例如lib32、lib64

            /media:Mount point for removable media 可移动介质的挂载点,可以认为是扩展挂载点。与/mnt类似

            /mnt:Mount point for a temporarily mounted filesystem 其他临时系统文件的挂载点。

            /opt:Add-on application software packages 留给附加的应用程序软件包的

            /root:Home directory for the root user (optional) 超级管理员root的家目录

            /run:Run-time variable data 运行时的变量数据,这个目录包含系统信息数据描述了系统自启动。这个目录下的文件必须被清除(删除或截断)在引导过程的开始。

            /sbin:System binaries 管理员命令存储目录,没有子目录且不能随意创建

            /srv:Data for services provided by this system 系统服务的相关数据

            /tmp:Temporary files 临时文件存储。

            /usr: shareable, read-only data,must not be written to。属于系统文件的最主要部分(/除外),符合FHS用户共用此目录,其子目录解读如下:

                      bin/        Most user commands 大部分的用户命令,比如:perl,python,tclsh

                      include/       Directory for standard include files 一些可能系统调用的C相关的文件

                      lib/        Libraries for programming and packages 库程序和包

                      local/       Local hierarchy 本地的层级目录,bin/,sbin/,lib/,lib64/,share/,src/,games/,include/等

                      sbin/       Non-essential standard system binaries 只有管理员调用的非标准的系统函数

                      share/       Architecture-independent data 系统杂项,但是有几个重要的目录

                                     man/ Manual pages 使用手册目录

                                     doc/ 程序的说明文档

                                     zeroinfo/ Timezone information and configuration (optional)   时区信息和配置信息

                      src/        Source code (optional)源代码文件可以存储在这里,仅供参考

            /sys:Kernel and system information virtual filesystem 主要存储的是硬件信息、驱动、个别内核信息

            /proc:Kernel and process information virtual filesystem 看解释跟/sys一样,只是此文件目录存储的是实际标准的流程和系统信息,比如CPU、内存等信息

            /var:/var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files. 主要包括一些缓存文件、管理的log文件、动态生成的临时文件、spoool、mail文件,也是比较重要的目录


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

    评论列表(0条)

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

      写的很好,继续保持,加油

    联系我们

    400-080-6560

    在线咨询

    工作时间:周一至周五,9:30-18:30,节假日同时也值班

    QR code