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等

  • 特    点

  • 免费、可靠、安全、稳定、多平台

inux简史

Linux 操作系统的诞生

操作系统(二)---Linux操作系统_第1张图片创始人林纳斯·托瓦兹

、发展和成长过程始终依赖着五个重要支柱: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的英文含义是怪诞的、怪物、异想天开等)。

1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生(Freeminix-like kernel sources for 386-AT)。

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处理器。[1-2] 

主要特性

基本思想

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

完全免费

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

完全兼容POSIX1.0标准

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

多用户、多任务

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

良好的界面

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

支持多种平台

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

桌面环境

介绍

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

种类

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

gnome

即GNU网络对象模型环境 (The GNU Network Object Model Environment),GNU计划的一部分,开放源码运动的一个重要组成部分。是一种让使用者容易操作和设定电脑环境的工具。

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

Xfce

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

Fluxbox

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

Enlightenment

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

文件系统

文件类型

普通文件(regular file):就是一般存取的文件,由ls -al显示出来的属性中,第一个属性为 [-],例如 [-rwxrwxrwx]。另外,依照文件的内容,又大致可以分为:

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

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

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

目录文件(directory):就是目录,第一个属性为 [d],例如 [drwxrwxrwx]。

连接文件(link):类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]。

设备与设备文件(device):与系统外设及存储等相关的一些文件,通常都集中在 /dev目录。通常又分为两种:

块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件。第一个属性为 [b]。

字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为 [c]。

套接字(sockets):这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型。

管道(FIFO,pipe):FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]。[5] 

文件结构

/:根目录,所有的目录、文件、设备都在/之下,/就是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数据库的的存放地。

常用命令及技巧

一。 通用命令:[6] 

1. date :print or set the system date and time
  2. 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 time
  6. more, less, head tail: 显示或部分显示文件内容.
  7. lp/lpstat/cancel, lpr/lpq/lprm: 打印文件.
  8. 更改文件权限: chmod u+x...
  9. 删除非空目录:rm -fr dir
  10.拷贝目录: cp -R dir
  11. 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常用命令:[6] 

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 add
  3. 系统命令:
  * 查看内核版本: 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 processname
  4. 网络相关:
  * 配置 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] 

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[6] 

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的history
  ctrl+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终端 中就可以在终端中得到完整的路径名。[6] 8.ulimit
  ulimit:显示(或设置)用户可以使用的资源的限制(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可使用的最大的虚拟内存,单位:kbytes
  eg: ulimit -c 1000(可以先通过ulimit -c 查看原来的值)[6] 

UNIX和类Unix操作系统

UNIX System V家族
A/UX AIX HP-UX IRIX
LynxOS SCO OpenServer Tru64 Xenix
Solaris OS/2





BSD UNIX-386BSD家族
BSD/OS FreeBSD NetBSD NEXTSTEP
Mac OS X iOS OpenBSD SUN OS
OpenSolaris






UNIX-Like
GNU Linux Android Debian
Ubuntu Red Hat Linux Mint Minix
QNX GNU/Linux GNU/Hurd Debian GNU/Hurd
GNU/kFreeBSD StartOS





其他
DOS MS-DOS Windows React OS




Linux操作系统

通用
Adoption 与Windows的比较 批评 历史
Linux基金会 内核 支援结构 林纳斯定律
自由软件基金会 GNU/Linux命名争论 Tux GNU General Public License




发行版
发行版 Live CD Live USB Mini Linux
软件包格式






应用
桌面 设备 嵌入式 游戏
LAMP Thin client





人物
Jono Bacon Alan Cox Jon 'Mad Dog' Hall Benjamin Mako Hill
Ari Lemmke Andrew Morton 伊恩·默多克 Hans Reiser
Scott James Remnant Daniel Robbins 马克·沙特尔沃思 理查德·斯托曼
林纳斯·托瓦兹 西奥多·周 Patrick Volkerding Matt Zimmerman




媒体
自由软件杂志 Linux.com Linux Format Linux Gazette
Linux Journal Linux-Magazin Linux Magazine LWN.net
O3杂志 Phoronix LugRadio Linux Outlaws




列表
设备 发行版 Live CDs 专有软件




移动
Access Linux Platform Android LiMo LiMo
Linux Phone Standards Forum Maemo Mobilinux Moblin project
开放手机联盟 OpenMoko webOS Ubuntu Mobile




其他主题
Linux conference Linux文档计划 Linux malware Linux标准规范
POSIX Linux用户组 (LUG) 操作系统革命 SCO与Linux
塔能鲍姆–托瓦兹 争论 《代码》


备注:转自http://baike.baidu.com/link?url=3a_A_h1nZ4Q1I6mmi5SdVRwTkOhYydl5Z5emZdn7zjSbvF1RhNmk5AB9yZy4TGOfXDD8CEJq-hMDGH1x4xj91wAKdXyfE9xl5Ng7l478zUQ2v8NupYomL-ibuTNhtOk6iiW_vek0W-iOWxI4V3ywn1ITIUKvSwaGe0QISsnav61J3FoVXAzYBn2FE90irOuM