第一周-Linux Basic

    本文主要介绍了计算机的组成及功能、Linux的发行版、Linux哲学思想、一些基本命令、命令帮助的获取、文件系统层级结构标准。

一、计算机的组成及功能

    计算机由硬件和软件两大类组成

    硬件

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

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

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

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

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

软件

    (1)系统软件: 是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。(如Windows、Linux、Dos、Unix等操作系统都属于系统软件。)

    (2)应用软件:是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合,分为应用软件包和用户程序。应用软件包是利用计算机解决某类问题而设计的程序的集合,供多用户使用。计算机软件分为系统软件和应用软件两大类。应用软件是为满足用户不同领域、不同问题的应用需求而提供的那部分软件。 它可以拓宽计算机系统的应用领域,放大硬件的功能。(如Word、Excel、QQ等都属于应用软件)

二、linux的发行版

    Linux是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系统。1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX操作系统的想法,当年,Linux就诞生了,为了不让这个羽毛未丰的操作系统矢折,Linus将自已的作品Linux通过Internet发布。从此一大批知名的、不知名的电脑黑客、编程人员加入到开发过程中来,Linux逐渐成长起来。

    Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利。然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。

    Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流操作系统之一。

    下边介绍下linux的各种发行版,先放一张大致关系图:

49d503bf47879ffe8a169dd81c744d83_r.jpg

        (1)Debian是包括Ubuntu在内许多发行版的上游,而Ubuntu又是Linux Mint及其他发行版的上游。Debian在服务器和桌面电脑领域都有着广泛的应用。Debian是一个纯开源计划并着重在一个关键点上,稳定性。它同时也提供了最大的和完整的软件仓库给用户。

        (2)Fedora是基于RHEL,CentOS,Scientific Linux, 和Oracle Linux的社区版本。相比RHEL,Fedora打包了显著的更多的软件包。其中一个原因是,多样化的社区参与Fedora的建设;它不只是一家公司。在这个过程中,CentOS用于活动,演示和实验,因为它是对最终用户免费提供的,并具有比Fedora的一个更长的发布周期(通常每隔半年左右发布一个新版本)。

        (3)其他版本有Gentoo、ArchLinux等。

            Gentoo采用自己独特的Portage包管理系统,吸引了许多狂热爱好者以及专业人士,强调自己编译源码,而不是直接用二进制包,这样程序运行速度更快。

            ArchLinux基于KISS原则,针对i686的CPU做了优化,以.tar.xz格式打包并由包管理器进行跟踪维护,特别适合动手能力强的linux用户。

    最后放一张各linux发行商的商标图:

545620da36e9914901db2f74ff316e22_r.jpg


三、linux的哲学思想

    (1)一切皆文件

        是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。

    (2)由众多的单一的程序完成一件比较复杂的工作,一个程序只做一件事,并且做好他。

        程序和可执行文件不会太复杂,这样才能保证了linux内核的高效运行,复杂的任务可以通过连接多个简单的程序实现。

    (3)尽量避免与用户交互

        为了后期的自动化执行,避免与用户交互,以达到高效执行工作。

    (4)使用文本文件保存配置信息

        linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,配置文件时只需任意一款文本编辑器修改即可。


四、些许基础命令

    (1)ifconfig

        功能:用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。

        查看接口:ifconfig [Interface]

            -a:all,包括未激活状态的所有接口

        启用或禁用接口:ifconfig Interface up|down

        设定IP地址:ifconfig Interface IP/Netmask [up]

            例:ifconfig 192.168.100.131/24

    (2)echo

        功能:将输入文本显示至标准输出

        选项:

            -n:默认换行后输出,-n表不换行输出

            -e:启用反斜线转义

            \b:退格

            \\:反斜线

            \n:新行

            \r:回车

            \t:水平制表符

            \v:垂直制表符

    (3)tty

        功能:查看当前使用的终端设备

            /dev/console:物理终端

            /dev/tty#:虚拟终端,#取值为[1,6]

            /dev/pts/#:伪终端

            /dev/ttyS#:串行终端

    (4)startx:

        功能:启动图形终端

    (5)export:

        功能:定义或查看环境变量

        定义环境变量:export VAR_name

        查看环境变量:export

        查看环境变量其他方式:

            printenv,env

            echo VAR_NAME

    (6)pwd

        功能:打印当前工作目录

        相关环境变量:PWD

    (7)history

        功能:显示命令历史

        选项:

            -a:append,追加本次会话新执行的命令历史列表至历史文件中

            -d #:删除历史列表中指定的命令

            -c:清空命令历史

        配置文件:家目录下的.bash_history

        相关环境变量:

            HISTSIZE:shell进程可保留的命令历史条数

            HISTFILE:保存命令历史的文件,默认为.bash_history

            HISTFILESIZE:保存命令历史的文件大小

            HISTCONTROL:控制命令历史的记录方式

                ignoredups:忽略重复的命令

                ignorespace:忽略以空白字符开头的命令

                ignoreboth:以上两者同时生效

        基于命令历史的快捷操作:

            !#:再次执行历史列表中第#条命令

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

            !STRING:再次执行列表中最近一个以STRING开头的命令

            上下键

    (8)shutdown

        功能:关机或重启

        选项:

            -h:halt

            -r:reboot

        若想定义关机发送信息:

            shutdown -h 12:31 "The Server will be halt at 12:31"

            会向各登录用户发送提示信息,若想取消这项关机计划,ctrl+c取消计划

    (9)poweroff

        功能:关机命令

        原理:就是命令halt的软连接,而halt又是调用shutdown -h命令

    (10)reboot

        功能:重启命令

        选项:

            -n:保存数据后重新启动系统

    (11)hwclock及clock

        功能:显示硬件时钟

        选项:

            -s:–hctosys,以硬件时间为准,将系统时间调整为与硬件时间相同

            -w:–systohc,以系统时间为准,将硬件时间调整为与系统时间相同

    (12)date

        功能:显示系统时钟

        选项:

            %F、%T、%Y、%m、%d、%H、%M、%S、%s…

        示例:

            date +%Y%m%d%H%M%S

            20161128192145

    (13)cal

        功能:显示日历

        示例:

        cal [MONTH] [YEAR]

五、linux系统上获取命令的帮助信息

    (1)使用帮助之前指定命令的类型:

    type COMMAND

        (Ⅰ)内部命令:

            help COMMAND

        (Ⅱ)外部命令:

            a.COMMAND –help:命令自带简要格式的帮助

            b.man COMMAND:man手册,/usr/share/man

                -M /PATH/TO/SOMEDIR :到指定目录下查找man手册并打开

            c.info COMMAND:获取命令的在线文档

            d:主流发行版官方文档:如http://www.redhat.com/doc:

            e:程序官方网站上的document

    (2)关于man章节的功能说明

        使用whatis看命令拥有的man章节,该命令是通过数据库查询得出结果,使用makewhatis(6版本)或makedb更新数据库

            1:用户命令

            2:系统调用

            3:C库调用

            4:设备文件及特殊文件

            5:文件格式:配置文件格式

            6:游戏使用帮助

            7:杂项

            8:管理工具及守护进程

六、linux发行版的基础目录名称法则及功用规定

    FHS:filesystem  Hierarchy Standard文件系统层级结构标准

    FHS为多数Linux版本采用的文件组织形式,其采用树形结构组织文件

    

    FHS目录结构:

    /bin:所有用户可用的命令程序

    /sbin:仅供管理员用户使用的命令程序

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

    /dev:存储设备文件或特殊文件,如字符设备(线性设备)、块设备(随机设备)

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

    /home:普通用户的家目录,每个用户的家目录默认在此目录下,并且与用户同名

    /root:管理员的家目录

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

        libc.so.*:动态链接的C库

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

        modules:用于存储内核模块的目录

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

    /media:便携式设备挂载点,cdrom,floppy(软盘)等

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

    /opt:早期附加应用程序的安装路径,可选

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

    /tmp:为那些会产生临时文件的程序提供的临时文件存放目录

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

        bin,sbin

        lib,lib64

        include:c程序头文件

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

        local:另一个层级目录,让系统管理员安装本地应用程序,也通常用于安装第三方程序

        X11R6:X-Window程序的安装位置

        src:程序源码文件的存储位置,比如内核编译时将内核在此目录编译

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

        cache application cache data

        lib variable state information

        local variable data for /usr/local

        lock lock file

        log log files and directories

        opt variable data for /opt

        run data relevant to running processes

        spool application spool data

        tmp temporary files preserved between system reboots

    /proc:基于内存的虚拟文件系统,用于存放内核和进程存储相关信息,多为内核参数,如net.ipv4.ip_forward,虚拟为文件存放于/proc/sys下,即/proc/sys/net/ipv4/ip_forward

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

    

    FHS参考网址:https:www.ibm.com/developrworks/cn/linux/l-cn-sysfs/

原创文章,作者:N25_水煮鱼,如若转载,请注明出处:http://www.178linux.com/61307

(0)
N25_水煮鱼N25_水煮鱼
上一篇 2016-11-28
下一篇 2016-11-28

相关推荐

  • awk,systemctl,破解7root口令

    awk -F 指明输入时用到的字段分隔符 默认空格为分隔符 -v 自定义变量 基本格式:awk [options] 'program' file $1,$2..$n称为域标识,$0为所有域。 文件的每一行称为记录 awk '{print}' /etc/passwd 默认 print $0 显示全段   awk…

    Linux干货 2016-10-05
  • Linux基础命令 -管道密切配合使用 tee

    基础命令和管道密切配合使用  tee     基础命令:tee   tee命令 功能: 把命令1的STDOUT保存在文件名中,然后管道输入给命令2; 补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。 使用场景: 1.保存不同阶段的输出 2.复杂管道的故障排除 3.同时查看和记录…

    Linux干货 2016-08-03
  • 第二周作业

    第一、文件管理类命令     cp、mv、rm                  cp命令:copy 源文件;目标文件;     &nbsp…

    Linux干货 2016-12-12
  • #招聘福利#饿了么/运维核心岗位/上海

    饿了么/运维核心岗位/上海 待遇面谈 具体岗位:         应用运维,核心岗位,负责商家订单系统,有之前的学长带着成长 要求:     1、1-2年以上工作经验,     2、熟悉shell和python,    &nbsp…

    Linux干货 2016-03-18
  • linux一周学习总结

          对于linux,之前也完全没有接触过,完全零基础小白。来到马哥以后,进入学习也有一周时间 ,一周里老师带我们学习了很多指令,下面,我就自己的理解和老师讲授的内容对linux中的一些指令做一个简单的小总结。 一、关于SHELL Shell     查询当前系统使用了哪个shell   &n…

    2017-07-15
  • Linux系统启动过程及其修复过程简析

    Linux组成 Linux: kernel+rootfs     kernel: 进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能     rootfs:程序和glibc     库:函数集合, function, 调用接口(头文…

    Linux干货 2016-09-19

评论列表(4条)

  • N25_韩奇洋
    N25_韩奇洋 2016-11-28 19:41

    佩服,写的很不错

  • youzi
    youzi 2016-12-09 21:23

    图片很好玩

  • 漫动者
    漫动者 2017-01-09 20:31

    图片很好,哥们我拿走啦。。。