Linux操作系统原理及应⽤
1、Linux概述
什么是Linux
简单地说,Linux是⼀套免费使⽤和⾃由传播的类Unix操作系统,它主要⽤于基于Intel x86系列CPU的计算机上。其⽬的是建⽴不受任何商品化软件的版权制约的、全世界都能⾃由使⽤的Unix兼容产品。 Linux最早由⼀位名叫芬兰⼈林纳斯•托⽡兹(Linus Torvalds)的计算机爱好者开发,他的⽬的是设计⼀个代替Minix的操作系统,这个操作系统可⽤于386、486或奔腾处理器的个⼈计算机上,并且具有Unix操作系统的全部功能。
Linux以它的⾼效性和灵活性著称。它能够在个⼈计算机上实现全部的Unix特性,具有多任务、多⽤户的能⼒。Linux操作系统软件包不仅包括完整的Linux操作系统,⽽且还包括了⽂本编辑器、⾼级语⾔编译器等应⽤软件。它还包括带有多个窗⼝管理器的X-Windows图形⽤户界⾯,如同我们使⽤Windows NT⼀样,允许我们使⽤窗⼝、图标和菜单对系统进⾏操作。
Linux之所以受到⼴⼤计算机爱好者的喜爱,主要原因有两个,⼀是它属于⾃由软件,⽤户不⽤⽀付任何费⽤就可以获得它和它的源代码,并且可以根据⾃⼰的需要对它进⾏必要的修改和⽆约束地继续传播。
另⼀个原因是,它具有Unix的全部功能,任何使⽤Unix操作系统或想要学习Unix操作系统的⼈都可以从Linux中获益。
2、Linux系统的主要特点
•开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。
•多⽤户:是指系统资源可以被不同⽤户使⽤,每个⽤户对⾃⼰的资源(例如:⽂件、设备)有特定的权限,互不影响。•多任务:它是指计算机同时执⾏多个程序,⽽且各个程序的运⾏互相独⽴。
•良好的⽤户界⾯:Linux向⽤户提供了两种界⾯:⽤户界⾯和系统调⽤。Linux的传统⽤户界⾯是基于⽂本的命令⾏界⾯,即shell。Linux还为⽤户提供了图形⽤户界⾯。它利⽤⿏标、菜单、窗⼝、滚动条等设施,给⽤户呈现⼀个直观、易操作、交互性强的友好的图形化界⾯。系统调⽤给⽤户提供编程时使⽤的界⾯,⽤户可以在编程时直接使⽤系统提供的系统调⽤命令,系统通过这个界⾯为⽤户程序提供低级、⾼效率的服务。
•设备独⽴性:是指操作系统把所有外部设备统⼀当作成⽂件来看待,只要安装它们的驱动程序,任何⽤户都可以象使⽤⽂件⼀样,操纵、使⽤这些设备,⽽不必知道它们的具体存在形式。Linux是具有设备独⽴性的操作系统,它的内核具有⾼度适应能⼒。
•提供了丰富的⽹络功能: Linux 内置了很丰富的免费的⽹络服务器软件、数据库和⽹页的开发⼯具,如Apache、Qmail、VsFtp、SSH、MySQL 、PHP和JSP等。近年来,越来越多的企业在Linux下建⽴了企业的⽹络服务器。
•可靠的安全系统:Linux采取了许多安全技术措施,包括对读、写控制、带保护的⼦系统、审计跟踪、核⼼授权等,这为⽹络多⽤户环境中的⽤户提供了必要的安全保障。
•良好的可移植性:是指将操作系统从⼀个平台转移到另⼀个平台使它仍然能按其⾃⾝的⽅式运⾏的能⼒。Linux是⼀种可移植的操作系统,能够在从微型计算机到⼤型计算机的任何环境中和任何平台上运⾏。
3、Linux系统的组成
•LINUX的内核:内核是系统的⼼脏,是运⾏程序和管理像磁盘和打印机等硬件设备的核⼼程序。
•LINUX SHELL: Shell是系统的⽤户界⾯,提供了⽤户与内核进⾏交互操作的⼀种接⼝。它接收⽤户输⼊的命令并把它送⼊内核去执⾏。Shell也有多种不同的版本,如Bash、Korn shell、C shell等。
•LINUX⽂件系统: Linux⽂件系统是⽂件存放在磁盘等存储设备上的组织⽅法。Linux能⽀持多种⽂件系统,如EXT2、
EXT3、VFAT、ISO9660、NFS、SMB等。
•LINUX应⽤系统:标准的Linux系统都有⼀整套称为应⽤程序的程序集,包括⽂本编辑器、编程语⾔、X Window、办公套件、Internet⼯具、数据库等。
4、Linux系统的主要版本
Linux发⾏版本可以⼤体分为两类,⼀类是商业公司维护的发⾏版本,⼀类是社区组织维护的发⾏版本,前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。
1. Red Hat Linux:国内,乃⾄是全世界的 Linux⽤户所最熟悉、最⽿闻能详的发⾏版。⽬前Red Hat分为两个系列:由Red Hat公司提供收费技术⽀持和更新的Red Hat Enterprise Linux,及由社区研发的免费的Fedora Core。
2. Debian GNU/Linux:Debian或者称Debian 系列,包括Debian和Ubuntu等。 Debian是社区类Linux的典范,是迄今为⽌最遵循GNU规范的Linux系统。
3.
SUSE是德国最著名的Linux发⾏版,在全世界范围中也享有较⾼的声誉。SUSE⾃主研发的软件包管理系统YaST也⼤受好评。SUSE于2003年年末被Novell收购。
4.
Ubuntu 严格来说不能算⼀个独⽴的发⾏版本, 是基于Debian的unstable版本加强⽽来,可以这么说,Ubuntu就是⼀个拥有
Debian所有的优点,以及⾃⼰所加强的优点的近乎完美的Linux桌⾯系统。
5.
Turbolinux简单易⽤的图形安装程序;友好的图形界⾯;丰富的软件包;提供了完整的源代码程序。
6.其他:
SlackWare、 OpenLinux 、BluePoint、RedFlag、Centos …
常⽤的Linux版本:
redhat 9.0、REHL(Red Hat Enterprise Linux)AS4.0、AS5.0、AS5.2、AS5.3、AS5.5、Turbolinux10.5、11.2、SUSE9、10
5、Linux系统的安装流程(以redhat为例)
1、把准备好的Linux 光盘放⼊光盘驱动器,重新启动服务器,光盘⾃动运⾏如下图:图中提⽰选择安装 “图形界⾯操作模式”或 “⽂本操作模式”,直接Enter开始安装。
2、选择右侧的skip按钮,跳过对光盘介质的扫描检测。
3、选择安装过程中的语⾔为英语,跟根你⾃已的不同选取语⾔,默认为英语。
4、选择键盘类型为美国英语。
5、分区⽅式有两种:⾃动分区和⼿动分区。使⽤⾃动分区的话,那么所有的分区都会放在根⽬录上。若使⽤⼿动分区,则要创建独⽴的/、swap、home等分区。Swap分区⼀般设为内存的2倍。
6、设置启动菜单名称,直接点击下⼀步即可。
7、设置⽹络连接。点击“Edit”按钮。输⼊IP地址和⼦⽹掩码。
8、选择“Enable firewall”,即启⽤防⽕墙。
9、选择安装好之后的操作系统语⾔是英语,(英语兼容性更好亦可显⽰中⽂),但你要选上中⽂的编码的语⾔包。
10、选择时区为“Asia/Shanghai”。
11、输⼊root密码。数组定义语句
12、选择安装软件列表。这⾥务必选择Customize⾃定义⽅式,否则安装程序会安装不必要的图形界⾯,并占⽤数GB的磁盘空间。因为这⾥做为服务器⽤的,如果你有不同,可以按你要求选取安装。
13、选择所需的软件包,点击下⼀步开始安装。
14、安装完成,光盘会被⾃动弹出,点击Reboot重新启动服务器。
6、Linux系统的开机启动流程
⼀、加载BIOS
打开电源,主机⾸先加载Bios,检测硬件的信息,了解整个系统硬件的状态,如cpu、内存、显卡等。
⼆、读取MBR
硬盘上第0磁道第⼀个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的⼤⼩是512字节,可⾥⾯却存放了预启动信息、分区表信息。系统将其复制到内存。
textbox和label区别
三、Boot Loader
Boot Loader 就是在操作系统内核运⾏之前运⾏的⼀段⼩程序。Boot Loader有若⼲种,其中Grub和Lilo是常见的Loader。系统读取内存中的grub配置信息(f),并依照此配置信息来选择启动不同的操作系统。
四、加载内核
根据grub设定的内核映像所在路径,系统读取内核映像,并进⾏解压缩操作。此时,屏幕⼀般会输
出“Uncompressing Linux”的提⽰。当解压缩内核完成后,屏幕输出“OK, booting the kernel”。
五、init依据/etc/inittab⽂件来设定运⾏等级
mips汇编语言程序设计pdf内核被加载后,第⼀个运⾏的程序便是/sbin/init,该⽂件会读取/etc/inittab⽂件,来设定linux运⾏级别。 Linux的运⾏等级设定如下:
0:关机 1:单⽤户模式    2:⽆⽹络⽀持的多⽤户模式
3:有⽹络⽀持的多⽤户模式4:保留,未使⽤
5:有⽹络⽀持有X-Window⽀持的多⽤户模式
6:重新引导系统,即重启
六、init进程执⾏rc.sysinit
在设定了运⾏等级后,Linux系统执⾏的第⼀个⽤户层⽂件就是/etc/rc.d/rc.sysinit脚本程序,它做的⼯作⾮常多,包括设定PATH、⽹络配置(/etc/sysconfig/network)、启动swap分区、根据/etc/fstab挂载所有分区等等。
七、启动内核模块
依据/f⽂件或/etc/modules.d⽬录下的⽂件来装载内核模块
⼋、执⾏不同运⾏级别的脚本程序
根据运⾏级别的不同,系统会运⾏/etc/rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化⼯作和启动相应的服务。
九、执⾏/etc/rc.d/rc.local
/
etc/rc.d/rc.local⽂件是开机⾃启动的配置⽂件。所以,如果需要什么程序开机启动的话,可以写个脚本或命令到这⾥⾯。
⼗、执⾏/bin/login程序,进⼊登录状态
进⼊login界⾯,输⼊⽤户名和密码,和/etc/passwd、/etc/shadow⽂件作⽐较,成功则进⼊系统,不成功,继续等待输⼊。
7、Linux的⽂件系统
1、树形⽬录结构
⽂件系统是⽂件存放在磁盘等存储设备上的组织⽅法,主要体现在对⽂件和⽬录的组织上。⽬录提供了管理⽂件的⼀个⽅便⽽有效的途径。Linux使⽤标准的⽬录结构,在linux安装的时候,安装程序就已经为⽤户创建了⽂件系统和完整⽽固定的⽬录组织形式,并指定了每个⽬录的作⽤和其中存放的⽂件类型。
•/bin:存放⼆进制可执⾏命令⽂件
•/dev:存放设备⽂件。
•/etc:系统管理和配置⽂件
•/home:⽤户主⽬录的基点。
•/lib: 标准程序设计库
•/sbin:系统管理命令⽬录
•/tmp:公⽤的临时⽂件⽬录
•/root:系统管理员的主⽬录
•/mnt:⽤于⽤户临时安装其他⽂件系统的⽬录
•/proc:虚拟⽬录,是系统内存的映射。可直接访问这个⽬录获取系统信息
•/var:某些⼤⽂件的溢出区,存放例如各种服务的⽇志⽂件
•/usr:最庞⼤的⽬录,会⽤到应⽤程序和⽂件⼏乎都在这个⽬录下
2、Linux⽂件存储的三种权限
权限普通⽂件的存取权限⽬录的存取权限
r具有读取⽂件的权利能读取⽂件名称
w具有写⼊⽂件的权利能建⽴和删除⽂件,可以改变⽂件名
x具有执⾏⽂件的权利能使⽤该⽬录下的⽂件(如cd命令)搜索⽂件等
Linux存储⽂件的三种⽤户类型
⽤户类型说明
owner⽂件的属主(拥有者)
group⽤户组内成员
other其他⽤户(⾮owner和⾮group)
3、⽂件权限的修改⽅法
chmod  【⽤户类型+权限类型】⽂件名
例如:chmod  o+x ⽂件名对属主⽤户加执⾏权限
chmod  a+rwx  ⽂件名  a表⽰所有⽤户加读、写、执⾏权限
chmod  【权限表⽰的⼆进制数字】⽂件名
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组和其他⼈只有读的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执⾏的权限,组和其他⼈只有读和执⾏的权限
-rw-rw-rw- (666) 每个⼈都有读写的权限
-rwxrwxrwx (777) 每个⼈都有读写和执⾏的权限
8、Linux的常⽤命令
1、 shutdown 命令安全地将系统关机。
2、halt----最简单的关机命令
其实halt就是调⽤shutdown -h。halt执⾏时﹐杀死应⽤进程﹐执⾏sync系统调⽤﹐⽂件系统写操作完成后就会停⽌内核。
3、reboot
reboot的⼯作过程差不多跟halt⼀样﹐不过它是引发主机重启﹐⽽halt是关机。它的参数与halt相差不多。
4、init
init是所有进程的祖先﹐它的进程号始终为1﹐所以发送TERM信号给init会终⽌所有的⽤户进程﹑守护进程等。shutdown 就是使⽤这种机制。
5、Ctrl+Alt+Del键重启系统。
6、ps  显⽰使⽤终端有关的进程信息
ps –u ⽤户名显⽰某⽤户的进程(如ps -u abc)
ps –e 显⽰所有正在运⾏的进程信息
ps –f  长列表显⽰每个进程信息
ps -ef  长列表显⽰每个正在运⾏的进程信息
7、kill 命令杀掉后台进程
kill 进程号
kill -9 进程号强制杀掉进程
8、df  查看磁盘剩余空间
df  -h
9、du  显⽰指定的⽬录或⽂件所占⽤的磁盘空间。
du -h
10、 fsck ⽤来检查和维护不⼀致的⽂件系统。若系统掉电或磁盘发⽣问题,可利⽤fsck命令对⽂件系统进⾏检查。
fsck的命令格式如下 :
fsck [-aANrsTV][-t  fstype][]
-a  ⾃动修复⽂件系统,不询问任何问题。
-A  依照/etc/fstab配置⽂件的内容,检查⽂件内所列的全部⽂件系统。
-N  不执⾏指令,仅列出实际执⾏会进⾏的动作
-r  采⽤互动模式,在执⾏修复时询问问题,让⽤户得以确认并决定处理⽅式。
-s  依序执⾏检查作业,⽽⾮同时执⾏。
-t  指定要检查的⽂件系统类型。
-T  执⾏fsck指令时,不显⽰标题信息。
-V  显⽰指令执⾏过程。
11、查看系统信息
cat  /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
cat  /proc/ioports - 设备IO端⼝
cat  /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
cat  /proc/partitions - 所有设备的所有分区
cat  /proc/swaps - 所有Swap分区的信息相当于swapon -s
cat  /proc/version - Linux的版本号相当于 uname -a
uname -r - 看系统内核等信息
linux建立文件系统的命令
12、查看系统⽇志
cat /var/log/messages 系统启动后的信息和错误⽇志
cat /var/log/secure      与安全相关的⽇志信息
9、 Linux常⽤⼯具和实⽤程序
1、vi 编辑器
vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强⼤不逊⾊于任何最新的⽂本编辑器,
 基本上vi可以分为两种状态,分别是命令模式(command mode)、插⼊模式(Insert mode)。按Esc可切换模式。          vi ⽂件名对⽂件进⾏编辑
a 将在光标所在位置之后插⼊⽂本(append)
A 将在光标所在⾏末插⼊⽂本
i将在光标所在位置之前插⼊⽂本(insert)
I将在光标所在⾏的第⼀个⾮空字符前插⼊⽂本
2、find命令在指定⽬录及其⼦⽬录下查符合条件的特定⽂件。
命令格式:find  ⽬录⽂件名
字符串的首地址怎么表示3、 tar命令
tar -xvf  *.tar  解压tar包    tar -cvf  *.tar ⽬录打成tar 包
tar zcvf  *. ⽂件名打包命令
tar zxvf  *.                解压包命令
4、unzip命令
unzip *.zip 解压Windows 下的zip压缩软件
5、mount命令
字符串函数c++
mount /dev/hdd /cdrom /mnt/cdrom 挂载光驱
6、scp命令
scp –r  /downloads/*  username@IP:/uploads/  把本机⽬录 /downloads 的内容传输到远程机器上的 uploads ⽬录.
7、top命令实时显⽰ process 的动态
8、rpm命令
rpm –ivh      安装⼀个包
rpm –Uvh    升级⼀个包
rpm –e        移⾛⼀个包
rpm –q        查询⼀个包是否被安装
安装参数
--force 即使覆盖属于其它包的⽂件也强迫安装

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。