1.描述计算机的组成及其功能
(一)计算机的组成
1.CPU
2.CPU风扇
3.BIOS
4.内存
5.硬盘
6.主板
7.显卡
8.电源
9.网卡
10.机箱
11.光驱
12.显示器
13.键盘
14.鼠标
(二)功能
1.CPU 中央处理器
CPU (Central Processing Unit)中央处理器:相当 于人体的大脑。由控制器(Control)和·运算器(Arithmetic Logic Unit)组成 。它的主要功能是负责计算机运算和控制。它决定计算机的工作速度和效率。比计算机中的任何部件都能决定计算机的速度和效率。是计算机最重的部件。
2.风扇
cpu风扇:主要的作用就是为cpu降温。若温度过高 会导致计算机死机,或者重启。所以它也是计算机比软重要的部件之一。
3.BIOS
bios:(Basic Input Output System):基本输入输出系统,负责主板通电后各部件自检,设置,保存。待一切正常后才能启动系统。
4.内存
内存又叫内部存储器(RAM):属于电子式存储设备,它由电路板和芯片组成,特点是体积小,速度快,有电可存,无电清空,即电脑在开机状态时内存中可存储数据,关机后将自动清空其中的所有数据。内存是临时存储器,它是CPU和磁盘之间的缓冲设备。一般程序运行的时候会被调到内存中执行,服务关闭或程序关闭之后,数据会自动从内存中释放掉。
5.硬盘
硬盘(HardDisk):它是永久存放数据的存储器。磁盘上也是有缓存的 。常用的磁盘有3.5英寸的(IDE ,SAS ,SATA,SCSI)硬盘,但他们都属于机械硬盘。读取性能不高,比起内存要差很多。现在最流行一种固态磁盘(SSD),它是电子,读取性能 都比较高,但价格较贵。
6.主板
主板,又叫主机板(mainboard)、系统板(systemboard)或母板(motherboard),它安装在机箱内,是微机最基本的也是最重要的部件之一。主板是电脑中各个部件工作的一个平台,它把电脑的各个部件紧密连接在一起,各个部件通过主板进行数据传输。也就是说,电脑中重要的 “交通枢纽” 都在主板上,它工作的稳定性影响着整机工作的稳定性 。
7.显卡
显卡在工作时与显示器配合输出图形,文字,其作用是负责将CPU送来的数字信号转换成显示器识别的模拟信号,传送到显示器上显示出来。 一般玩游戏,做大数据处理要求显卡的性能要好一点,显卡上也有缓存。
8.网卡
充当计算机与网线之间的桥梁,是组成一个完整网络重要的部件。
9.电源
给计算机提供能源的装置。
10.机箱
用来把主板,电源,硬盘,光驱等硬件设备组装在一起的一个铁盒子。
11.光驱
光驱是用来读取光盘中的设备,光盘为只读外部存储设备。
12.显示器
是把电脑处理完的结果显示出来.它是一个输出设备,是电脑必不可缺少的部件之一。
13.键盘
为提供用户输入数据。
14.鼠标
为用户提供操作功能。
2.Linux发行版,不同发行版之间的区别
Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用。这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写。它们通常包括了其他的系统软件和应用软件,以及一个用来简化系统初始安装的安装工具,和让软件安装升级的集成管理器。大多数系统还包括了像提供GUI界面的XFree86之类的曾经运行于BSD的程序。一个典型的Linux发行版包括:Linux内核,一些GNU程序库和工具,命令行shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。
简介:
发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统,甚至许多版本故意地只加入免费软件。已经有超过三百个发行版被积极的开发,最普遍被使用的发行版有大约十二个。
来历:
Linux是一个诞生于网络、成长于网络且成熟于网络的奇特的操作系统。1991年,芬兰大学生Linus Torvalds萌发了开发一个自由的UNIX操作系统的想法,当年,Linux就诞生了,为了不让这个羽毛未丰的操作系统矢折,Linus将自已的作品Linux通过Internet发布。从此一大批知名的、不知名的电脑黑客、编程人员加入到开发过程中来,Linux逐渐成长起来。
Linux一开始是要求所有的源码必须公开,并且任何人均不得从Linux交易中获利。然而这种纯粹的自由软件的理想对于Linux的普及和发展是不利的,于是Linux开始转向GPL,成为GNU阵营中的主要一员。
Linux凭借优秀的设计,不凡的性能,加上IBM、INTEL、CA、CORE、ORACLE等国际知名企业的大力支持,市场份额逐步扩大,逐渐成为主流操作系统之一。
发行版最流行的12个:
Fedora Core
Fedora Core(自第七版直接更名为Fedora)是众多 Linux 发行版之一。它是一套从Red Hat Linux发展出来的免费Linux系统。Fedora Core 的前身就是Red Hat Linux。Fedora是一个开放的、创新的、前瞻性的操作系统和平台,基于Linux。它允许任何人自由地使用、修改和重发布,无论现在还是将来。它由一个强大的社群开发,这个社群的成员以自己的不懈努力,提供并维护自由、开放源码的软件和开放的标准。Fedora 项目由 Fedora 基金会管理和控制,得到了 Red Hat, Inc. 的支持。Fedora 是一个独立的操作系统,是Linux的一个发行版,可运行的体系结构包括 x86(即i386-i686), x86_64 和 PowerPC。
Linux版本Debian
Debian Project诞生于1993年8月13日,它的目标是提供一个稳定容错的Linux版本。支持Debian的不是某家公司,而是许多在其改进过程中投入了大量时间的开发人员,这种改进吸取了早期Linux的经验。
Debian以其稳定性著称,虽然它的早期版本Slink有一些问题,但是它的现有版本Potato已经相当稳定了。这个版本更多的使用了 pluggable authentication modules (PAM),综合了一些更易于处理的需要认证的软件(如winbind for Samba)。
Debian的安装完全是基于文本的,对于其本身来说这不是一件坏事。但对于初级用户来说却并非这样。因为它仅仅使用fdisk 作为分区工具而没有自动分区功能,所以它的磁盘分区过程令人十分讨厌。磁盘设置完毕后,软件工具包的选择通过一个名为dselect的工具实现,但它不向用户提供安装基本工具组(如开发工具)的简易设置步骤。最后需要使用anXious工具配置X Windows,这个过程与其他版本的X Windows配置过程类似。完成这些配置后,Debian就可以使用了。
Debian主要通过基于Web的论坛和邮件列表来提供技术支持。作为服务器平台,Debian提供一个稳定的环境。为了保证它的稳定性,开发者不会在其中随意添加新技术,而是通过多次测试之后才选定合适的技术加入。当前最新正式版本是Debian 6,采用的内核是Linux 2.6.32。Debian 6 第一次包含了一个100%开源的Linux内核,这个内核中不再包含任何闭源的硬件驱动。所有的闭源软件都被隔离成单独的软件包,放到Debian软件源的 "non-free" 部分。由此,Debian用户便可以自由地选择是使用一个完全开源的系统还是添加一些闭源驱动。[1]
Linux版本Mandrake
MandrakeSoft,Linux Mandrake的发行商,在1998年由一个推崇Linux的小组创立,它的目标是尽量让工作变得更简单。最终,Mandrake给人们提供了一个优秀的图形安装界面,它的最新版本还包含了许多Linux软件包。
作为Red Hat Linux的一个分支,Mandrake将自己定位在桌面市场的最佳Linux版本上。但该公司还是支持服务器上的安装,而且成绩并不坏。Mandrake的安装非常简单明了,为初级用户设置了简单的安装选项。它完全使用GUI界面,还为磁盘分区制作了一个适合各类用户的简单GUI界面。软件包的选择非常标准,另外还有对软件组和单个工具包的选项。安装完毕后,用户只需重启系统并登录进入即可。
Mandrake主要通过邮件列表和Mandrak 自己的Web论坛提供技术支持。Mandrak对桌面用户来说是一个非常不错的选择,它还可作为一款优秀的服务器系统,尤其适合Linux新手使用。它使用最新版本的内核,拥有许多用户需要在Linux服务器环境中使用的软件——数据库和Web服务器。
Mandrak没有重大的软件缺陷,只是它更加关注桌面市场,较少关注服务器市场。
Linux版本Ubuntu
Ubuntu是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词(译为吾帮托或乌班图),意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和unity桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。随着云计算的流行,ubuntu推出了一个云计算环境搭建的解决方案,可以在其官方网站找到相关信息。于2012年4月26日发布最终版ubuntu 12.04,ubuntu 12.04是长期支持的版本。
Linux版本Red Hat Linux
可能这是最著名的Linux版本了,Red Hat Linux已经创造了自己的品牌,越来越多的人听说过它。Red Hat在1994年创业,当时聘用了全世界500多名员工,他们都致力于开放的源代码体系。
Red Hat Linux是公共环境中表现上佳的服务器。它拥有自己的公司,能向用户提供一套完整的服务,这使得它特别适合在公共网络中使用。这个版本的Linux也使用最新的内核,还拥有大多数人都需要使用的主体软件包。
Red Hat Linux的安装过程也十分简单明了。它的图形安装过程提供简易设置服务器的全部信息。磁盘分区过程可以自动完成,还可以选择GUI工具完成,即使对于 Linux新手来说这些都非常简单。选择软件包的过程也与其他版本类似;用户可以选择软件包种类或特殊的软件包。系统运行起来后,用户可以从Web站点和 Red Hat那里得到充分的技术支持。我发现Red Hat是一个符合大众需求的最优版本。在服务器和桌面系统中它都工作得很好。Red Hat的唯一缺陷是带有一些不标准的内核补丁,这使得它难于按用户的需求进行定制。 Red Hat通过论坛和邮件列表提供广泛的技术支持,它还有自己公司的电话技术支持,后者对要求更高技术支持水平的集团客户更有吸引力。
Linux版本SuSE
总部设在德国的SuSE AG在商界已经奋斗了8年多,它一直致力于创建一个连接数据库的最佳Linux版本。为了实现这一目的,SuSE与Oracle 和IBM合作,以使他们的产品能稳定地工作。SuSE还开发了SuSE Linux eMail Server III,一个非常稳定的电子邮件群组应用。
基于2.4.10内核的SuSE 7.3,在原有版本的基础上提高了易用性。安装过程通过GUI完成,磁盘分区过程也非常简单,但它没有为用户提供更多的控制和选择。
在SuSE 操作系统下,可以非常方便地访问Windows磁盘,这使得两种平台之间的切换,以及使用双系统启动变得更容易。SuSE的硬件检测非常优秀,该版本在服务器和工作站上都用得很好。
SuSE拥有界面友好的安装过程,还有图形管理工具,可方便地访问Windows磁盘,对于终端用户和管理员来说使用它同样方便,这使它成为了一个强大的服务器平台。 SuSE也通过基于Web的论坛提供技术支持,另外我还发现它有电话技术支持。
Linux版本Linux Mint
Linux Mint是一份基于Ubuntu的发行版,其目标是提供一种更完整的即刻可用体验,这包括提供浏览器插件、多媒体编解码器、对DVD播放的支持、Java和其他组件。它与Ubuntu软件仓库兼容。Linux Mint 是一个为pc和X86电脑设计的操作系统。
因此,一个可以跑得动Windows的电脑也可以使用Linux Mint来代替Windows,或者两个都跑。既有Windows又有Linux的系统就是传说中的“双系统”。同样,MAC,BSD或者其他的Linux版本也可以和Linux Mint 共存。一台装有多系统的电脑在开机的时候会出现一个供你选择操作系统的菜单。Linux Mint可以很好的在一个单系统的电脑上运行,但是它也可以自动检测其他操作系统并与其互动,例如,如果你安装Linux Mint在一个安装了Windows版本的(xp,vista或者其他版本),它会自动检测并建立双启动以供您在开机的时候选择启动哪个系统。并且你可以在Linux Mint下访问Windows分区。Linux是更安全,更稳定,更有效并且日益易于操作的甚至可以和Windows相媲美的系统,它越来越让人感到难以抉择了。
Linux版本Gentoo
Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点。Gentoo最初由Daniel Robbins(FreeBSD的开发者之一)创建,首个稳定版本发布于2002年。由于开发者对FreeBSD的熟识,所以Gentoo拥有媲美FreeBSD的广受美誉的ports系统 ——Portage包管理系统。
Linux版本centos
CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度稳定性的服务器以CentOS替代商业版的Red Hat Enterprise Linux使用。两者的不同,在于CentOS并不包含封闭源代码软件,CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本。每个版本的 CentOS都会获得十年的支持(通过安全更新方式)。新版本的 CentOS 大约每两年发行一次,而每个版本的 CentOS 会定期(大概每六个月)更新一次,以便支持新的硬件。这样,建立一个安全、低维护、稳定、高预测性、高重复性的 Linux 环境。CentOS是Community Enterprise Operating System的缩写。
CentOS 是RHEL(Red Hat Enterprise Linux)源代码再编译的产物,而且在RHEL的基础上修正了不少已知的 Bug ,相对于其他 Linux 发行版,其稳定性值得信赖。
RHEL 在发行的时候,有两种方式。一种是二进制的发行方式,另外一种是源代码的发行方式。
区别:
Redhat,应该称为Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所谓的Redhat Advance Server收费版本)、FedoraCore(由原来的Redhat桌面版本发展而来,免费版本)、CentOS(RHEL的社区克隆版本,免费)。Redhat应该说是在国内使用人群最多的Linux版本,甚至有人将Redhat等同于Linux,而有些老鸟更是只用这一个版本的Linux。所以这个版本的特点就是使用人群数量大,资料非常多,言下之意就是如果你有什么不明白的地方,很容易找到人来问,而且网上的一般Linux教程都是以Redhat为例来讲解的。Redhat系列的包管理方式采用的是基于RPM包的YUM包管理方式,包分发方式是编译好的二进制文件。稳定性方面RHEL和CentOS的稳定性非常好,适合于服务器使用,但是Fedora Core的稳定性较差,最好只用于桌面应用。
Debian,或者称Debian系列,包括Debian和Ubuntu等。Debian是社区类Linux的典范,是迄今为止最遵循GNU规范的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable, testing和unstable。其中,unstable为最新的测试版本,其中包括最新的软件包,但是也有相对较多的bug,适合桌面用户。testing的版本都经过unstable中的测试,相对较为稳定,也支持了不少新技术(比如SMP等)。而stable一般只用于服务器,上面的软件包大部分都比较过时,但是稳定和安全性都非常的高。Debian最具特色的是apt-get /dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。Debian的资料也很丰富,有很多支持的社区,有问题求教也有地方可去。
Ubuntu严格来说不能算一个独立的发行版本,Ubuntu是基于Debian的unstable版本加强而来,可以这么说Ubuntu就是一个拥有Debian所有的优点,以及自己所加强的优点的近乎完美的Linux桌面系统。根据选择的桌面系统不同,有多个版本可供选择,比如基于unity的Ubuntu,基于Gnome的Ubuntu Gnome,基于KDE的Kubuntu,基于LXDE的Lubuntu以及基于Xfce的Xubuntu等。特点是界面非常友好,容易上手,对硬件的支持非常全面,是最适合做桌面系统的Linux发行版本。
Gentoo,伟大的Gentoo是Linux世界最年轻的发行版本,正因为年轻,所以能吸取在她之前的所有发行版本的优点,这也是Gentoo被称为最完美的Linux发行版本的原因之一。
FreeBSD,需要强调的是:FreeBSD并不是一个Linux系统!但FreeBSD与Linux的用户群有相当一部分是重合的,二者支持的硬件环境也比较一致,所采用的软件也比较类似,所以可以将FreeBSD视为一个Linux版本来比较。
FreeBSD拥有两个分支:stable和current。顾名思义,stable是稳定版,而current则是添加了新技术的测试版。FreeBSD采用Ports包管理系统,与Gentoo类似,基于源代码分发,必须在本地机器编后后才能运行,但是Ports系统没有Portage系统使用简便,使用起来稍微复杂一些。FreeBSD的最大特点就是稳定和高效,是作为服务器操作系统的最佳选择,但对硬件的支持没有Linux完备,所以并不适合作为桌面系统。
下面给为选择一个Linux发行版本犯愁的朋友一些建议:
如果你只是需要一个桌面系统,而且既不想使用盗版,又不想花大量的钱购买商业软件,那么你就需要一款适合桌面使用的Linux发行版本了,如果你不想自己定制任何东西,不想在系统上浪费太多时间,那么很简单,你就根据自己的爱好在ubuntu、kubuntu以及xubuntu中选一款吧,三者的区别仅仅是桌面程序的不一样。
如果你需要一个桌面系统,而且还想非常灵活的定制自己的Linux系统,想让自己的机器跑得更欢,不介意在Linux系统安装方面浪费一点时间,那么你的唯一选择就是Gentoo,尽情享受Gentoo带来的自由快感吧!
如果你需要的是一个服务器系统,而且你已经非常厌烦各种Linux的配置,只是想要一个比较稳定的服务器系统而已,那么你最好的选择就是CentOS了,安装完成后,经过简单的配置就能提供非常稳定的服务了。
如果你需要的是一个坚如磐石的非常稳定的服务器系统,那么你的唯一选择就是FreeBSD。
如果你需要一个稳定的服务器系统,而且想深入摸索一下Linux的各个方面的知识,想自己定制许多内容,那么我推荐你使用Gentoo。
版本之间的联系:
基于Debian
1,Adamantix:基于Debian,特别关注安全。
2,Amber Linux:基于Debian,针对拉脱维亚用户作了一些定制。
3,ASLinux Desktop:西班牙语,基于Debian与KDE,针对各种桌面用途,包括家用、办公、教育、游戏、科学、软件开发,最大的卖点在于其丰富的可用性。
4,B2D Linux:基于Debian,希望可以由“做中学”来产生一个小而美的中文Linux包的计划。
5,Debian GNU/Linux:由大批社区志愿者收集的包。Debian拥有庞大的软件包可供选择(25000个以上),支持大量的硬件平台(12个计算机系统结构)。以前该包因为安装困难受到责难,但最新的版本具备了简单易用的文本式安装环境。非自由软件不会包含在Debian的主要软件包中。
6,Guadalinex:由西班牙的安达卢西亚地方政府推动,基于Debian,针对西班牙语的家庭用户以及学校。
7,Knoppix:第一张Debian的自启动运行光盘。包含的软件非常多,启动时会自动进行硬件监测。从4.0起,用DVD作光盘。
以下基于Knoppix:
Gnoppix:Knoppix的GNOME版,该包发行周期较长,未来会跟Ubuntu进行集成。
Kanotix:自启动运行光盘,基于Knoppix,也可以安装到硬盘上。有很好的硬件支持,桌面与笔记本电脑的集成也很出色。
Kurumin:针对巴西用户的Knoppix。
8,LinEx:由西班牙的埃斯特雷马杜拉地方政府推动的包。
9,Loco Linux:基于Debian的阿根廷Linux。
10,MEPIS: 基于Debian的桌面和服务器。
11,Rays Linux(华镭):基于Debian,针对亚洲市场,由新华科技(南京)系统软件有限公司开发。
12,Skolelinux:在挪威发起,旨在打造适合于学校的轻便包。
13,Symphony OS:基于Debian,与众不同地采用Mezzo桌面。
14,Ubuntu:对初学者而言最易用的Linux包。由Canonical有限公司赞助,基于Debian,使用自己的软件包库,与Debian的有所不同,旨在开发出更加友好的桌面,已经取得了良好的声誉。
15,Wdlinux是基于CentOS精简的定制版本,是针对web服务器的应用而精简的.同时安装做了些自动化安装的处理,达到更易于安装和使用.
以下基于Ubuntu:
Ubuntu Kylin:中国定制本地化的ubuntu发行版
LinuxMint:基于Ubuntu的发行版,人气很高,是目前排行榜上第三名的发行版。
Edubuntu:是Ubuntu的教育发行版。
Hiweed:基于Ubuntu,使用Xfce桌面环境的轻量级中文发行版。0.x版基于Debian(现已改名Deepin)。
Kubuntu:使用KDE桌面环境的Ubuntu包。
Lubuntu:使用LXDE桌面环境的Ubuntu包。
PUD GNU/Linux:基于Ubuntu的小型Linux,可安装于光盘或256 MB以上的USB 闪存盘。
Xubuntu:使用Xfce桌面环境的Ubuntu包。
Linux版本基于RPM
1,aLinux:原名Peanut Linux,针对家庭用户。
2,ALT Linux:东欧版本。
3,Ark Linux:强调易学易用。
4,ASPLinux:提供俄语等东欧语言的支持。
5,Asianux Server:由中国红旗、日本Miracle、韩国Hannsoft三家联合开发,主要市场针对亚洲地区,对中,文、日文、韩文的支持比较好。
6,Blag Linux:体积小,但功能较多。
7,Caixa Mágica:葡萄牙语的Linux。
8,cAos Linux:由社区创建的包,功能通用、培植简单。
9,CentOS:由社区支持的包,旨在100%地与Red Hat Linux企业版兼容,但不包含Red Hat 的商业软件。
10,Cobind:桌面。
11,Conectiva:一个巴西包,曾经是United Linux的创建成员,现在该公司已经并入到Mandriva Linux。
12,EduLinux:用于教育的包。
13,Fedora:可用作工作站、桌面以及服务器,由红帽公司及其社区开发。
14,Linux Mobile System:基于Fedora Core的包,设计成从USB存储设备启动,比如U盘。
15,Linpus Linux:来自台湾厂商发行的Linux版本。是一套通过LSB 3.1认证、GB18030-2000编码检验测试及支持CNS11643中文标准交换码全字库的Linux桌面型系统。在中文支持能力上较为完善。
16,Magic Linux:一个易用的中文包。
17,Mandriva Linux:最初是红帽的一个变种,针对奔腾级CPU作了优化,后来在保持兼容性的同时,派生成为更友好的包。Mandriva中所有的软件仍然免费,还有活跃的社区支持,另外通过注册以及销售盒装产品,Mandriva还提供企业级的支持与服务,还有针对付费用户的俱乐部。
18,Novell Linux Desktop:由于Novell收购了SUSE,他们的Linux产品对原来的包有所继承。
19,PCLinuxOS:一个易用的自启动运行光盘,以良好的观感著称;硬盘安装也同样轻而易举。最初基于Mandrake 9.2,而后PCLinuxOS针对桌面用户,开始自己的开发道路。在保留基于RPM包的同时,PCLinuxOS别出心裁地使用自己的APT包管理工具(受Debian影响),但图形前端仍然用的是Synaptic。
20,PCQLinux2004:由印度的PCQuest杂志生产,基于Fedora Core。
21,PLD Linux:来自波兰的包,针对较高级别的用户,比Slackware、Gentoo更加易用。
22,QiLinux:意大利生产,包括桌面版、光盘自启动版,还有服务器版、高级服务器版。
23,红旗Linux:由北京中科红旗软件技术有限公司开发,主要针对中国市场。
24,Red Hat Enterprise Linux:红帽Linux家族中唯一的商业分支。
25,Scientific Linux:由红帽Linux企业版,将遵循GPL的软件重新编译而成。
26,SUSE/openSUSE:来自德国,是欧洲最流行的包之一。跟红帽一样,也包括大量的软件,需要7张以上的CD,现在则用双DVD。这个包有独特的配置工具YaST。也是United Linux的创立者之一,已经被Novell公司收购。openSUSE是一个新的版本,基于社区,完全开源。
27,Tinfoil Hat Linux:对安全格外关注的包。
28,Trustix:专注于安全与稳定性的包。
29,Turbo Linux:在亚洲较流行的一个包,基于Red Hat,是United Linux的成员。
30,Vine Linux:基于Red Hat的一个日本包。
31,White Box Enterprise Linux:意在兼容Red Hat企业版第三版。
32,Yellow Dog:基于Red Hat,针对PowerPC平台。
33,YOPER:"Your Operating System"(你的操作系统),来自新西兰的桌面包。Slackware
Linux版本其它打包方式的包
1,ArchLinux:基于KISS原则,针对i686的CPU做了优化,以.tar.xz格式打包并由包管理器进行跟踪维护,特别适合动手能力强的linux用户。
2,Foresight Linux:采用Conary包管理系统,引入了GNOME中的许多最新技术,比如beagle、f-spot、howl以及最新的hal等,这个包在保持易用的同时,更注重革新。
3,Gentoo:这个包采用自己独特的Portage包管理系统,吸引了许多狂热爱好者以及专业人士,强调自己编译源码,而不是直接用二进制包,这样程序运行速度更快。
4,GoboLinux:构建了新的文件系统,比如GCC放在/Programs/GCC/这样的目录,为了让系统能找到这些文件,在/System/Links/Executables这样的目录下归组,这样就包含了/Programs目录下所有可执行文件的符号链接。
5,Heretix:以前叫做RubyX,包的管理,包括包管理,都是通过由Ruby写的脚本来完成,所有的包都安装在/pkg目录下。
6,ImpiLinux,来自南非的包,主要针对非洲用户。
7,Jedi GNU/Linux:使用force-get包管理器,允许源码、二进制软件包共存。
8,Linux From Scratch:这是一份文档,介绍如何自己动手,如何白手起家编译打造自己独一无二的Linux系统。
9,Lunar Linux,基于源码,由Sorcerer GNU/Linux所派生。
10,MkLinux:"Microkernel Linux"的缩写,旨在将Linux移植到跑Mach微核的PowerPC机器上。
11,Onebase Linux:采用OLM包管理器,对二进制、源码进行管理。
12,Sabayon Linux:基于Gentoo,来自意大利。
13,Sorcerer GNULinux:基于源码。
14,Source Mage GNU/Linux:也是基于源码,由Sorcerer GNU/Linux所派生。
15,Ututo:基于Gentoo,来自阿根廷。
16,Open Client:基于Red Hat Enterprise Linux,来自IBM,提供有Fedora、Ubuntu、SLED的Layer。给老机器订制的小型包
3.Linux的哲学思想
1.linux 系统里一切皆文件。把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等。
Linux系统把一切的系统资源当做文件来管理,甚至连硬件本身也是文件
2.由众多功能 单一的程序组成。一个小程序只做一件事,并且要做好。
Linux命令有很多,怎么把不同的命令串接起来,或者把不同的脚本更好的相互利用起来,是Linux完成复杂的任务的关键
3.尽量避免跟用户交互。目标以编程的方式实现自动化任务。
4.使用文本文件保存配置信息。
Linux甚至连开机样式都能通过profile.d来配置,开源的Linux
5.以 . 开头的文件为隐藏文件。
Linux系统上命令的使用格式
command [options] [arguments]
command:命令
options: --单词 或 -单字
如: ls --all
equ ls -a
ls -a -b -c
equ ls -abc
argument:参数(档案名称或其他)
ifconfig
命令格式:
ifconfig [网络设备] [参数]
命令功能:
ifconfig 命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置。
命令参数:
up 启动指定网络设备/网卡。
down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
arp 设置指定网卡是否支持ARP协议。
-promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包
-allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包
-a 显示全部接口信息
-s 显示摘要信息(类似于 netstat -i)
add 给指定网卡配置IPv6地址
del 删除指定网卡的IPv6地址
<硬件地址> 配置网卡最大的传输单元
mtu<字节数> 设置网卡的最大传输单元 (bytes)
netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。
tunel 建立隧道
dstaddr 设定一个远端地址,建立点对点通信
-broadcast<地址> 为指定网卡设置广播协议
-pointtopoint<地址> 为网卡设置点对点通讯协议
multicast 为网卡设置组播标志
address 为网卡设置IPv4地址
txqueuelen<长度> 为网卡设置传输列队的长度
使用实例:
实例1:显示网络设备信息(激活状态的)
命令:
ifconfig
输出:
说明:
eth0 表示第一块网卡, 其中 HWaddr 表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是 00:50:56:BF:26:20
inet addr 用来表示网卡的IP地址,此网卡的 IP地址是 192.168.120.204,广播地址, Bcast:192.168.120.255,掩码地址Mask:255.255.255.0
lo 是表示主机的回坏地址,这个一般是用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把 HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1 就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道。
第一行:连接类型:Ethernet(以太网)HWaddr(硬件mac地址)
第二行:网卡的IP地址、子网、掩码
第三行:UP(代表网卡开启状态)RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节
第四、五行:接收、发送数据包情况统计
第七行:接收、发送数据字节数统计信息。
实例2:启动关闭指定网卡
命令:
ifconfig eth0 up
ifconfig eth0 down
输出:
说明:
ifconfig eth0 up 为启动网卡eth0 ;ifconfig eth0 down 为关闭网卡eth0。ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
实例3:为网卡配置和删除IPv6地址
命令:
ifconfig eth0 add 33ffe:3240:800:1005::2/64
ifconfig eth0 del 33ffe:3240:800:1005::2/64
输出:
说明:
ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0配置IPv6地址;
ifconfig eth0 add 33ffe:3240:800:1005::2/64 为网卡eth0删除IPv6地址;
练习的时候,ssh登陆linux服务器操作要小心,关闭了就不能开启了,除非你有多网卡。
实例4:用ifconfig修改MAC地址
命令:
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
实例5:配置IP地址
命令:
输出:
[root@localhost ~]# ifconfig eth0 192.168.120.56
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
[root@localhost ~]# ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
说明:
ifconfig eth0 192.168.120.56
给eth0网卡配置IP地:192.168.120.56
ifconfig eth0 192.168.120.56 netmask 255.255.255.0
给eth0网卡配置IP地址:192.168.120.56 ,并加上子掩码:255.255.255.0
ifconfig eth0 192.168.120.56 netmask 255.255.255.0 broadcast 192.168.120.255
/给eth0网卡配置IP地址:192.168.120.56,加上子掩码:255.255.255.0,加上个广播地址: 192.168.120.255
实例6:启用和关闭ARP协议
命令:
ifconfig eth0 arp
ifconfig eth0 -arp
输出:
[root@localhost ~]# ifconfig eth0 arp
[root@localhost ~]# ifconfig eth0 -arp
说明:
ifconfig eth0 arp 开启网卡eth0 的arp协议;
ifconfig eth0 -arp 关闭网卡eth0 的arp协议;
实例7:设置最大传输单元
命令:
ifconfig eth0 mtu 1500
echo
功能说明:显示文字。
语 法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参 数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息
ECHO命令是大家都熟悉的DOS批处理命令的一条子命令,但它的一些功能和用法也许你并不是全都知道,不信你瞧:
1. 作为控制批处理命令在执行时是否显示命令行自身的开关 格式:ECHO [ON|OFF] 如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。
2. 显示当前ECHO设置状态 格式:ECHO
3. 输出提示信息 格式:ECHO信息内容 上述是ECHO命令常见的三种用法,也是大家熟悉和会用的,但作为DOS命令淘金者你还应该知道下面的技巧:
4. 关闭DOS命令提示符 在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出现。
5. 输出空行,即相当于输入一个回车 格式:ECHO. 值得注意的是命令行中的“.”要紧跟在ECHO后面中间不能有空格,否则“.”将被当作提示信息输出到屏幕。另外“.”可以用,:;”/[/]+等任一符号替代。 在下面的例子中ECHO.输出的回车,经DOS管道转向作为TIME命令的输入,即相当于在TIME命令执行后给出一个回车。所以执行时系统会在显示当前时间后,自动返回到DOS提示符状态: C:〉ECHO.|TIME ECHO命令输出空行的另一个应用实例是:将ECHO.加在自动批处理文件中,使原本在屏幕下方显示的提示画面,出现在屏幕上方。
6. 答复命令中的提问 格式:ECHO答复语|命令文件名 上述格式可以用于简化一些需要人机对话的命令(如:CHKDSK/F;FORMAT Drive:;del.)的操作,它是通过DOS管道命令把ECHO命令输出的预置答复语作为人机对话命令的输入。下面的例子就相当于在调用的命令出现人机对话时输入“Y”回车: C:〉ECHO Y|CHKDSK/F C:〉ECHO Y|DEL A :.
7. 建立新文件或增加文件内容 格式:ECHO 文件内容>文件名 ECHO 文件内容>>文件名 例如:C:〉ECHO @ECHO OFF〉AUTOEXEC.BAT建立自动批处理文件 C:〉ECHO C:/CPAV/BOOTSAFE〉〉AUTOEXEC.BAT向自动批处理文件中追加内容 C:TYPE AUTOEXEC.BAT显示该自动批处理文件 @ECHO OFF C:/CPAV/BOOTSAFE
8. 向打印机输出打印内容或打印控制码 格式:ECHO 打印机控制码>PRN ECHO 打印内容>PRN 下面的例子是向M-1724打印机输入打印控制码。<Alt>156是按住Alt键在小键盘键入156,类似情况依此类推: C:〉ECHO 〈Alt〉+156〈Alt〉+42〈Alt〉+116〉PRN(输入下划线命令FS*t) C:〉ECHO 〈Alt〉+155@〉PRN(输入初始化命令ESC@) C:〉ECHO.〉PRN(换行)
9. 使喇叭鸣响 C:〉ECHO ^G “G”是用Ctrl+G或Alt+007输入,输入多个G可以产生多声鸣响。使用方法是直接将其加入批处理文件中或做成批处理文件调用。
10.执行ESC控制序列修改屏幕和键盘设置 我们知道DOS的设备驱动程序ANSI.SYS提供了一套用来修改屏幕和键盘设置的ESC控制序列。如执行下述内容的批处理程序可以把功能键F12定义为DOS命令“DIR/W”,并把屏幕颜色修改为白色字符蓝色背景。 @ECHO”←[0;134;”DIR/W”;13p @ECHO”←[1;37;44m (注:批处理文件中“←”字符的输入方法是在编辑状态下按Alt中小键盘上的27) DOS命令是接触计算机的人首先要学到的,对许多人来说是太熟悉太简单了,其实不然,在这些命令中蕴藏着丰富的内容,仍有待于我们进一步去理解去开发,如果你是一个有心人就一定会从这些自以为熟知的命令中发现新的闪光点,淘得真金。
tty
功能
打印连接到标准输入的终端的文件名。
描述
命令项:
-s, --silent, --quiet: 什么也不打印,只是返回退出状态码。
--help: 打印帮助信息。
--version: 打印版本信息并退出。
返回的状态码:
0 表示标准输入是一个终端。
1 表示标准输入不是一个终端。
2 表示给定的参数是不正确的参数。
3 表示发生了写错误。
举例
查看当前的标准终端文件描述符号:
[quietheart@lv-k etc]$ tty
/dev/pts/6
这里,输入tty之后,输出"/dev/pts/6"就是当前连接的终端对应的文件描述符号,我们可以通过向这个文件,这样会看到当前终端会输出我们写入的数据,例如:
[quietheart@lv-k etc]$ echo "mytest" >/dev/pts/6
mytest
可见,向/dev/pts/6文件写入的内容,直接显示到我们的终端上面了。如果我在机器上面开了多个终端,然后我在别的终端中输入上面的echo命令,那么将会看到对应"/dev/pts/6"的终端上面会显示相应的字符了。
*运行tty什么也不输出,然后查看其退出码:
[quietheart@lv-k etc]$ tty -s
[quietheart@lv-k etc]$ echo $?
0
这里,使用shell的命令"echo $?"来显示上一条命令的退出状态码。状态码的含义如下:
0 表示标准输入是一个终端。
1 表示标准输入不是一个终端。
2 表示给定的参数是不正确的参数。
3 表示发生了写错误
startx
初始化一个 X 会话。
语法
startx [ -d Display:0 ] [ -t | -w ] [ -x Startup | [ -r Resources ] [ -m Window_Manager ] ] [ -wait ]
描述
startx 命令简化了启动 X 会话的过程。
该命令执行下列操作:
设置用户的 DISPLAY 环境变量以标识 X 服务器到 X 客户机
当从工作站运行时,启动 X 服务器
启动 X 客户机。
startx 命令将 X 服务器和 X 客户机的错误消息重定向至用户的 XERRORS 环境变量指定的文件。该处理对调试很有用,并且使 X 服务器在工作站上有一个清洁的启动和关机外观。
如果 startup 脚本文件名没有用 -x 选项在命令行中给出,那么 startx 命令就会搜索一个由用户的 XINITRC 环境变量指定的文件。如果未设置 XINITRC 环境变量,startx 命令就会在用户的主目录中分别搜索名为 .Xinit、.xinit、 .Xinitrc、.xinitrc 或 .xsession 的文件来开始 X 客户机程序。
如果未找到启动文件,startx 命令运行在命令行上由 -m 选项指定的窗口管理器,或在找到相关的配置文件(.mwmrc、.twmrc、.awmrc 或 .uwmrc, 分别地)之后,调用窗口管理器 mwm、twm、awm 或 uwm。如果没有在用户主目录中找到窗口管理器配置文件,startx 将启动 Xterm 客户机和 mwm 窗口管理器。
当启动文件找不到时,startx 命令也将在命令行上使用 -r 选项指示装入资源文件,或分别装入用户主目录中的名为 .Xdefaults、.xdefaults、.Xresources 或 .xresources 的文件。如果未找到 X 资源文件,将不个性化 X 会话。
如果工作站中存在一个启动文件并且用户未装入任何资源,则 startx 命令中的 xinit 命令将尝试装入 .Xdefaults 文件。
当 X 会话从 /dev/lft* 启动时,就假定使用工作站。如果不是这种情况,就必须使用 -t 或 -w 选项。
标志
-d Display :0 指定在启动过程中传递给 X 客户机的 X 服务器的显示名称。
-m Window_Manager 当未找到 startup 脚本时,启动窗口管理器。
-r Resources 当未找到 startup 脚本时,装入资源文件。
-t 为一个 X 终端启动 X 客户机。
-w 为工作站上的 X 窗口会话启动 X 服务器和 X 客户机。
-wait 当 xdm 命令调用 startx 时,防止重新启动 X 会话。
-x Startup 使用 startup 脚本启动 X 窗口会话。
注:您可以单独或同时使用 -m 和 -r 选项, 或者使用 -x 选项,但是您不能在使用 -x 选项的同时使用 -m 和 -r 选项。在启动脚本中,启动窗口管理器会话、装入 X 资源以及产生 X 客户机是用户的责任。
示例
要在工作站上或 X 终端上启动 X 会话,请输入:
startx
要在工作站上强制启动 X 会话,请输入:
startx -w
要为 X 终端启动 X 会话,并注销用户的 Telnet 会话,请输入:
startx; kill -9 $$
要使用 .xinitrc 脚本启动 X 会话,请输入:
startx -x .xinitrc
要使用 mwm 窗口管理器启动 X 会话,请输入:
startx -m mwm
但是,如果找到启动脚本文件,则忽略 -w 选项。
在启动脚本中,启动窗口管理器、装入 X 资源以及产生 X 客户机是用户的责任。以下是 .xsession 脚本的一个示例。
!/bin/csh
(mwm &)
xrdb -load .Xdefaults
(xclock -g 75x75+0+0 &)
(xbiff -g 75x75+101-0 &)
if ("/dev/lft*" == "tty") then
aixterm -g 80x24+0+0 +ut -C -Thostname
else
aixterm -g 80x24+0+0 +ut -Thostname
endif
对于工作站,startup 脚本中的最后一行应该是前台 aixterm 命令,该命令带有 -C 选项表示控制台信息。
对于 X 终端,startup 脚本中的最后一行应该是不带有 -C 选项的前台 aixterm 命令。另外,由于某些 X 终端在关闭时不终止 telnet 会话,所以用户必须在使用热键切换至 X 会话前退出当前的 telnet 会话。
/usr/lib/X11/xdm/Xsession 文件中的 xdm 命令也可以使用 startx 命令。这为 xdm 命令提供了 startx 命令的功能。
文件
以下是启动 X 会话一贯使用的文件名。
$HOME/.xerrors 其中,startx 用来重定向错误消息。在缺省情况下,startx 将错误重定向至用户主目录中的 .xerrors 文件中。
$HOME/.Xinit,
$HOME/.xinit,
$HOME/.Xinitrc,
$HOME/.xinitrc,
$HOME/.xsession 作为包含 shell 命令的“启动文件”来启动窗口管理器、装入 X 资源并产生 X 客户机。
$HOME/.Xdefaults,
$HOME/.xresources 作为装入的 X 资源文件来设置 X 客户机的用户首选项。
$HOME/.mwmrc mwm 配置文件。
$HOME/.twmrc twm 配置文件。
$HOME/.awmrc awm 配置文件。
$HOME/.uwmrc uwm 配置文件。
/dev/lft* 终端或 tty、工作站初始 login shell 的界面。
export
Linux export命令用于设置或显示环境变量。
在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。
语法
export [-fnp][变量名称]=[变量设置值]
参数说明:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
实例
列出当前所有的环境变量
定义环境变量
export MYENV //定义环境变量
export -p //列出当前的环境变量
declare -x HOME=“/root“
declare -x LANG=“zh_CN.UTF-8“
declare -x LANGUAGE=“zh_CN:zh“
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
declare -x LOGNAME=“root“
declare -x LS_COLORS=““
declare -x MAIL=“/var/mail/root“
declare -x MYENV
declare -x OLDPWD
declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
declare -x PWD=“/root“
declare -x SHELL=“/bin/bash“
declare -x SHLVL=“1“
declare -x SPEECHD_PORT=“6560“
declare -x SSH_CLIENT=“192.168.1.65 1674 22“
declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
declare -x SSH_TTY=“/dev/pts/2“
declare -x TERM=“XTERM“
declare -x USER=“root“
declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
定义环境变量赋值
export MYENV=7 //定义环境变量并赋值
export -p
declare -x HOME=“/root“
declare -x LANG=“zh_CN.UTF-8“
declare -x LANGUAGE=“zh_CN:zh“
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s“
declare -x LESSOPEN=“| /usr/bin/lesspipe %s“
declare -x LOGNAME=“root“
declare -x LS_COLORS=““
declare -x MAIL=“/var/mail/root“
declare -x MYENV=“7“
declare -x OLDPWD
declare -x PATH=“/opt/toolchains/arm920t-eabi/bin:/opt/toolchains/arm920t-eabi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games“
declare -x PWD=“/root“
declare -x SHELL=“/bin/bash“
declare -x SHLVL=“1“
declare -x SPEECHD_PORT=“6560“
declare -x SSH_CLIENT=“192.168.1.65 1674 22“
declare -x SSH_CONNECTION=“192.168.1.65 1674 192.168.1.3 22“
declare -x SSH_TTY=“/dev/pts/2“
declare -x TERM=“XTERM“
declare -x USER=“root“
declare -x XDG_SESSION_COOKIE=“93b5d3d03e032c0cf892a4474bebda9f-1273864738.954257-340206484“
pwd
Linux中用 pwd 命令来查看”当前工作目录“的完整路径。 简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。
1.命令格式:
pwd [选项]
2.命令功能:
查看”当前工作目录“的完整路径
3.常用参数:
一般情况下不带任何参数
如果目录是链接时:
格式:pwd -P 显示出实际路径,而非使用连接(link)路径。
4.常用实例:
实例1:用 pwd 命令查看默认工作目录的完整路径
命令:
pwd
输出:
[root@localhost ~]# pwd
/root
[root@localhost ~]#
实例2:使用 pwd 命令查看指定文件夹
命令:
pwd
输出:
[root@localhost ~]# cd /opt/soft/
[root@localhost soft]# pwd
/opt/soft
[root@localhost soft]#
实例三:目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径;pwd显示的是连接路径
命令:
pwd -P
输出:
[root@localhost soft]# cd /etc/init.d
[root@localhost init.d]# pwd
/etc/init.d
[root@localhost init.d]# pwd -P
/etc/rc.d/init.d
[root@localhost init.d]#
实例4:/bin/pwd
命令:
/bin/pwd [选项]
选项:
-L 目录连接链接时,输出连接路径
-P 输出物理路径
输出:
[root@localhost init.d]# /bin/pwd
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd --help
[root@localhost init.d]# /bin/pwd -P
/etc/rc.d/init.d
[root@localhost init.d]# /bin/pwd -L
/etc/init.d
[root@localhost init.d]#
实例五:当前目录被删除了,而pwd命令仍然显示那个目录
输出:
[root@localhost init.d]# cd /opt/soft
[root@localhost soft]# mkdir removed
[root@localhost soft]# cd removed/
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# rm ../removed -rf
[root@localhost removed]# pwd
/opt/soft/removed
[root@localhost removed]# /bin/pwd
/bin/pwd: couldn't find directory entry in “..” with matching i-node
[root@localhost removed]# cd
[root@localhost ~]# pwd
/root
[root@localhost ~]#
history
History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 。
History命令语法:
[test@linux]# history [n]
[test@linux]# history [-c]
[test@linux]# history [-raw] histfiles
参数:
n :数字,要列出最近的 n 笔命令列表
-c :将目前的shell中的所有 history 内容全部消除
-a :将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,
则预设写入 ~/.bash_history
-r :将 histfiles 的内容读到目前这个 shell 的 history 记忆中
-w :将目前的 history 记忆内容写入 histfiles
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,你也可以更改这个值。
如果你键入 history, history会向你显示你所使用的前1000个历史命令,并且给它们编了号,你会看到一个用数字编号的列表快速从屏幕上卷过。你可能不需要查看1000个命令中的所有项目,当然你也可以加入数字来列出最近的笔命令列表。
linux中history命令不仅仅让我们可以查询历史命令而已. 我们还可以利用相关的功能来帮我们执行命令。
运行特定的历史命令
history会列出bash保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:
[test@linux]# [!number] [!command] [!!]
参数说明:
number :第几个指令的意思;
command :指令的开头几个字母
! :上一个指令的意思!
History命令实战
列出所有的历史记录:
[test@linux] # history
只列出最近10条记录:
[test@linux] # history 10 (注,history和10中间有空格)
使用命令记录号码执行命令,执行历史清单中的第99条命令
[test@linux] #!99 (!和99中间没有空格)
重复执行上一个命令
[test@linux] #!!
执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,最先匹配的一条命令将会得到执行。)
[test@linux] #!rpm
逐屏列出所有的历史记录:
[test@linux]# history | more
立即清空history当前所有历史命令的记录
[test@linux] #history -c
除了使用history命令,在 shell 或 GUI 终端提示下,你也可以使用上下方向键来翻阅命令历史(向下箭头会向前翻阅),直到你找到所需命令为止。这可以让我们很方便地编辑前面的某一条命令,而不用重复输入类似的命令。
shutdown
shutdown命令可以安全地关闭或重启Linux系统,它在系统关闭之前给系统上的所有登录用户提示一条警告信息。该命令还允许用户指定一个时间参数,可以是一个精确的时间,也可以是从现在开始的一个时间段。
精确时间的格式是hh:mm,表示小时和分钟,时间段由+ 和分钟数表示。系统执行该命令后会自动进行数据同步的工作。
该命令的一般格式
语 法:
shutdown [-efFhknr][-t 秒数][时间][警告信息]
参 数:
-c 当执行"shutdown -h 11:50"指令时,只要按+键就可以中断关机的指令。
-f 重新启动时不执行fsck。
-F 重新启动时执行fsck。
-h 将系统关机。
-k 只是送出信息给所有用户,但不会实际关机。
-n 不调用init程序进行关机,而由shutdown自己进行。
-r shutdown之后重新启动。
-t<秒数> 送出警告信息和删除信息之间要延迟多少秒。
[时间] 设置多久时间后执行shutdown指令。
[警告信息] 要传送给所有登入用户的信息。
需要特别说明的是该命令只能由超级用户使用。
例1,系统在十分钟后关机并且马上重新启动
shutdown –r +10
例2,系统马上关机并且不重新启动
shutdown –h now
poweroff
poweroff命令用来关闭计算机操作系统并且切断系统电源。
语法
poweroff(选项)
选项
-n:关闭操作系统时不执行sync操作; -w:不真正关闭操作系统,仅在日志文件“/var/log/wtmp”中; -d:关闭操作系统时,不将操作写入日志文件“/var/log/wtmp”中添加相应的记录; -f:强制关闭操作系统; -i:关闭操作系统之前关闭所有的网络接口; -h:关闭操作系统之前将系统中所有的硬件设置为备用模式。 实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统: poweroff
实例 如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统: poweroff
实例
如果确认系统中已经没有用户存在且所有数据都已保存,需要立即关闭系统,可以使用poweroff命令。 使用poweroff立即关闭系统:
pweroff
reboot
命令简介:
该命令用来重启Linux系统。相当于Windows系统中的restart命令。
命令语法:
/sbin/reboot [-n] [-w] [-d] [-f] [-i]
或
reboot [-n] [-w] [-d] [-f] [-i]
命令参数:
-d 重新启动时不把数据写入记录文件/var/tmp/wtmp
-f 强制重新开机,不调用shutdown指令的功能。
-h 在系统关机或poweroff之前,将所有的硬盘处于待机模式
-i 关闭网络设置之后再重新启动系统
-n 保存数据后再重新启动系统
-p When halting the system, do a poweroff. This is the default when halt is called as poweroff
-w 仅做测试,并不真的将系统重新开机,只会把重开机的数据写入/var/log目录下的wtmp记录文件
使用示例:
强制重新开机,不调用shutdown指令的功能
[root@DB-Server ~]# reboot -f
关闭网络设置之后再重新启动系统
[root@DB-Server ~]# reboot -i
Broadcast message from root (pts/1) (Mon Jul 28 11:31:28 2014):
The system is going down for reboot NOW!
保存数据后再重新启动系统
[root@DB-Server ~]# reboot -n
Broadcast message from root (pts/1) (Mon Jul 28 11:33:57 2014):
The system is going down for reboot NOW!
重新启动时不把数据写入记录文件/var/tmp/wtmp
[root@DB-Server ~]# reboot -d
Broadcast message from root (pts/2) (Mon Jul 28 11:23:26 2014):
The system is going down for reboot NOW!
hwclock
功能说明:显示与设定硬件时钟。
语 法:hwclock [--adjust][--debug][--directisa][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=<日期与时间>]
补充说明:在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。
参 数:
--adjust hwclock每次更改硬件时钟时,都会记录在/etc/adjtime文件中。使用--adjust参数,可使hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟。
--debug 显示hwclock执行时详细的信息。
--directisa hwclock预设从/dev/rtc设备来存取硬件时钟。若无法存取时,可用此参数直接以I/O指令来存取硬件时钟。
--hctosys 将系统时钟调整为与目前的硬件时钟一致。
--set --date=<日期与时间> 设定硬件时钟。
--show 显示硬件时钟的时间与日期。
--systohc 将硬件时钟调整为与目前的系统时钟一致。
--test 仅测试程序,而不会实际更改硬件时钟。
--utc 若要使用格林威治时间,请加入此参数,hwclock会执行转换的工作。
--version 显示版本信息。
date
1.命令格式:
date [参数]... [+格式]
2.命令功能:
date 可以用来显示或设定系统的日期与时间。
3.命令参数:
必要参数:
%H 小时(以00-23来表示)。
%I 小时(以01-12来表示)。
%K 小时(以0-23来表示)。
%l 小时(以0-12来表示)。
%M 分钟(以00-59来表示)。
%P AM或PM。
%r 时间(含时分秒,小时以12小时AM/PM来表示)。
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)。
%T 时间(含时分秒,小时以24小时制来表示)。
%X 时间(以本地的惯用法来表示)。
%Z 市区。
%a 星期的缩写。
%A 星期的完整名称。
%b 月份英文名的缩写。
%B 月份的完整英文名称。
%c 日期与时间。只输入date指令也会显示同样的结果。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%j 该年中的第几天。
%m 月份(以01-12来表示)。
%U 该年中的周数。
%w 该周的天数,0代表周日,1代表周一,异词类推。
%x 日期(以本地的惯用法来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
%n 在显示时,插入新的一行。
%t 在显示时,插入tab。
MM 月份(必要)
DD 日期(必要)
hh 小时(必要)
mm 分钟(必要)
ss 秒(选择性)
选择参数:
-d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u 显示GMT。
--help 在线帮助。
--version 显示版本信息
4.使用说明:
1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下: % : 打印出 %:
%n : 下一行
%t : 跳格
%H : 小时(00..23)
%I : 小时(01..12)
%k : 小时(0..23)
%l : 小时(1..12)
%M : 分钟(00..59)
%p : 显示本地 AM 或 PM
%r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M)
%s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数
%S : 秒(00..61)
%T : 直接显示时间 (24 小时制)
%X : 相当于 %H:%M:%S
%Z : 显示时区 %a : 星期几 (Sun..Sat)
%A : 星期几 (Sunday..Saturday)
%b : 月份 (Jan..Dec)
%B : 月份 (January..December)
%c : 直接显示日期与时间
%d : 日 (01..31)
%D : 直接显示日期 (mm/dd/yy)
%h : 同 %b
%j : 一年中的第几天 (001..366)
%m : 月份 (01..12)
%U : 一年中的第几周 (00..53) (以 Sunday 为一周的第一天的情形)
%w : 一周中的第几天 (0..6)
%W : 一年中的第几周 (00..53) (以 Monday 为一周的第一天的情形)
%x : 直接显示日期 (mm/dd/yy)
%y : 年份的最后两位数字 (00.99)
%Y : 完整年份 (0000..9999)
2.在设定时间方面:
date -s //设置当前时间,只有root权限才能设置,其他只能查看。
date -s 20080523 //设置成20080523,这样会把具体时间设置成空00:00:00
date -s 01:01:01 //设置具体时间,不会对日期做更改
date -s “01:01:01 2008-05-23″ //这样可以设置全部时间
date -s “01:01:01 20080523″ //这样可以设置全部时间
date -s “2008-05-23 01:01:01″ //这样可以设置全部时间
date -s “20080523 01:01:01″ //这样可以设置全部时间
3.加减:
date +%Y%m%d //显示前天年月日
date +%Y%m%d --date="+1 day" //显示前一天的日期
date +%Y%m%d --date="-1 day" //显示后一天的日期
date +%Y%m%d --date="-1 month" //显示上一月的日期
date +%Y%m%d --date="+1 month" //显示下一月的日期
date +%Y%m%d --date="-1 year" //显示前一年的日期
date +%Y%m%d --date="+1 year" //显示下一年的日期
5.使用实例:
实例1:显示当前时间
命令:
复制代码代码如下:
date
date '+%c'
date '+%D'
date '+%x'
date '+%T'
输出:
复制代码代码如下:
[root@localhost ~]# date
2018年 08月 19日 星期日 16:01:26 CST
[root@localhost ~]# date '+%c'
2018年 08月 19日 星期日 19:42:26 CST
[root@localhost ~]# dat'+%D'
18/08/15root@localhost ~]# date '+%x'
2018年 08月 19日 星期日 13:07:26 CST
[root@localhost ~]# date '+%T'
08:35:36[root@localhost ~]# date '+%X'
2018年 08月 19日 星期日 11:03:26 CST
[root@localhost ~]#
实例2:显示日期和设定时间
命令:date --date 08:42:00
输出:
复制代码代码如下:
[root@localhost ~]# date '+%c'
2018年 08月 19日 星期日 12:02:26 CST
[root@localhost ~]# date --date 08:42:00
2018年 08月 19日 星期日 14:02:24 CST
[root@localhost ~]# date '+%c' --date 08:45:00
2018年 08月 19日 星期日 13:02:32 CST
[root@localhost ~]#
[code]
实例3:date -d参数使用
命令: date -d "nov 22"
输出:
[code]
[root@localhost ~]# date -d "nov 22"
2018年 08月 19日 星期日 16:02:52 CST
[root@localhost ~]# date -d '2 weeks'
2018年 08月 19日 星期日 14:06:23 CST
[root@localhost ~]# date -d 'next monday'
2018年 08月 19日 星期一 00:00:00 CST
说明:#后为需要输入的命令
date 命令的另一个扩展是 -d 选项,该选项非常有用。使用这个功能强大的选项,通过将日期作为引号括起来的参数提供,您可以快速地查明一个特定的日期。-d 选项还可以告诉您,相对于当前日期若干天的究竟是哪一天,从现在开始的若干天或若干星期以后,或者以前(过去)。通过将这个相对偏移使用引号括起来,作为 -d 选项的参数,就可以完成这项任务。
具体说明如下:
date -d "nov 22" 今年的 11 月 22 日是星期三
date -d '2 weeks' 2周后的日期
date -d 'next monday' (下周一的日期)
date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d
date -d last-day +%Y%m%d(昨天的日期) 或者:date -d yesterday +%Y%m%d
date -d last-month +%Y%m(上个月是几月)
date -d next-month +%Y%m(下个月是几月)
使用 ago 指令,您可以得到过去的日期:
date -d '30 days ago' (30天前的日期)
使用负数以得到相反的日期:
date -d 'dec 14 -2 weeks' (相对:dec 14这个日期的两周前的日期)
date -d '-100 days' (100天以前的日期)
date -d '50 days'(50天后的日期)
实例4:显示月份和日数
命令:date '+%B %d'
输出:
复制代码代码如下:
[root@localhost ~]# date '+%B %d'
十二月
08[root@localhost ~]#
实例5:显示时间后跳行,再显示目前日期
命令:date '+%T%n%D'
输出:
复制代码代码如下:
[root@localhost ~]# date '+%T%n%D'
09:00:30
12/08/12
[root@localhost ~]#
5.如何获取Linux系统命令的帮助信息,描述man文档章节如何划分
linux命令分为两大类
## 内置命令(bultiin) ##
## 外部命令 ##
(一)内置命令
一般用help 内置命令来查询其功能
(二)外置命令
a. 命令自带简要格式的使用帮助
b. 使用手册:manual
c. infor 命令
d. 很多应用程序会自带帮助文档
e. 主流发行版的官方文档
f. 程序的官方文档
g. 善用搜索引擎
6.罗列Linux发行版的基础目录名称命名法则及功用规定
Linux发行版最基本的目录
(/) 根目录
/boot
/etc
/sbin
/bin
/root
/home
/usr
/dev
/var
/mnt
/tmp
/lib
/ib64
/opt
/media
/proc
/srv
/sys
FHS:文件系统
Filesystem Hierarchy Standard
/根目录:一般位于linux目录结构的顶层,一般根目录下面只存放目录,不存放文件。
/bin:所有用户可用的基本命令程序文件;
/sbin:供系统管理使用的工具程序;
/boot:引导加载器必须用到的各静态文件:kernel, initramfs(initrd), grub等;
/dev:存储特殊文件或设备文件;
设备有两种类型:字符设备(线性设备)、块设备(随机设备);
/etc:系统程序的配置文件,只能为静态;
/home:普通的家目录的集中位置;一般每个普通用户的家目录默认为此目录下与用户名同名的子目录,/home/USERNAME;
/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:程序源码文件的存储位置
/usr/local:Local hierarchy,让系统管理员安装本地应用程序;也通常用于安装第三方程序;
/var:/var Hierarchy,存储常发生变化的数据的目录;
cache Application cache data
lib Variable state information
local Variable data for /usr/local
lock Lock files
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, 虚拟为net/ipv4/ip_forward, 存储于/proc/sys/, 因此其完整路径为/proc/sys/net/ipv4/ip_forward;
/sys:sysfs虚拟文件系统提供了一种比proc更为理想的访问内核数据的途径;其主要作用在于为管理Linux设备提供一种统一模型的的接口;
参考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/