330 likes | 653 Views
Linux 基础知识讲座. 索引. Linux 简介 主流的 Linux 发行版 Linux 下的文件系统 Linux 下的常用命令 Linux 下的常用软件 Linux 下软件的安装方法 Linux 下的编程. Linux 简介. 简单地说, Linux 是一套免费使用和自由传播的类 Unix 操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的 Unix 兼容产品。. Linux 的出现.
E N D
索引 • Linux简介 • 主流的Linux发行版 • Linux下的文件系统 • Linux下的常用命令 • Linux下的常用软件 • Linux下软件的安装方法 • Linux下的编程
Linux简介 简单地说,Linux是一套免费使用和自由传播的类Unix操作系统。这个系统是由世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约、全世界都能自由使用的Unix兼容产品。
Linux的出现 最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。
GNU计划 • GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。 • GNU是“GNU's Not Unix”的递归缩写。
GPL • GPL,是General Public License的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表,亦非使用GNU通用公共授权的软件的法定发布条款─只有GNU通用公共授权英文原文的版本始具有此等效力。
主流的Linux发行版 • 主流的Linux发行版 • Asianux ,ArchLinux,B2D Linux ,Conectiva Linux ,Debian GNU/Linux,Fedora Core,Gentoo Linux ,Knoppix Linux ,Linux From Scratch ,Magic Linux ,Mandriva Linux ,Red Hat Linux,Slackware Linux ,Stanix Live CD ,SUSE Linux,Turbo Linux ,Ubuntu Linux,CentOS,IPCop,NUtyx,DEFT,NETbsd,turbolinux • 中国大陆的Linux发行版 • 红旗Linux(Redflag Linux),Qomo Linux,冲浪Linux(Xteam Linux) ,蓝点Linux ,新华Linux ,共创Linux ,百资Linux ,veket, lucky8k-veket.Open Desktop ,Hiweed GNU/Linux ,Magic Linux ,Engineering Computing GNU/Linux ,kylin,中标普华Linux ,中软Linux ,新华华镭Linux(RaysLX) ,CD Linux ,MC Linux ,即时Linux(Thizlinux) ,b2d linux ,IBOX ,MCLOS ,FANX,Everest,酷博linux,新氧Linux,Hiweed,Deepin Linux,需要说明的是,新氧、Hiweed、Deepin都是基于ubuntu,并且Deepin Linux是Hiweed与深度合并后的版本,原来的Hiweed已经停止更新,新氧也停止更新了。
Redhat • Red Hat是全球最大的开源技术厂家,其产品Red Hat Linux也是全世界应用最广泛的Linux。Red Hat公司总部位于美国北卡罗来纳州。在全球拥有22个分部。 • 对于Red Hat来说,开放源代码已经不只是一个软件模型,这正是Red Hat的商业模式。因为Red Hat坚信只有协作,企业才能创造出非凡质量和价值的产品。 • 在Red Hat的300名工程师中,有6名来自于全世界最顶尖的10名Linux核心开发者,7名来自全球最出色10名Linux开发工具工程师。全世界,也许只有Red Hat能够把Linux和开源技术以及企业级的培训、技术支持和咨询融合得如此美妙。Red Hat的培训及认证被认为是Linux认证的标准。Certification杂志的最新调查显示,RHCE(Red Hat认证工程师)认证被公认为总体质量最高的国际IT认证。
Redhat的版本历史 1994年11月,Redhat Linux 1.0 2004年 终止支持 2003年3月,Redhat Linux 9.0 2002年5月, RedHatEnterpriseEdition2.1AS 最新版本 2010年12月, RedHatEnterpriseEdition6.0AS
Fedora • Fedora Core(自第七版直接更名为Fedora)是众多 Linux 发行套件之一。它是一套从Red Hat Linux发展出来的免费Linux系统。现时Fedora最新的版本是Fedora 14,Fedora是linux发行版中更新最快的之一,通常每6个月发布一个正式的新版本。 • Fedora和Redhat这两个Linux的发行版联系很密切。Redhat 自9.0以后,不再发布桌面版的,而是把这个项目与开源社区合作,于是就有了Fedora 这个 Linux 发行版。Fedora 可以说是Redhat 桌面版本的延续,只不过是与开源社区合作。 • Fedora Core 的前身就是Red Hat Linux。2003年9月,红帽公司 (Red Hat) 突然宣布不再推出个人使用的发行套件而专心发展商业版本(Red Hat Enterprise Linux)的桌面套件,但是红帽公司也同时宣布将原有的 Red Hat Linux 开发计划和 Fedora 计划整合成一个新的 Fedora Project。Fedora Project 将会由红帽公司赞助,以 Red Hat Linux 9 为范本加以改进,原本的开发团队将会继续参与 Fedora 的开发计划,同时也鼓励开放原始码社群参与开发工作。
Fedora的版本历史 2003年11月, Fedora Core 1 2006年10月, Fedora Core 6 开始改名,统一版本 2007年6月, Fedora 7 最新版本 2010年11月, Fedora 14
CentOS • CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件。 • CentOS的发行版本号与Redhat一致,历史与Redhat相近,相差几个月。
ubuntu • Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。
Ubuntu的发行历史 • 4.10 2004年10月20日 Warty Warthog • 5.04 2005年4月8日 Hoary Hedgehog • 5.10 2005年10月13日 Breezy Badger • 6.06 LTS(长期支持版) 2006年6月1日 Dapper Drake • 6.10 2006年10月26日 Edgy Eft • 7.04 2007年4月19日 Feisty Fawn • 7.10 2007年10月18日 Gutsy Gibbon • 8.04 LTS(长期支持版)2008年4月24发布 Hardy Heron • 8.10 2008年10月30日发布 Intrepid Ibex • 9.04 2009年4月23日发布 Jaunty Jackalope • 9.10 2009年10月29日发布 Karmic Koala • 10.04 LTS(长期支持版)2010年4月29日发布 Lucid Lynx • 10.10 2010年10月10日发布 Maverick Meerkat • 11.04 即将在2011年4月发布 Natty Narwhal
Debian • Debian GNU/Linux是由一个叫做伊恩·默多克(IanMurdock)的牛人在1993年发起的,他的名字以Ian开头,他太太的名字Debra开头三个字母是Deb,于是在爱情的力量下,他发起了DebianGNU/Linux组织。
openSUSE • openSUSE 项目是由 Novell 发起的开源社区计划。 旨在推进 Linux 的广泛使用。 openSUSE.org提供了自由简单的方法来获得世界上最好用的 Linux 发行版,SUSE Linux。 openSUSE 项目为 Linux开发者和爱好者提供了开始使用 Linux 所需要的一切。
红旗Linux • 红旗Linux是由北京中科红旗软件技术有限公司开发的一系列Linux发行版,包括桌面版、工作站版、数据中心服务器版、HA集群版和红旗嵌入式Linux等产品。目前在中国各软件专卖店可以购买到光盘版,同时官方网站也提供光盘镜像免费下载。红旗Linux是中国较大、较成熟的Linux发行版之一。
Linux下的文件系统 • 在Linux下没有盘符的概念,不管是什么存储盘,在它里面都是一样对待的,系统里只有从根目录往下一层层的目录,一个盘可以多个目录,一个目录也可能会跨多个盘。 • Ext2: • Ext2是GNU/Linux系统中标准的文件系统。这是Linux中使用最多的一种文件系统,它是专门为Linux设计的,拥有极快的速度和极小的CPU占用率。Ext2既可以用于标准的块设备(如硬盘),也被应用在软盘等移动存储设备上。 • Ext3: • Ext3是Ext2的下一代,也就是保有Ext2的格式之下再加上日志功能。Ext3是一种日志式文件系统(Journal File System),最大的特点是:它会将整个磁盘的写入动作完整的记录在磁盘的某个区域上,以便有需要时回溯追踪。当在某个过程中断时,系统可以根据这些记录直接回溯并重整被中断的部分,重整速度相当快。该分区格式被广泛应用在Linux系统中。 • Ext4: • ext4是ext3文件系统的后继版本。ext4原始的开发目标是一系列的向下兼容ext3、移除其64位限制与提升其效能的延伸包。然而,某些Linux开发者因稳定性原因而拒绝将这些延伸包应用在ext3上,并要求其作为ext3的分支,改名为ext4并另行开发,以免影响到目前的ext3用户。该要求被接受以后,ext3维护者Theodore Ts'o在2006年6月28日公开了ext4的开发计划。
Linux下的文件系统 • Linux swap: • 它是Linux中一种专门用于交换分区的swap文件系统。Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是主内存的2倍。在内存不够时,Linux会将部分数据写到交换分区上。 • VFAT: • VFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。 • LVM是Logical Volume Manager(逻辑卷管理器)的简称,它可以使管理员在Linux系统上更加灵活的规划和使用磁盘空间。对于传统的分区类型,其尺寸是固定的,不能够动态扩展。因此在使用之前,管理员需要提前规划分区的用途和需要的尺寸。一旦某个分区的尺寸不能满足需求了,管理员将不得不重新分区,或者将包含足够空间的新磁盘分区挂载到原有文件系统上。使用LVM处理这样的问题将获得更大的灵活性。在LVM中,分区对应物理磁盘上一系列连续数据块的概念已经演变了。现在通过LVM可以将物理磁盘的空间分解为很多单元,然后将多个物理磁盘的存储单元汇聚为一个可供用户使用的逻辑单元。用户不再直接使用物理磁盘,而是一个经过逻辑划分的虚拟磁盘。逻辑单元的空间可以来自于多个物理磁盘,同时管理员也可以通过扩展逻辑单元动态增加可用的磁盘空间。
Linux下的常用软件 • 文本编辑(VI,EMACS,GEDIT) • 办公套件(OpenOffice) • 浏览网页(Firefox) • 邮件收发(Mozilla Thunderbird) • 文件上传下载(ftp,gftp) • 多媒体播放(mplayer,rhythmbox) • 即时通讯(QQ,gMSN,lumaQQ,gaim) • 编程(Eclipse) • 虚拟机(qemu-kvm,virtualbox,vmware)
Linux下的软件安装方法 • 不同发行版本的Linux下的软件安装方法不同 • 通用的makefile • Rpm(redhat,fedora,centos,opensuse) rpm –ivh ***.rpm • Yum(redhat,fedora,centos,opensuse) yum search ***,yum install *** • Deb(debain,ubuntu) depk –I ***.deb • Apt-get(debain,ubuntu) apt-get search ***,apt-get install ***
Linux下的编程 • VI,牛人的编程工具 • Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
Linux下的C++编程 • VI + gcc + gdb • Eclipse + cdt plus • Windows下的magic c++
Linux的常用技术 • 远程桌面(VNC Server) 1、安装VNC Server 2、首次运行vncserver需要设置密码 3、配置防火墙,开放5900,5901~ 编辑/etc/sysconfig/iptables,加入一行 -A INPUT -m state --state NEW -m tcp -p tcp --dport 5900:5910 -j ACCEPT 4、设置自启动, 配置/etc/sysconfig/vncservers文件,去掉倒数第二行的注释,使之成为: VNCSERVERS=“1:user1 2:user2 3:user3 ...”这里可配置1个或多个user,也就是不同的系统用户能够使用不同的远程桌面。 使用如下命令,使之随系统自动启动:$ /sbin/chkconfig --level 2345 vncserver on redhat下需要编辑/.vnc/xstartup 文件,去掉两行前的注释号‘#’ # unset SESSION_MANAGER #将此行的注释去掉 # exec /etc/X11/xinit/xinitrc #将此行的注释去掉 fedora下不叫vncserver,叫tiger-vncserver,没有上面redhat的这个问题
Linux下常用技巧 • 忘了root密码怎么办? 方法1:手动编辑grub启动命令行加入*** single 方法2:用光盘启动在启动界面输入“Linux rescue”,加载系统后运行“chroot /mnt/sysimage ”
其实对于用户密码的破解并不难,利用其编辑root用户的功能可以利用命令代码进行系列操作,步骤如下图:其实对于用户密码的破解并不难,利用其编辑root用户的功能可以利用命令代码进行系列操作,步骤如下图: 步骤1 在进入Linux系统界面的过程中可以进行编辑操作系统,在提示下输入“e”可以进入编辑的选择界面,从而进行下一步的操作。
步骤2 在进入编辑的界面和上一个界面的显示风格一样,但是不同的是多出可以编辑的选项,操作如图。通常输入“single”进入单用户模式下进行操作修改,但是笔者在这里建议输入“空格1”进入操作系统修改界面。
步骤3 通过重新启动后,系统会自动停止到编辑状态,用户可以通过如下的代码进行密码的重新修改,设定新的密码,值得注意的是Linux系统在安全方面同样体现其性能,输入的密码不体现在界面上,同时密码过于简单的情况下,系统会提示用户密码的安全性,十分的实用。
sh -2.05b# passwd rootchanging password for user root:BAD PASSWORD:it is too simplistic/systematicretype new password:passwd:all authentication tokens updated successfully. sh -2.05b# exit 最后一步键入“exit”回车后,电脑会自动重新启动,然后输入新的密码就可以进行linux的系统操作了,到这里就破解了根用户的密码。
Linux下常用技巧 • 如何装linux与windows双系统(利用grub或grub for DOS) • Linux下如何合理的分区(home目录与var目录独立分区) • “盗版的Redhat”如何在线安装软件(利用CentOS源) 在 /etc/yum.repos.d/ 目录下新建一个文件 CentOS-Base.repo • 结合vmware让windows程序在linux桌面上运行
“盗版的Redhat”如何在线安装软件 • [base] • name=CentOS-$releasever - Base • baseurl=http://mirrors.kernel.org/centos/5.5/os/i386/ • gpgcheck=1 • gpgkey=http://mirrors.kernel.org/centos/5.5/os/i386/RPM-GPG-KEY-CentOS-5 • #released updates • [update] • name=CentOS-$releasever - Updates • baseurl=http://mirrors.kernel.org/centos/5.5/updates/i386/ • gpgcheck=1 • gpgkey=http://mirrors.kernel.org/centos/5.5/os/i386/RPM-GPG-KEY-CentOS-5 • #packages used/produced in the build but not released • [addons] • name=CentOS-$releasever - Addons • baseurl=http://mirrors.kernel.org/centos/5.5/addons/i386/ • gpgcheck=1 • gpgkey=http://mirrors.kernel.org/centos/5.5/os/i386/RPM-GPG-KEY-CentOS-5 • #additional packages that may be useful • [extras] • name=CentOS-$releasever - Extras • baseurl=http://mirrors.kernel.org/centos/5.5/extras/i386/ • gpgcheck=1 • gpgkey=http://mirrors.kernel.org/centos/5.5/os/i386/RPM-GPG-KEY-CentOS-5