第一周博客作业-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)
上一篇 2017-07-02 19:15
下一篇 2017-07-02 20:22

相关推荐

  • MySQL/MariaDB数据库备份与恢复

    前言 数据库一般存放着企业最为重要的数据,它关系到企业业务能否正常运转,数据库服务器总会遇到一些不可抗拒因素,导致数据丢失或损坏,而数据库备份可以帮助我们避免由于各种原因造成的数据丢失或着数据库的其他问题。本文将讲解MySQL/MariaDB数据库的几种备份方法。 基础知识 备份类型 完全备份:备份整个数据库 部分备份:仅备份其中的一张表或多张表 增量备份:…

    系统运维 2015-05-23
  • N26-第十二周

    1、请描述一次完整的http请求处理过程;        1、建立或处理链接:接收请求或拒绝请求        2、接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程;接收请求的方式通常是并发访问响应模型        3、处理请…

    2017-05-14
  • 天神之剑Vim编辑器

    一.概述和基本用法及一些描述 vi:Visual Interface 文本编辑器 文本ASCII , Unicode 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi vim – Vi Improved 其他编辑器: gedit 一个简单的图形编辑器 gvim 一个vim编辑器的图形版本 基本用法  vim [OPTION]…

    Linux干货 2016-08-15
  • linux 的套接字

    套接字是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行。 套接字的特性有三个属性确定,它们是:域(domain),类型(type),和协议(protocol)。套接字还用地址作为它的名字。地址的格式随域(又被称为协议族,protocol family)的不同而不同。每个协议族又可以使用一个或多个地址族定义地址格…

    Linux干货 2016-08-18
  • vim简单实用的技巧总结

    vi 和 vim无需过多的区分,vim可认为是vi的增强版。        这篇关于vim的手册,我个人觉得实在无法把它写成文章,只能以手册的方式列举出来,因为,vim是一个动手使用的工具,只能在使用中你才能慢慢发现它的操作多么符合逻辑,我从下面这些简略的描述中,尽量将它的操作步骤写出来,但更重要的…

    Linux干货 2015-09-14
  • man帮助

                                        正确使用 man帮助      在生产过程中,我们会遇到不同的技术故…

    2017-05-30