Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

外文名
Linux
类    别
操作系统
发布时间
1991年的10月5日
创始人
林纳斯·托瓦兹
发行版本
Debian、RedHat、Slackware等
特    点
免费、可靠、安全、稳定、多平台

1Linux简史

编辑本段 回目录

Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX操作系统、GNU计划、POSIX标准和Internet 网络。

创始人林纳斯·托瓦兹创始人林纳斯·托瓦兹

1981 年IBM公司推出微型计算机IBM PC。

1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。

1991年初,林纳斯·托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。

1991 年4 月13 日在comp.os.minix 上发布说自己已经成功地将bash 移植到了minix 上,而且已经爱不释手、不能离开这个shell软件了。

1991年7月3日,第一个与Linux有关的消息是在comp.os.minix上发布的(当然此时还不存在Linux这个名称,当时林纳斯·托瓦兹的脑子里想的可能是FREAX,FREAX的英文含义是怪诞的、怪物、异想天开等)。

1993年,大约有100余名程序员参与了Linux内核代码编写/修改工作,其中核心组由5人组成,此时Linux 0.99的代码大约有十万行,用户大约有10万左右。

1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。

1995年1月,Bob Young创办了RedHat(小红帽),以GNU/Linux为核心,集成了400多个源代码开放的程序模块,搞出了一种冠以品牌的Linux,即RedHat Linux,称为Linux"发行版",在市场上出售。这在经营模式上是一种创举。

1996年6月,Linux 2.0内核发布,此内核有大约40万行代码,并可以支持多个处理器。此时的Linux 已经进入了实用阶段,全球大约有350万人使用。

1998年2月,以Eric Raymond为首的一批年轻的"老牛羚骨干分子"终于认识到GNU/Linux体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的Linux产业化运动。

2001年1月,Linux 2.4发布,它进一步地提升了SMP系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC卡(PCMCIA)的支持,内置的即插即用,等等功能。

2003年12月,Linux 2.6版内核发布,相对于2.4版内核2.6在对系统的支持都有很大的变化。

2004年的第1月,SuSE嫁到了Novell,SCO继续顶着骂名四处强行“化缘”, Asianux, MandrakeSoft也在五年中首次宣布季度赢利。3月,SGI宣布成功实现了Linux操作系统支持256个Itanium 2处理器。

2主要特性

编辑本段 回目录

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

3桌面环境

编辑本段 回目录

在图形计算中,一个桌面环境(Desktop environment,有时称为桌面管理器)为计算机提供一个图形用户界面(GUI)。但严格来说窗口管理器和桌面环境是有区别的。桌面环境就是桌面图形环境,它的主要目标是为Linux/Unix操作系统提供一个更加完备 的界面以及大量各类整合工具和使用 程序,其基本 易用性吸引着大量的新用户。桌面环境名称来自桌面比拟,对应于早期的文字命令行界面(CLI)。一个典型的桌面环境提供图标,视窗,工具栏,文件夹,壁纸以及像拖放这样的能力。整体而言,桌面环境在设计和功能上的特性,赋予了它与众不同的外观和感觉。

现今主流的桌面环境有KDE,gnome,Xfce,LXDE等,除此之外还有Ambient,EDE,IRIX Interactive Desktop,Mezzo,Sugar,CDE等。

目标是基于自由软件,为Unix或者类Unix操作系统构造一个功能完善、操作简单以及界面友好的桌面环境,他是GNU计划的正式桌面。

即XForms Common Environment,创建于2007年7月,类似于商业图形环境CDE,是一个运行在各类Unix下的轻量级桌面环境。原作者Olivier Fourdan最先设计XFce是基于XForms三维图形库。Xfce设计目的是用来提高系统的效率,在节省系统资源的同时,能够快速加载和执行应用程序。

是一个基于GNU/Linux的轻量级图形操作界面,它虽然没有GNOME和KDE那样精致 ,但由于它的运行对系统资源和配置要求极低,所以它被安装到很多较旧的或是对性能要求较高的机器上,其菜单和有关 配置被保存于用户根目录下的.fluxbox目录里,这样使得它的配置极为便利。

是一个功能强大的窗口管理器,它的目标是运用 户轻而易举地配置所见即所得的桌面图形界面。现在Enlightenment的界面已经相当豪华,它拥有像AfterStep一样的可视化时钟以及其它浮华的界面效果,用户不仅可以任意选择边框和动感的声音效果,最有吸引力的是由于它开放的设计思想,每一个用户可以根据自己的爱好,任意地配置窗口的边框、菜单以及屏幕上其它各个部分,而不须要 接触源代码,也不须要 编译任何程序。

4文件系统

编辑本段 回目录

文件类型

1、纯文本文件(ASCII):这是Unix系统中最多的一种文件类型,之所以称为纯文本文件,是因为内容可以直接读到的数据,例如数字、字母等等。设 置文件几乎都属于这种文件类型。举例来说,使用命令“cat ~/.bashrc”就可以看到该文件的内容(cat是将文件内容读出来)。

2、二进制文件(binary):系统其实仅认识且可以执行二进制文件(binary file)。Linux中的可执行文件(脚本,文本方式的批处理文件不算)就是这种格式的。举例来说,命令cat就是一个二进制文件。

3、数据格式的文件(data):有些程序在运行过程中,会读取某些特定格式的文件,那些特定格式的文件可以称为数据文件(data file)。举例来说,Linux在用户登入时,都会将登录数据记录在 /var/log/wtmp文件内,该文件是一个数据文件,它能通过last命令读出来。但使用cat时,会读出乱码。因为它是属于一种特殊格式的文件。

文件结构

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

5常用命令及技巧

编辑本段 回目录

1. date :print or set the system date and time2. stty -a: 可以查看或者打印控制字符(Ctrl-C, Ctrl-D, Ctrl-Z等)3. pAsswd: print or set the system date and time (用pAsswd -h查看)4. logout, login: 登录shell的登录和注销命令5. pwd: print or set the system date and time6. more, less, head tail: 显示或部分显示文件内容.7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.8. 更改文件权限: chmod u+x...9. 删除非空目录:rm -fr dir10.拷贝目录: cp -R dir11. fg jobid :可以将一个后台进程放到前台。Ctrl-z 可以将前台进程挂起(suspend), 然后可以用bg jobid 让其到后台运行。job & 可以直接让job直接在后台运行。12. kill 的作用: send a signal to a process. eg: kill -9 发送的是SIG_KILL信号。。。 具体发送什么信号 可以通过 man kill 查看。13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session显示的sessionid, tpgid显示前台进程组id, comm显示命令名称。)二 .ubuntu常用命令:

1. dpkg: package manager for Debian* 安装: dpkg -i package* 卸载: dpkg -r package* 卸载并删除配置文件: dpkg -P |--purge package* 如果安装一个包时。说依赖某些库。 可以先 apt-get install somelib...* 查看软件包安装内容 :dpkg -L package* 查看文件由哪个软件包提供: dpkg -S filename* 另外 dpkg还有 dselect和aptitude 两个frontend.2. apt* 安装: apt-get install packs* apt-get update : 更新源* apt-get upgrade: 升级系统。* apt-get dist-upgrade: 智能升级。安装新软件包,删除废弃的软件包* apt-get -f install : -f == --fix broken 修复依赖* apt-get autoremove: 自动删除无用的软件* apt-get remove packages :删除软件* apt-get remove package --purge 删除包并清除配置文件* 清除所以删除包的残余配置文件: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P* 安装软件时候包的临时存放目录 : /var/cache/apt/archives* 清除该目录: apt-get clean* 清除该目录的旧版本的软件缓存: apt-get autoclean* 查询软件some的依赖包: apt-cache depends some* 查询软件some被哪些包依赖: apt-get rdepends some* 搜索软件: apt-cache search name|regexp* 查看软件包的作用:apt-cache show package* 查看一个软件的编译依赖库: apt-cache showsrc packagename|grep Build-Depends* 下载软件的源代码 : apt-get source packagename (注: sources.list 中应该有 deb-src 源)* 安装软件包源码的同时, 安装其编译环境 :apt-get build-dep packagename (有deb-src源)* 如何将本地光盘加入安装源列表: apt-cdrom add3. 系统命令:* 查看内核版本: uname -a* 查看ubuntu 版本: cat /etc/issue* 查看网卡状态 : ethtool eth0* 查看内存,cpu的信息: cat /proc/meminfo ; cat /proc/cpuinfo(/proc下面的有很多系统信息)* 打印文件系统空间使用情况: df -h* 查看硬盘分区情况: fdisk -l* 产看文件大小: du -h filename;* 查看目录大小: du -hs dirname ; du -h dirname是查看目录下所有文件的大小* 查看内存的使用: free -m|-g|-k* 查看进程: ps -e 或ps -aux -->显示用户* 杀掉进程: kill pid* 强制杀掉: killall -9 processname4. 网络相关:* 配置 ADSL: sudo pppoeconf* ADSL手工拨号: sudo pon dsl-provider* 激活 ADSL : sudo /etc/ppp/pppoe_on_boot* 断开 ADSL: sudo poff* 根据IP查网卡地址: arping IP地址* 产看本地网络信息(包括ip等): ifconfig | ifconfig eth0* 查看路由信息: netstat -r* 关闭网卡: sudo ifconfig eth0 down* 启用网卡: sudo ifconfig eth0 up* 添加一个服务: sudo update-rc.d 服务名 defaults 99* 删除一个服务: sudo update-rc.d 服务名 remove* 临时重启一个服务: /etc/init.d/服务名 restart* 临时关闭一个服务: /etc/init.d/服务名 stop* 临时启动一个服务: /etc/init.d/服务名 start* 控制台下显示中文: sudo apt-get install zhcon* 查找某个文件: whereis filename 或 find 目录 -name 文件名*通过ssh传输文件scp -rp /path/filename username@remoteIP:/path #将本地文件拷贝到服务器上scp -rp username@remoteIP:/path/filename /path #将远程文件从服务器下载到本地5. 压缩:*解压缩 a.tar.gz: tar zxvf a.tar.gz*解压缩 a.tar.bz2: tar jxvf a.tar.bz2*压缩aaa bbb目录为xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb*压缩aaa bbb目录为xxx.tar.bz2: tar jcvf xxx.tar.bz2 aaa bbb

6. Nautilus:特殊 URI 地址* computer:/// - 全部挂载的设备和网络* network:/// - 浏览可用的网络* burn:/// - 一个刻录 CDs/DVDs 的数据虚拟目录* smb:/// - 可用的 windows/samba 网络资源* x-nautilus-desktop:/// - 桌面项目和图标* file:/// - 本地文件* trash:/// - 本地回收站目录* ftp:// - FTP 文件夹* ssh:// - SSH 文件夹* fonts:/// - 字体文件夹,可将字体文件拖到此处以完成安装* themes:/// - 系统主题文件夹* 显示隐藏文件: Ctrl+h* 显示地址栏: Ctrl+l* 查看已安装字体: 在nautilus的地址栏里输入”fonts:///“,就可以查看本机所有的fonts

7.补充部分:

* 查看本地所有的tpc,udp监听端口: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)* 通过man搜说相关命令: man -k keyword . eg: man -k user* 或者用 apropos* 统计文件所占用的实际磁盘空间: du (du - estimate file space usage)* 统计文件中的字符,字节数: wc -c/-l/-w (wc - print the number of newlines, words, and bytes in files)* 查看文件的内容: od -x/-c/.... (od - dump files in octal and other formats)我认为od最有用的就是文件的字节流了: od -t x1 filename查看文件的 Ascii 码形式: od -t c filename (其中统计信息最左边的是: 字节数)* 查找命令所在文件的位置: which od 输出: /usr/bin/od查看该文件由哪个包提供: dpkg -S /usr/bin/od 输出: coreutils: /usr/bin/od再查看coreutils包的全部内容就知道了linux的核心命令: dpkg -L coreutils然后 info coreutils 哈哈,认真学吧, 满世界都是命令!* 可以用man 命令产看某个命令的所有section 的解释: man -a tty然后用q,和next 转换到下一个section的解释* bash 的好用的快捷键:ctrl+a:光标移到行首。ctrl+b:光标左移一个字母ctrl+c:杀死当前进程。ctrl+d:退出当前 Shell。ctrl+e:光标移到行尾。ctrl+h:删除光标前一个字符,同 backspace 键相同。ctrl+k:清除光标后至行尾的内容。ctrl+l:清屏,相当于clear。ctrl+r:搜索之前打过的命令。会有一个提示,根据你输入的关键字进行搜索bash的historyctrl+u: 清除光标前至行首间的所有内容。ctrl+w: 移除光标前的一个单词ctrl+t: 交换光标位置前的两个字符ctrl+y: 粘贴或者恢复上次的删除ctrl+d: 删除光标所在字母;注意和backspace以及ctrl+h的区别,这2个是删除光标前的字符ctrl+f: 光标右移ctrl+z : 把当前进程转到后台运行,使用’ fg ‘命令恢复。比如top -d1 然后ctrl+z ,到后台,然后fg,重新恢复* 快速粘贴:先在一个地方选中文字,在欲粘贴的地方按鼠标 中键 即可。* 等效中键:a 、按下滑轮等效于中键。b、同时按下鼠标 左右键,等效于中键。* 快速重启X服务: 同时按下: Alt + Ctrl + Backspace 三个键。* 打开"运行"窗口: 同时按下 Alt + F2 键。* 戴屏: a、全屏:直接按下 PrtScr 键。b、当前窗口:同时按下 Alt + PrtScr 键。c、延时戴屏:在 终端 或 "运行"窗口中输入命令: gnome-screenshot --delay 3 ,将延时 3 秒后戴屏。* 直接将 文件管理器 中的文件拖到 GNOME终端 中就可以在终端中得到完整的路径名。8.ulimitulimit:显示(或设置)用户可以使用的资源的限制(limit),这限制分为软限制(当前限制)和硬限制(上限),其中硬限制是软限制的上限值,应用程序在运行过程中使用的系统资源不超过相应的软限制,任何的超越都导致进程的终止。ulimited 不限制用户可以使用的资源,但本设置对可打开的最大文件数(max open files)和可同时运行的最大进程数(max user processes)无效-a 列出所有当前资源极限-c 设置core文件的最大值.单位:blocks-d 设置一个进程的数据段的最大值.单位:kbytes-f Shell 创建文件的文件大小的最大值,单位:blocks-h 指定设置某个给定资源的硬极限。如果用户拥有 root 用户权限,可以增大硬极限。任何用户均可减少硬极限-l 可以锁住的物理内存的最大值-m 可以使用的常驻内存的最大值,单位:kbytes-n 每个进程可以同时打开的最大文件数-p 设置管道的最大值,单位为block,1block=512bytes-s 指定堆栈的最大值:单位:kbytes-S 指定为给定的资源设置软极限。软极限可增大到硬极限的值。如果 -H 和 -S 标志均未指定,极限适用于以上二者-t 指定每个进程所使用的秒数,单位:seconds-u 可以运行的最大并发进程数-v Shell可使用的最大的虚拟内存,单位:kbyteseg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)

参考资料

[添加]
暂无参考资料!!

本词条内容由国搜百科根据相关资料编纂,仅供参考。如有问题,可联系我们修订、完善或删除。也欢迎更多热爱知识共享、有志于词条编纂的专业人士参与国搜百科创建。联系电话:010-87869809 合作邮箱:baike@chinaso.com 交流QQ群:5332181520

linux 图册

百科热点

党的十九大
  • 浏览次数: 981 次
  • 更新时间:2017-08-08
  • 创建者:lilei
分享到:
百科 更多»