【linux学习】大学教程
【一】什么是Unix/Linux
内核:引导过程最后启动的一个很复杂的程序。内核是操作系统的核心。
内核服务:内存管理,进程管理,进程间通信,输入输出,文件管理,安全和访问控制,网络访问。
内核两大类:单内核 vs 微内核
单内核是一个大程序做所有事情。速度快,规模大,不易维护,大多数Unix是单内核。
微内核调用其他程序(server服务器)。慢,易于理解,修改快,易于定制(为移动设备定制)。OS X是微内核。
Unix = 内核+实用工具+编程工具(shell)+至少一个GUI(一般有)。
FSF:自由软件基金会,发起人是Stallman,辞职为理想工作。GNU:新操作系统。FSF产品:Emacs, gcc, g++, gdb, Bash。GPL:通用公共许可证。基于GPL软件的修改也必须免费,也要使用GPL发行。
SystemV:AT&T版本的UNIX(坚持使用大写),BSD:伯克利软件套件,伯克利版本的Unix,90年代一直在重写AT&T的那部分for free。
Minix:荷兰教授Tanenbaum写的作为教学工具的操作系统,微内核。HURD:GNU之前的内核,微内核,1990年开始,但不好用。
Linux:Linus写的内核!单内核!最初的0.01版本只有83个文件,不到9000行代码。现在一般指任何基于Linux内核的操作系统。
Linux发行版(distro):基于Linux内核的操作系统,大多数使用GNU实用工具。Slackware:最古老的Linux发行版。
BSD发行版:1992年386/BSD完全没有AT&TUNIX代码,通过Internet发行,后改名FreeBSD。新成立一个小组移植到其他的计算机,是NetBSD。密码学小组,发行了OpenBSD。BSD不流行的原因是协议不完全共享。
哪个版本: general推荐Ubuntu;FreeBSD稳定可靠,即装即用;Windows可以使用Cygwin。
怎么安装:如果双重引导系统,需要引导加载程序,最常见的是GRUB(比较新,是GNU的一部分)和LILO
【二】Unix连接
机器可以分为两部分,接口(interface)和其他部件。接口是进行交互的部分。Unix里面接口=终端(terminal),其他部件总称为主机(Host)
计算机 = 终端 + 主机;终端 = 输入设施 + 输出设施;终端每个用户有一个。
控制台:一个特殊的终端,认为是计算机的一部分,用来管理系统,一般由管理员控制。
有一些特定的事情只能在控制台完成(启动过程中出问题只能通过控制台解决);错误信息通常显示在控制台确保管理员看到。
用自己的计算机远程时,运行了一个程序,使用自己的硬件来仿真(emulate)终端。
有无控制台主机(很多web/mail服务器),需要控制的时候直接通过网络连接到主机,完成工作后断开连接。
字符终端和图形终端:Linux并不必须GUI。字符终端的代表:VT100。图形终端基于X Window系统,而X Window基于X终端。
连接计算机并仿真字符终端:ssh;仿真一个X Window图形终端: ssh -X。
【三】开始使用Unix
系统管理员:admin
用户标识和口令:userid, passwd
登录:login
shell提示:登录之后就会启动shell,最常见的shell有Bash, C-Shell和Korn Shell,提示符是$或者%。如果管理员定制了环境,会显示机器名称等。
注销:Ctrl+D, exit, logout
改密码:passwd
上次登录:last
【四】GUI
GUI 键盘+指点设备。Windows双按键,mac单按键,x window一般是3个鼠标按键,可以使用2个完成。
Athena计划:MIT+IBM,建立标准化、网络化并与硬件独立的操作环境。构建一个大型校园级的网络。成果:X Window + Athena网络。X11在1987年9月问世,2005年发布X11R7。
X Window维护:现在是叫做x.org的独立小组。XFree86流行一时,但因为法律问题,转给了x.org。