第一周博客作业-Linux发行版历史、哲学思想、FHS、命令格式、帮助等

All + All –

第一周作业

  • 1.计算机组成及功能

    • 计算机组成

      • 硬件

        • 冯诺依曼体系
        • CPU

          • 运算器

            • 对数据做算暖苏运算和逻辑运算
          • 控制器
          • 寄存器等
          • 程序的运行,是CPU通过调用硬盘中的程序至内存中执行来实现的
        • 存储器

          • 内存

            • ROM
            • RAM
          • 外存

            • 硬盘
            • 光盘
        • 输入设备

          • 鼠标、麦克风等
          • 实现指令和参数的输入
        • 输出设备

          • 显示器、打印机等
          • 实现结果数据的输出
      • 软件

        • 内核

          • 驱动底层硬件、监控调度资源互不干扰的工作
        • 应用程序

          • 二进制程序文件
          • 配置文件
          • 库文件
          • 帮助文件

    2.Linux主流发行版

    • Debian

      • kali
      • knopix
      • Ubuntu
      • 纯生态,轻巧,无商业化,黑客经常使用,使用门槛高
    • SlackWare

      • S.U.S.E

        • 界面华丽,在欧洲有广泛的使用基础
    • RedHat

      • Fedora
      • 企业版

        • RHEL:商业版
        • CentOS:社区免费版
        • 使用最广泛
    • Gentoo

      • 需要边安装边编译,因此程序效率高,难度也高,适合骨灰级玩家
    • ArchLinux

      • 安装需要专业的技术水平


    3.Linux的哲学思想

    • 软件界的共产主义==开源
    • 1.一切皆文件(文件、目录、字符设备、块设备、通讯接口、套接字、管道等),有利于对资源使用统一的API接口(原子操作:read,write)。文件采用层级结构。
    • 2.简单就是高效。让每一个程序只做好一件事,然后众多的小程序组成一个大的功能整体。各司其职,模块组合。类似人类社会的专业大分工。
    • 3.尽量避免与用户交互

      • 目标:高效、智能。方式:用编程手段实现无人干预的自动化,这是高效的前提,类似机器人流水作业。
    • 4.使用文本文件保持配置信息

    4.Linux系统上的命令使用格式


    • COMMAND [OPTIONS] ARGUMENTS

      • 命令

        • 请求内核把程序运行为进程

          • 程序是静态的,保存在硬盘中
          • 进程是动态的,运行在内存中,一切动态都有生命周期,就像人生老病死

          命令可能调用共享库

          命令有内外之分。

          • 内部命令–shell自带命令
          • 外部命令–shell外的独立可执行程序,依赖于环境变量
      • 选项

        • 命令的运行特性

          • 短选项:-
          • 长选项:–
          • 选项有时也有选项参数
      • 参数

        • 命令的作用对象

    • 常用命令的使用格式及示例

      • 1.常用命令

        • ifconfig

          • 命令功能:显示和配置网卡接口

            命令使用格式:

            ifconfig [-v] [-a] [-s] [interface]

            ifconfig [-v] interface [aftype] options | address …

            命令示例:

            [root@localhost ~]# ifconfig -a

            显示当前可用的所有接口(包括down的)

        • echo

          • 命令功能:回显。shell内置命令

            命令使用格式:echo [SHORT-OPTION]… [STRING]…

            命令示例:

            [root@localhost ~]# echo “hello”

            hello

            回显字符串hello

        • tty

          • 命令功能:查看当前虚拟终端

            命令使用格式: tty [OPTION]…

            命令示例:

            [root@localhost ~]# tty

            /dev/pts/0

            列出当前虚拟终端为0

        • startx

          • 命令功能:启动xwindow
          • 命令使用格式:startx [ [ client ] options … ] [ — [ server ] [ display ] options … ]
        • export

          • 命令功能:设置或显示环境变量。shell内置命令

            命令使用格式:export [-fn] [名称[=值] …]

            命令示例:

            [root@localhost ~]# export

            列出当前环境变量信息

        • pwd

          • 命令功能:列出当前工作目录(全路径)。shell内置命令

            命令使用格式:pwd [OPTION]…

            命令示例:

            [root@localhost ~]# pwd

            /root

            列出当前工作目录为/root

        • history

          • 命令功能:列出历史命令。shell内置命令
          • 命令使用格式:history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数…]
        • shutdown

          • 命令功能:关机

            命令使用格式:shutdown [OPTIONS…] [TIME] [WALL…]

            poweroff:执行关机并关闭电源。poweroff=shutdown -P

            halt:执行关机,但不关闭电源。halt=shutdown -h

            reboot:过程和halt类似,只不过其实现的是重启功能。reboot=shutdown -r

        • hwclock

          • 命令功能:显示硬件时钟

            命令使用格式:hwclock [function] [option…]

            命令示例:

            [root@localhost ~]# hwclock -s

            以硬件时钟为准,同步系统时钟。

        • date

          • 命令功能:显示系统时钟

            命令使用格式:date [OPTION]… [+FORMAT]

            命令示例:

            [root@localhost ~]# date +%F%T

            2017-07-0207:32:34

            显示当前时间为2017年7月2日7点32分34秒

    5.Linux系统帮助

    • Linux命令的帮助路径


      • 内部命令

        • help COMMAND

          • 示例:help export
      • 外部命令


        • 1.命令自带的简要帮助

          • ~]# COMMAND –help

            • 示例:~]# fdisk –help

        • 2.最常用的帮助是man

          • ~]# man COMMAND

        • 3.命令的在线帮助

          • ~]# info COMMAND

            • 示例:~]# info fdisk

        • 4.程序自带的帮助文档

          • 文档路径:/usr/share/doc/APP-VERSION

            • README

              • 程序的相关信息
            • INSTALL

              • 程序的安装帮助
            • CHANGELOG

              • 版本迭代时的改进信息
        • 5.对应发行版的官方网站

          • 以centos为例,官网:https://www.centos.org

            • 官方手册:https://www.centos.org/docs
            • wiki系统:https://wiki.centos.org

              • 如HOWTOs
            • maillist
        • 6.google搜索
        • 7.其他有用信息

          • 适用开发者:http://www.ibm.com/developerworks/cn/linux/

    • man文档章节分类的含义

      • 默认情况下,绝大多数的手册在/usr/share/man目录下
      • man文件是均以.gz结尾的压缩文件,常见的有8个章节

        • man1

          • 表示用户命令
        • man2

          • 表示系统调用
        • man3

          • 库函数调用
        • man4

          • /dev下的特殊文件(设备等)
        • man5

          • 文件的格式说明(如配置文件中的各字段含义说明)
        • man6

          • 游戏专用
        • man7

          • 杂项
        • man8

          • 系统管理命令(只有root可以使用)
      • 命令使用格式:~]# man CHAPTER COMMAND

        • 示例:~]# man 3 sort

          • 查看sort命令是如何调用C库的

          并非每个COMMAND在所有章节下都有手册。

          可通过~]# whatis COMMAND查询命令的帮助位置

    6.Linux发行版的基础目录名称命名规则、功能规定

    • Linux发行版的基础目录,遵循Filesystem Hierarchy Standard文件系统层级结构标准

      FHS

      • /bin

        • 所有用户可用的基本二进制程序文件

        /boot

        • 引导加载器必须用到的静态文件(kernel,initrd,grub等)

        /dev

        • 设备文件

        /etc

        • 程序的配置文件,它必须为静态的非二进制文件
        • /opt
        • /X11
        • /sgml
        • /xml

        /lib

        • 系统启动和根文件系统命令(为/bin和/sbin下的程序提供的)需要的共享库文件
        • libc.so.*

          • 动态链接C库(可选)
        • ld*

          • 运行时链接器/加载器(可选)
        • /modules

          • 用于存储内核模块的目录

        /media

        • 便携式设备挂载点,如光驱、软盘

        /mnt

        • 文件系统的临时挂载点

        /opt

        • 附加应用程序的安装位置(可选)

        /sbin

        • 供系统管理员使用的二进制程序文件

        /srv

        • 当前主机为服务提供的数据

        /tmp

        • 临时文件目录

        /usr

        • /之外的第二个重要的层级目录(二级),存放可共享的只读数据,可在不同的系统间提供共享,只是目前很少这样做。
        • /bin
        • /sbin
        • /lib
        • /lib64
        • /include

          • C程序头文件
        • /share

          • 命令手册页和命令自带文档等架构特有的文件
        • /local

          • 另一个层级目录(三级),用于本地应用程序或第三方程序使用

            /bin

            /sbin

            /lib

            /lib64

            /etc

            /include

        • /X11R6

          • X-Window程序
        • src

          • 程序源码文件

        /var

        • 存放变量数据文件(如后台打印文件和目录、管理和日志数据、临时文件)
        • /cache

          • 变量缓存
        • /lib

          • 变量状态数据
        • /local
        • /lock
        • /log

          • 日志
        • /opt
        • /run
        • /spool
        • /tmp

        /home

        • 普通用户的家目录(可选)

        /root

        • 管理员的家目录(可选)

        /lib64

        • 64位系统特有的基础共享库

        /proc

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

        /sys

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

            在Linux2.6内核以后,才有sys这个目录。

        调优主要是通过/proc和/sys这2个目录来实现的。     

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

(0)
N27_悟空N27_悟空
上一篇 2017-07-02
下一篇 2017-07-02

相关推荐

  • 马哥教育网络20期+第7周练习博客

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@7b ~]#&nbsp…

    Linux干货 2016-07-24
  • 基于Cobbler实现多版本系统批量部署

    前言 运维自动化在生产环境中占据着举足轻重的地位,尤其是面对几百台,几千台甚至几万台的服务器时,仅仅是安装操作系统,如果不通过自动化来完成,根本是不可想象的。记得前面我们探究了基于PXE实现系统全自动安装,但PXE同时只能提供单一操作系统的批量部署,面对生产环境中不同服务器的需求,该如何实现批量部署多版本的操作系统呢?Cobbler便可以的满足这一实际需求,…

    Linux干货 2015-07-09
  • 进程及任务管理

    进程概念 内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等 Process: 运行中的程序的一个副本,是被载入内存的一个指令集合     进程ID(Process ID,PID)号码被用来标记各个进程     UID、GID、和SELi…

    Linux干货 2016-09-09
  • OPENSSL加密技术及私有CA的搭建

    加密方式有对称加密 非对称加密 单向加密 对称加密:     加密和加密都用同一个对称密钥,但是,这种加密方法存在一定问题,就是密钥传输时,容易被盗窃。还有密钥管理困难,对称加密的方法:DES、AES、Blowfish、Twofish、IDEA、RC6、CAST5。   非对称加密: 公钥…

    Linux干货 2015-08-17
  • 搭建简单的svn服务器

        svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然sv…

    Linux干货 2015-11-18
  • shell编程之数组及变量的多功能用法

    数组及变量的多功能用法   一、数组: 1、数组:存储多个元素的连续的内存空间,相当于多个变量的集合(变量:存储单个元素的内存空间)。 2、数组名和索引 索引:编号从0开始,属于数值索引 bash的数组支持稀疏格式(索引不连续) 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开始支持。 声明数组: decl…

    Linux干货 2016-08-26