Linux简述

计算机诞生                                                                                                                                                                                           1946年2月14日,由美国军方定制的世界上第一台电子计算机“电子数字积分计算机”(ENIAC Eletronic Numerical Integrator And Calculator)在美国宾夕法尼亚大学问世了。

    计算机(computer)俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件系统和软件系统所组成,没有安装任何软件的计算机称为裸机。

             计算机组成

       冯· 诺依曼体系结构:1946 年计算机发明者冯· 诺依曼于提出计算机硬件由运算器、控制器、存储器、输入设备、输出设备组成。

      计算机硬件发展史:

  • 第一代计算机(1946-1957) 电子管时代
  • 第二代计算机(1958-1964) 晶体管时代
  • 第三代计算机(1965-1970)  集成电路 时代
  • 第四代计算机(1971 以后) 大规模集成电路 时代

操作系统
    操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。
    操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让计算机系统所有资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。

UNIX 
    UNIX 是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。UNIX 最早由Ken Thompson和Dennis Ritchie于1969年在美国AT&T的贝尔实验室开发。

    UNIX哲学

  • 小即是美。
  • 让程序只做好一件事。
  • 尽可能早地建立原型。
  • 可移植性比效率更重要。
  • 数据应该保存为文本文件。
  • Use software leverage to your advantage. 
  • 使用shell脚本来提高效率和可移植性。
  • 避免使用漂亮的用户界面。
  • 为每个程序添加一个过滤机制。


GNU项目介绍

  • 1983Richard Stallman发起目的是创建一套完全自由的操作系统
  • 1985Richard Stallman创立了自由软件基金会FSF为GNU提供技术、法律、财政支持,GNU计划开发了大量的自由软件
  • 1990年GNU计划已经开发出包括Emacs、GCC等大部分软件工具,但操作系统内核HUR进展缓慢
  • 1992年GNU与Linux结合,诞生完全自由的操作系统“GNU/LinuxGPL–GNU通用公共授权
  • Free Software的概念不是免费,自由软件的重点在于自由权,而非价格。要了解其所代表的概念,你应该将“自由”想成是“言论自由”,而不是“免费啤酒”–理查德.斯托曼
  • GPL是一种授权方式,其精神是自由、分享、互惠
  • Copyleft 版权概念 ,传染性允许他人任意的修改散步作品,唯其散步及修改的行为和做法,亦限定于Copyleft的方式行之open source


Linux

  • 核心编写者Linus Torvalds 芬兰人林纳斯.托瓦兹,1991年9月发布了Linux内核第一个版本
  • Linux的历史与GNU紧密联系,linux内核遵循GNU 和GPL,但并不是GNU计划的一部分,1994年3月linux1.0版正式发布,Redhat公司成立,成为最著名的linux发行商之一
  • 自由的类Unix操作系统

     Linux 操作系统:
        Linux  Kernel内核+ GNU 工具= 完整的类UNIX操作系统
        如:CentOS,Ubuntu,Android

    Linux 发行版

  •  slackware:SUSE Linux Enterprise Server (SLES)
  • opensuse 桌面
  •  debian: ubuntu ,mint
  •  redhat: : rhel: redhat enterprise linux
  • 每18 个月发行一个新版本
  • CentOS :兼容rhel 的格式
  • 中标麒麟:中标软件
  • fedora :每6 个月发行一个新版本
  •  ArchLinux :轻量简洁
  •  Gentoo :极致性能, 不提供传统意义的安装程序
  •  LFS: Linux From scratch  自制Linux
  •  Android: kernel+busybox (工具集)+java 虚拟机
  •  Linux 分支参考网站:http://futurist.se/gldt/

Linux的哲学思想
      1.一切皆文件接口
          把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等
      2. 用众多功能单一的程序组成,一个程序只做一件事,并且做好
          组合小程序完成复查任务
      3.尽量避免跟用户交互
           目标:易于以编程的方式实现自动化任务
      4.  使用文本文件保存配置信息

linux文件系统

文件系统目录

    Linux有一个树状结构来组织文件。树的顶端为根目录(/),节点为目录,而末端的叶子为包含数据的文件。当我们给出一个文件的完整路径时,我们从根目录出发,经过沿途各个目录,最终到达文件。

  • 根文件系统(rootfs) :root filesystem
  • 文件名称 区分大小写
  • 以. 开头的文件为隐藏文件
  • 路径分隔的 /
  • 文件有两类数据:
  •      元数据:metadata
  •      数据:data
  • 文件系统分层结构:LSB Linux Standard Base
  •  FHS: (Filesystem Hierarchy Standard)
  • 文件名最长255 个字节
  • 包括路径在内文件名称最长4095 个字节

/:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。

/bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。

/boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。

/cdrom:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom

/dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

/etc:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。

/home:如果建立一个用户,用户名是”xx”,那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。

/lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。

/lost+found:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。

/mnt:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。

/media:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。

/opt:这里主要存放那些可选的程序。

/proc:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。

/root:Linux超级权限用户root的家目录。

/sbin:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。

/selinux :对SElinux的一些配置文件目录,SElinux可以让linux更加安全。

/srv 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中

/tmp:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。

/usr

这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具

/usr/local:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。

/usr/share :系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。

/var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。

Shell  是Linux 系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行

   shell 也被称为LINUX 的命令解释器(command interpreter) )
   shell 是一种高级程序设计语言
输入命令后回车:
提请shell 程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来

在shell 中可执行的命令有两类:
   内部命令:由shell 自带的,而且通过某命令形式提供
     help  内部命令列表
     enable cmd  可以启用
     enable –n cmd  禁用 内部 命令
     enable –n  查看所有禁用的内部命令
 外部命令:在文件系统路径下有对应的可执行程序文件
       查看路径:which -a |–skip-alias ; whereis
 区别指定的命令是内部或外部命令:
       # type COMMAND

使用手册  MAN  章节                /usr/share/man
1、Standard commands (标准命令)
2、System calls (系统调用)
3、Library functions (库函数)
4、Special devices (设备说明)
5、File formats (文件格式)
6、Games and toys (游戏和娱乐)
7、Miscellaneous (杂项)
8、Administrative Commands (管理员命令)
9 其他(Linux特定的), 用来存放内核例行程序的文档。
 man 常用于命令参考 ,GNU 工具info 适合通用文档参考。

  •  没有参数, 列出所有的页面
  •   info  页面的结构就像一个网站
  •   每一页分为“节点”
  •  链接节点之前 *
 info [ 命令 ]  //获取命令的在线文档;
 主流发行版官方文档:
    https://www.redhat.com/doc

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

(0)
Mr-XiaoMr-Xiao
上一篇 2017-03-18
下一篇 2017-03-18

相关推荐

  • RPM简述

    RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用。 RPM包里面都包含什么?里面包含可执行的二进制程序,这个程序和Win…

    Linux干货 2017-08-12
  • bash的特性总结

    什么是bash:       shell作为用户与计算机内核交互的接口,是用户与计算机沟通的桥梁,而bash(borne again shell)是众多shell里面最为流行一种,bash作为众多shell里面的一种有着众多的特性,掌握bash的众多特性将会是我们今后学习linux必经之路。&nbs…

    Linux干货 2015-10-27
  • 使用cp命令定时复制数据

    cp命令 cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或者目录。 cp [选项] [参数] 常用选项: -r -R 递归拷贝目录及目录里所有的内容 -i 交互式,默认支持 -d 复制的时候,如果目录有链接文件,则只复制链接文件 -p –preserv,复制的时候将文件的属性一起复制 -a = -dpR -v 复制的时候显示详细过程 如何定期执…

    Linux干货 2017-04-03
  • glob及IO重定向

    globbing: 文件名通配     匹配模式:元字符           *:匹配任意长度的任意字符    pa* ,*pa* ,*pa,  *p*a*    pa, paa, passwd    ?:  …

    Linux干货 2016-12-21
  • Python内置数据结构

    Python内置数据结构 数值型 Int,float,complex,bool 序列对象 字符串:str  列表:list   数组:tuple 键值对 集合:set    字典:dict 数值型 Int,float,complex,bool都是class,1,5.0,2+3j都是对象即示例 Int:python3的int就是长整形,且没有大小限制,受限于内…

    Linux干货 2018-03-26
  • N21_迟来的第三周练习

    最近忙成狗,落后了许多 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d ' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last&nbsp…

    Linux干货 2016-08-02

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-20 10:00

    对计算机及linux的起源写的很详细,赞一个