N25第一周博客作业

本文主要阐述了以下几个知识点:

计算机的组成及功能;

介绍各不同发行版的linux及其联系;

描述linux的哲学思想,及其本人对其个人理解;

介绍一些linux基本命令及相关选项;

如何在linux上使用帮助命令;

罗列出发行版linux上的一些基础目录及其功用。

 

²  计算机的组成及功能:

         计算机是由软硬件相辅相成,共同实现计算机的基本功能。大体上由以下两个部分:

        

        硬件:

    硬件是计算机系统中各种设备的总称,也是计算机的基石,包括以下五个基本组成部分:

Ø  运算器:运算器的主要功能是对数据进行各种运算,这些运算除了常规的加减乘除等基本算数运算外,还包括能进行对数据的逻辑处理能力。

Ø  控制器:控制器是真个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。

Ø  存储器:存储器的主要功能是存储程序和各种数据信息,并能在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是用二进制0,1来进行数据存储的。

Ø  输入设备:用来向计算机输入各种原始数据和程序。输入设备把各种形式的信息,如数字、文字、图像等转换为数字形式的“编码”,即二进制的0,1,然后输入到计算机中存储起来。键盘是必须的输入设备,常用的输入设备如鼠标、图形输入面板、话筒、视频摄像机等。

Ø  输出设备:从计算机输出各类数据的设备叫输出设备。输出设备把计算机加工处理的结果变化为人或其他设备所能接收和识别的信息格式例如文字、数字、图形、声音等。显示器是最常见的输出设备,还有音响、打印机、绘图仪等输出设备。

 

 

    软件:

    如果说硬件是计算机的身躯,那软件就是计算机的灵魂。没有灵魂,即使硬件在强大也是一堆废铁。软件包括以下两个部分:

Ø  系统软件:是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能室调度、监控和维护计算机系统。

Ø  应用软件:应用软件是为了某种特定的用途而被开发的软件。他可以是一个特定的程序,比如qq,也可以是一组功能联系紧密,可以互相协作的程序集合,比如office。也可是一个由众多独立程序组成的庞大软件系统,比如数据库管理系统。

 

 

 

²  linux的发行版及其联系与区别。

linux是一款即开源也免费的类Unix操作系统,它诞生于1991.10.5,是一个基于POSIXUNIX的多用户、的任务、支持多线程和cpu的操作系统。严格的来讲,Linux本身只表示Linux内核,但实际人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Linux

linux发行版到目前为止有数百种之多,但是目前使用较多的是以下几类:

Ø  Debian或称为debian系列,包括debianUbuntun等。debian是社区类linux的典范,也最遵循GNU规范。Debian分为三个分支:stabletestiongunstable。其中,unstable为最新的测试版本,有相对较多的bug,适合桌面用户。testing的版本都经过测试,相对较为稳定。而stable一般只用于服务器,软件包大都比较过时,但是稳定和安全性都很高。

Ø  Redhat应称为redhat系列,包括RHELFedora CoreCentOSredhat可以说是国内使用最多的Linux版本,甚至有人讲Redhat等同于Linux。这个版本的特点就是使用人数最多,资源多,而且网上的许多Linux教程也都以Redhat为例进行讲解。

Ø  CentOSRedhat的山寨版本。此版本与redhat基本完全一致,甚至他们的软件包都可以通用,唯一不同的是这个版本完全免费,是企业中应用最多的版本之一,也是新手入门最好用的一款发行版本。

Ø  Ubuntu严格的来说不能算一个独立的发行版本,他是基于Dibanunstable版本加强而来。它的特点是拥有diban的所有优点及自身加强的优点,是一款非常适合做桌面系统的linux发行版本。如果你想要一款桌面绚丽的发行版,那这款是非常适合的。

Ø  Gentoolinux最年轻的发行版本,因此他吸取了之前发行版本的所有优点,被称为最完美的linux发行版之一。gentoo的安装包是基于源代码分发的,必须经过编译后才能运行,所以gentoo是所有发行版中使用难度最高的。但相应的因为安装方式非常接近底层,所以在程序安装完毕后与硬件结合非常紧密,可以将机器的硬件发挥到极致。是在相同硬件的发行版中运行最快的版本,如果想对自己的动手能力有一个极大的提升,那选择此版本是一个非常好的选择。

 

 

Linux的哲学思想

linux是一款伟大的操作系统,并不是它的系统有多么的优秀,而是它承载着人类最崇高的思想:自由与分享

                  自由是人类最基本的需求,而分享是人们追求的最高境界。

但除了以上的核心思想外,linux还有一些哲学思想:

Ø  一切皆文件:linux系统上,所有的数据都是以文件形式存在的,例如进程、磁盘等。这样的好处是你可以使用一套api(应用程序编程接口)和工具来处理linux中大多数资源。

Ø  单一目的的小程序:linux中,每一条命令都是一个小程序,而每个小程序,又是完成一个任务的一个点。这样的好处是可以将多点整合,完成复杂任务。

Ø  组合小程序完成复杂任务:接上面,我们可以通过一些连接符号或引用符号将多个程序联系起来,因为每个小程序消耗的资源极小,所以可以在资源相同的情况下最大化提示效率,且因为每个小程序功能单一,可随意组合,使得组合起来更加灵活。

Ø  使用文本文件保存配置信息:既然一起皆文件,那配置信息也不例外。这样的好处是可以更加全面更加升入的通过修改配置文件来定制程序或系统,让系统或程序发挥最大的效能。

Ø  尽可能避免与用户交互:在于用户交互过程中,也许用户因为不小心操作失误,导致系统出现故障,在交互的过程中也会导致性能消耗与工作效率变低,作为一款面向服务器级别的操作系统来说,这都是没有必要的。它需要的只是事先设定好一条路,然后顺着路无畏前行。

 

 

²  linux命令格式:

命令操作是使用linux最基本的要求,也是linux最核心的一部分。因为每一条linux命令都是一个单一的小程序,而linux就是由这些单一的小程序撑起来的。所以,想要学习linuxlinux命令是无法绕过去的一道坎。

      linux的格式大体上有三部分构成:命令本身、选项参数、目标(文件,目录,容器等)

COMMAND  [OPTIONS]   [OBJECTIVE]

                   例如:ls     -lh  /etc/passwd

                          命令  参数  文件

                           

Ø  命令:命令本身就是完成一个任务的主程序,一般是由系统提供的。每条命令都有不同的功用,但每条命令一般只能完成一种类型的任务。

 

Ø  参数:如果将命令看成一种类型,而参数就是在此类型里详细划分命令的功用。有些命令有非常多的参数,可在在其类型中完成诸多复杂的任务。

 

Ø  目标:目标一般指文件、目录、或某一容器(容器主要包含用户与组等),这是要被命令所执行的位置,也是一项任务的主体。

 

这里用通俗的语言来描述一下:

         查看一下 /etc/passwd 文件里都有哪些内容。

这是最基本不加参数的任务,如果对结果不满足可以加参数:

请用更人性化和更详细的方式来查看一下 /etc/passwd 文件里有哪些内容。

这就是加了参数的任务,参数的用处就是将任务的主体更加细化,来满足人们对命令的要求。

 

 

以下讲解一些常用命令的使用方法:

 

ifconfig

 

ifconfig是一条查看网卡状态与ip地址等信息的命令,如果想查看本机有几块网卡和每块网卡的状态,直接使用命令即可。

例如:

         N25第一周博客作业

通过查看,发现本机有三块网卡,eno16777736是本机真实网卡,其他两块都是系统虚拟出来的网卡。其中关键信息是:

                            inet 后是ip地址,

netmask是子网掩码,

broadcast后是广播地址。

         如果想直接看某块网卡的信息直接输入:

                  ifconfig 网卡名

         例如:

              N25第一周博客作业

           参数:

               -a:包括未开启的网卡

 

echo

         echo 默认将指定的目标输出到屏幕上,例如:

              N25第一周博客作业

         也是可以用来查看上一条命令是否执行成功:(0为成功,非0为失败)

         echo  $?:

              N25第一周博客作业

           以上是命令有误时的返回值:

              N25第一周博客作业

           以上是命令无误的返回值;

           

ttytty的主要功能是显示连接标准输入的终端的文件名:

       N25第一周博客作业

       /dev/console:物理终端

       /dev/pts/#       伪终端

       /dev/tty#         表示虚拟终端,取值范围通常为1-6

       /dev/tty S        串口终端

 

startx主要功用是在字符界面启动图形界面;直接输入即可;

 

export直接输入时查询环境变量,

     但是主要还是来定义(环境)变量的:

         N25第一周博客作业

     其他查看环境变量命令:env   printenv   declare -x

 

pwd主要是用来显示当前工作在哪个目录

        N25第一周博客作业

 

history直接输入命令是用来查看历史命令的;

      常用的参数:

              -w:将内存中的命令保存至当前用户的历史命令文件中;

              -r:读取当前用户的历史命令文件;

              -d:清除指定的历史命令;

              -c:清空历史命令,此处清空的是内存中的历史命令;

              -a:将内存中的历史命令追加到命令历史文件中。

 

                其他选项:$HISTFILE:命令历史文件的位置;

                      $HISTSIZE:  内存中命令历史最多个数,默认是1000

                      $HISTFILESIZE:命令历史文件最多能放多少命令;

                调用命令历史:

                      !#:执行命令历史中的第#个命令;

                      !!:再一次执行上一次命令;

                      !a:再一次执行命令历史最近以a(变量)开头的命令;

            调用上一条命令中的最后一个参数:

               Esc.   !$

 

shutdown关机或重启;默认关机。

     格式: shutdown  [options]  [time]

        options:

   –h:关机;

   –r:重启;

     –c:取消关机或重启;

         Time

Now:立刻

Hh:mm:自定义时间

+m    多少分钟以后;

+0 now  等同于 now

      

poweroff从字面上理解就是关闭电源,代表关闭系统的意思。

 

reboot代表重启系统,与shutdown -r  init 6 意思一样;

 

hwclock通常被clock代替,默认直接使用显示硬件时间;

       -s:以硬件系统为准;

       -w:以系统时间为准:

       –set –date="// ::":设置硬件时间

 

date:显示系统时间,可用+%Ymd等来自定义时间格式:

date "+%F %T" 2016-11-29 20:59:15

设定时间:date 月日时分年

 

 

如何在linux系统上获取命令的帮助信息:

         man  help–help  type  whereis  info

      

       首先说一下man中文翻译是手册的意思,通俗的说是linux中一本命令使用手册,如果能熟悉使用,为以后的学习带来非常大的帮助。

       使用格式:man COMMAND

       man文档有章节的划分:

         man  #  COMMAND    ( /usr/share/man/man1|man2…)

             #

      1: 用户命令;

           2:系统调用;

           3c库调用:

           4:设备文件及特殊文件;

           5:文件格式(配置文件格式);

           6:游戏使用帮助;

           7:杂项;

           8:管理工具及守护进行;

          help–help):此条命令主要是能显示命令的一些主要参数的使用,

用法:

                      help COMMAND

                      COMMAND  –help

                           

         type这条命令主要是可以显示目标命令的类型为:外部 or shell内嵌;

                用法:tpye COMMAND

 

          whereis主要用来显示命令的存储位置以及二进制文件路径;

                 用法:whereisCOMMAND

 

          info主要用来获取命令的在线文档;

                用法:info COMMAND

             

另外,还有很多程序会自带帮助文档,路径:

           /usr/share/doc/APP-VERSION

         

                  

linux的系统结构及各目录的功用:

linux秉着一切皆文件的原则,整个系统都是由文件组成的。想一下要组成一个系统需要数不清的文件,如果文件结构混乱的话,那也就没几个人能搞懂linux了。所以linuxFHS为模型,将所有的文件梳理的有条不紊。

 

FHS : filesystem hierarchy standard,文件系统层级结构标准,是linux文件结构的核心,通过一个根将所有的目录连接起来。

      

首先先介绍一下文件系统中的常见设备:

字符设备(线性设备,有时序):键盘等输入输出设备;

块设备(随机设备,可以访问任意设备): 硬盘等存储设备。

        

以下是个linux发行版中的基本目录:

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

    libc.so.* 动态链接库

    ld*:运行时链接器/加载器

     modules存储内核模块的目录

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

/media: 为便携设备提供挂载点

/mnt其他文件系统的临时挂载点

/opt第三方非关键性的应用程序安装点

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

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

/usr: usr Hierarchy 除了根最重要的目录 全局共享的只读数据路径,

        Bin,sbin 是在系统运行时使用到的

         lib lib64

         include: c程序头文件

         share: 命令手册页,和自带文档等架构特有的文件的存储位置;

     local 另一个层级目录;用来安装第三方程序的目录;也是安装本地应用程序的目录;

         x11R6: x-windows程序的安装位置

     src:程序源码文件的存储目录

 

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

Cache缓存目录

Lib状态目录;

Local/usr/local提供动态存储的目录;

Lock锁目录;

Log日志文件目录;

Opt/opt提供动态存储的目录;

Run:  运行中的进程相关的数据;

Spool暂存队列;

Tmp系统重启后依然需要的临时文件;

 

/proc: 内核与进程存储其相关信息;它们多为内核参数,例如net.ipv4.ip_forward,虚拟为net/ipv4/ip_forward,存储于/proc/sys/,因此完整路径为/proc/sys/net/ipv4/ip_forward 主要是为了一切皆文件 把内核参数虚拟为文件。

/sys: sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的路径,基于内存的文件系统,proc也是。Sysfs总是挂在到/sys上。为管理linux设备提供一种统一模型的接口。

 

原创文章,作者:N25_韩奇洋,如若转载,请注明出处:http://www.178linux.com/61336

(0)
N25_韩奇洋N25_韩奇洋
上一篇 2016-11-29
下一篇 2016-11-30

相关推荐

  • Linux逻辑卷LVM实现

    Linux逻辑卷LVM实现 背景: 在学习Linux中,学习到了逻辑卷LVM,发现LVM是个十分好用的一个技术,可以多个硬盘合并在一起使用,同时还可以动态的增加和减少。在这里将Linux逻辑卷的具体实现记录下来。 介绍: 逻辑卷LVM:Logica Volum Manager,它是Linux环境下对磁盘分区进行管理的一种机制,普通的磁盘分区管理方式在逻辑分区…

    2017-08-12
  • 一起学DHCP系列(一)开篇、概述

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/162108     从本节开始,我们将开始讨论有关DHCP服务器的相关问题,从易到难一步步理解DHCP服务。还是一样,在…

    Linux干货 2015-03-25
  • sed基础

    sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件, 简化对文件的反复操…

    Linux干货 2017-05-01
  • 内核相关

    内核两大流派单内核微内核 grub分为三个阶段:1阶段 1.5阶段 2阶段 内核阶段 通过/proc/cmdline找到根并挂载2阶段内容是放在/boot/grub目录下Centos6 实验:丢失除grub.conf外所有文件没有修复过的时候/boot/grub下文件是放在磁盘上某个位置的修复过一次后/boot/grub下文件就起作用了,一旦执行过grub-…

    Linux干货 2018-01-03
  • Linux中的账号管理(上)

    一背景  Linux  是  一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响,例如某台linux服务器上有4个用户,分别是root、www、ftp和mysql,在同一时间内,root用户可能在查看系统日志,管理维护系统,ww…

    Linux干货 2016-08-04
  • ping命令的部分用法

    Linux系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着”不能打开网页时会说“你先ping网关地址192.168.1.1试试”。它通过发送ICMP ECHO_REQUEST数据包到网络主机(send ICMP ECHO_REQUEST to&nbsp…

    Linux干货 2017-07-30

评论列表(1条)

  • 马哥教育
    马哥教育 2016-12-09 20:43

    总结的很好,有例子有说明,加油