Unix和Linux有什么区别
目前IT领域对Unix和Linux的概念模糊不清,有的人说差不多,有的人说一样,也有的人说不一样,到底这两者之间有什么异同点,下面我们来分析一下。
把Unix和Linux认为差不多的原因是什么呢?其实Linux就是类Unix,什么叫类Linux,就是类似于Unix,是Unix的分支,从文件系统的结构、命令等方面比较相似,故此很多人觉得Linux和Unix差不多,实际上差得太多了,从内核、进程管理、设备管理、I/O方式等都不一样,即使是Unix之间,它们的区别也是比较大,更不用说Linux。
对Unix的不了解也造成了上面概念的混肴,目前主流的Unix系统有三种,分别是AIX、HP-UX、Solaris,它们分别运行在各自的Unix服务器上,这些Unix服务器自成体系,有自己生产的CPU、内存、主板等等,这些Unix系统互不兼容,它们各自有自己的系统工程师,这些工程师一般只熟悉其中的某种Unix系统,如果要熟悉其它的Unix系统,则还要继续学习,这些Unix系统没有好坏,只有不同。
另外,目前各个行业关键性的应用领域采用的都是Unix服务器,为什么呢?Linux一般运行在PC机上,不太稳定,并行度不够 一般应用在小型企业;而Unix系统则运行在Unix服务器上,这些服务器非常稳定,已经经历过几十年的考验,还有这些Unix服务器CPU的个数最多的可以达到一百多个,并行度非常高,这个是PC机无法比拟的。目前在电信、金融、油田、移动、证券等行业的关键性应用,Unix服务器处于垄断地位。所以只有掌握了Unix才能真正意义上的进入高端行业,对以后的职业发展是至关重要的。
那是不是Linux就不如Unix呢?我们去区分好坏是比较困难,但是应该从应用上区分比较好,Linux被称作是IT的后PC时代,前景非常广阔,目前其最大的应用是在嵌入式方面,作为服务器的`应用,一般停留在小型企业,比较低端的应用。
讲了这么多,大家应该对Unix和Linux有了比较清晰的认识,所以学会了Linux就等于会Unix的是个比较肤浅的认识。是个别公司商业上混肴视听的一种不负责任的做法。也造成了大家对Unix和Linux之间错误的认识。
那是不是说熟悉掌握了Linux,就一无是处?当然不是。至少以后学习Unix会比较容易一些,但是要能够真正的操作Unix系统,必须还要继续学习,以后就不能再说Unix和Linux差不多,我会了Linux就等于我会了Unix之类的言论。
那么如果想做一个有发展潜力的DBA,应该具备哪些知识呢?Oracle知识就不用说了,必须掌握的知识包括:Unix&Linux、存储管理、集群应用(RAC)、高可用性应用(MAA)等。
Unix与Linux的区别?
区别:1、开源情况UNIX 是商业化的,而 Linux 是开源的,是免费、公开源代码的。2、硬件适用UNIX系统大多是与硬件配套的,也就是说,大多数UNIX系统如AIX、HP-UX等是无法安装在 x86 服务器和个人计算机上的,而 Linux则可以运行在多种硬件平台上。可以先学习linux后再学习unix,因为linux可以方便的在虚拟机上运行,防止新手的误操作。而在发行版本上可以选择Ubuntu、Linux Mint等。unix诞生1965年时,贝尔实验室(Bell Labs)加入一项由通用电气(General Electric)和麻省理工学院(MIT)合作的计划;该计划要建立一套多使用者、多任务、多层次(multi-user、multi-processor、multi-level)的MULTICS操作系统。omputing Service"的缩写,在1970年时,那部PDP-7却只能支持两个使用者,当时,Brian Kernighan就开玩笑地称他们的系统其实是。"UNiplexed Information and Computing Service",缩写为"UNICS",后来,大家取其谐音,就称其为"UNIX"了。1970年可称为"UNIX元年"。
浅谈如何学习linux
随着互联网的迅猛发展,Linux得到了广发的应用,目前市场是百分之八十服务器端都在使用Linux操作系统,小至私人企业,大至世界百强企业,均有Linux操作系统使用者,因此,Linux就业前景很不错,很多人想学习Linux,那么Linux好学吗?一般多长时间能学会?Linux的学习说难不难,说容易也不容易,这就要看你是否掌握了合适的学习资源和方法,以及持之以恒的学习精神,如果这些都具备了,恭喜你,Linux运维工程师的大门已经向你敞开了!对于想学好Linux的人员,可以参考一下大纲进行学习:第一阶段:linux基础入门Linux基础入门主要包括:Linux硬件基础、Linux发展历史、Linux系统安装、xshell连接、xshell优化、SSH远程连接故障问题排查、Linux基础优化、Linux目录结构知识、Linux文件属性、Linux通配符、正则表达式、Linux系统权限等第二阶段:linux系统管理进阶linux系统管理进阶包括:Linux定时任务、Linux用户管理、Linux磁盘与文件系统、Linux三剑客之sed命令等。第三阶段:LinuxShell基础LinuxShell基础包括:Shell编程基础、Linux三剑客之awk命令等。第四阶段:Linux网络基础第五阶段:Linux网络服务Linux网络服务包括:集群实战架构开始及环境准备、rsync数据同步服务、Linux全网备份项目、nfs网络存储服务精讲、inotify/sersync实时数据同步/nfs存储实时备份项目等。第六阶段:Linux重要网络服务Linux重要网络服务包括:http协议/www服务基础、nginxweb介绍及基础实践、nginxweb、lnmp环境部署/数据库异机迁移/共享数据异机迁移到NFS系统、nginx负载均衡、keepalived高可用等。第七阶段:Ansible自动化运维与Zabbix监控Ansible自动化运维与Zabbix监控包括:SSH服务秘钥认证、ansible批量自动化管理集群、zabbix监控等。第九阶段:大规模集群高可用服务(Lvs、Keepalived)第十阶段:JavaTomcat服务及防火墙Iptables第十一阶段:MySQLDBA高级应用实践MySQLDBA高级应用实践包括:MySQL数据库入门基础命令、MySQL数据库进阶备份恢复、MySQL数据库深入事务引擎、MySQL数据库优化SQL语句优化、MySQL数据库集群主从复制/读写分离、MySQL数据库高可用/mha/keepalved等。第十二阶段:高性能数据库Redis和Memcached课程第十三阶段:Linux大规模集群架构构建(200台)第十四阶段:LinuxShell编程企业案例实战第十五阶段:企业级代码发布上线方案(SVN和Git)第十六阶段企业级Kvm虚拟化与OpenStack云计算第十七阶段公有云阿里云8大组件构建集群实战第十八阶段:Docker技术企业应用实践第十九阶段:Python自动化入门及进阶第二十阶段:职业规划与高薪就业指导
linux怎么学
新手必读“嵌入式系统学习11大步骤”1、Linux 基础安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器2、Shell 编程基础Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序 (更多相关内容请关注:东方赛富——国内一流嵌入式培训学院)3、Linux 下的 C 编程基础linux C语言环境概述 G使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化 熟悉Linux系统下的开发环境 熟悉G编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序4、嵌入式系统开发基础嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_g工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序4、嵌入式系统移植Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板5、嵌入式 Linux 下串口通信串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM 能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序(更多相关内容请关注:东方赛富——国内一流嵌入式培训学院)6、嵌入式系统中多进程程序设计Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序7、嵌入式系统中多线程程序设计线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序8、嵌入式 Linux 网络编程网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理 PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS 使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在 ARM平台的网络播放器9、GUI 程序开发GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序 调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件(更多相关内容请关注:东方赛富——国内一流嵌入式培训学院)10、Linux 字符设备驱动程序设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念 了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序 对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统 对比Linux2.6内核与2.4内核中块设备驱动的不同11、文件系统虚拟文件系统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化 MTD块设备的读写操作了解Linux系统的文件系统 了解嵌入式Linux的文件系统 了解MTD技术 能够编写简单的文件系统为 ARM9开发板添加 MTD支持 移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统