为什么选linux操作系统研究? 因为linux操作系统开放源代码,是其他操作系统无法比拟的。由于windows系统是封闭的,所以无法深入研究。 选用教程:linux实用教程 刘兵 吴煜煌等编著 linux下的程序员和系统管理员相对不足,学习linux是一个比较明智的选择。研究计算机技术,应该对系统有更多的了解,这样才更有价值。 第一章 linux概况及安装 linux借鉴了unix操作系统的一些设计,设计者Linux Torvalds。他设计了和unix兼容的linux系统。linux源代码全部公开,并且借助互联网在世界范围传播。linux具备unix的全部特性,效率高,很灵活。运行一个应用程序,所消耗的资源小。其内核及功能,可以通过方便的配置手段进行配置,并且可以支持多种硬件平台。linux系统价格便宜,易用性也不断增强。科学研究,大都基于linux/unix。 linux系统的主要特点:开放性,遵循开放系统互联OSI标准。多用户,资源可以被不同用户使用,每个用户对自己的资源都有特定的权限,互不影响。多任务。良好的用户界面。设备独立性,该特性继承了unix的一个特点。设备独立性是指操作系统把所有的外部设备统一当成一个文件夹来看待,只要安装它们的驱程,任何用户都可以像使用文件一样,使用这些设备,而无须知道其具体的存在形式。只须安装驱动程序,而无需修改内核,就可以实现对硬件的支持,因此内核具有高度的适应能力。linux提供了丰富的网络功能。可靠,安全,有独立的认证模块。可移植性良好。 linux的组成:linux内核-硬件之上。内核之上,提供的用户接口——linux shell(命令行),或者X-window(图形用户界面,鼠标操作),或系统调用,例如API(应用程序接口)。linux文件系统,支持多种异构的文件系统。用VFS支持不同的文件系统。例如etx2,etx3,fat,Vfat=fat32,ISO9660(光盘),SMB等。linux应用系统,linux包含的应用程序集,包括办公套件,数据库,编程套件,Xwindows等。 linux的发行版本:Mandrake Linux--美国,suse linux--欧洲,redhat linux,turbo linux,红旗linux。 linux的安装(此处以DH9为例) linux操作系统必须使用独立分区或者在虚拟机上使用。键盘用美国英语式。根据需要选定制。为系统分区选手动分区。 HDA=IDE的第一个硬盘 boot系统分区 (一般放引导相关信息,内核,引导参数文件、配置文件)swap 交换分区(充当临时内存),一般设置为内存的两倍。例如256的内存,swap一般为512M。win的pagefile.sys---相当linux的交换分区。linux可以建交换文件,但效率比较低。装多引导系统,可以添加双操作系统操作程序。linux的root用户。在/root/install.log中可以见到完整的安装日志。
VM,VPC等都是虚拟机软件,可以在虚拟机上运行linux。先去找到显卡的驱程,再安装和配置显卡。MBR的起始512字节,446字节是放引导区,64字节是磁盘分区信息,512=446+64+2。boot/drive/grub修改一下,就可以设置默认值。linux可以通过光盘,网络,硬盘安装。 登录: 超级用户:root。登录:认证,授权。安全防护采用影子,口令长度255字符。linux可以在另外一台电脑上进行认证。授权,分配你读写某个文件的权限。linux分超级用户和普通用户。超级用户就一个,默认为root。linux系统严格区分大小写,用户名、文件名和设备名都如此。 注销: 1选择主菜单-注销。 2注销对话框有关机和重启。关机要按流程来,可以用shutdown命令。 linux的基本使用和设置: 可以修改和选择桌面,与win类似。 配置日期:选择主菜单-系统设置-日期&时间,或在shell(如GNOME终端)键入 redhat-config-date命令。 软盘/光盘的使用: 对设备的访问就是对文件的访问,访问文件,就是访问设备的驱动程序,与设备相对应。 挂载或者卸载软盘/光盘:在终端下键入:#mount/mnt/floppy/ 以挂载软盘。 相当于#mount-t (类型)vfat(win32 文件类型)/dev/fd0/mnt/floppy。 一般建议挂载在空白文件夹。 卸载:#umount/mnt/floppy/ 在MS-DOS磁盘上存放linux,用#cp filename/mnt/floppy 。 windows下不支持linux文件系统。linux没逻辑盘符的概念,只有文件系统的概念。 光盘的使用: 在文件管理器中使用光盘 在终端shell下键入: #mount/mnt/cdrom 挂载光盘。相当于# mount -r(只读)-t iso9660/dev/cdrom/mnt/cdrom 。 卸载就#umount/mnt/cdrom。 打印机安装与配置: 主菜单-系统设置-printing 添加一个本地打印队列,按照向导操作,然后测试一下。 使用RPM来管理软件包: RPM:红帽子的包管理工具,是开放打包系统,可以在linux和linux应用。RPM可以进行软件包的校检。RPM允许把软件编码和程序打包,然后提供给终端用户。当得到一个基于RPM的操作系统新版本发行包,不必重新安装系统,就可以升级个别组件。强大的查询功能,可以搜索特定的文件,以及文件的来源和从属。纯净源码:使用RPM会有纯净源码,使用过的补丁以及完整建构的指令。RPM有五种基本操作:安装、反安装、升级、查询以及校验。可以通过rpm-help 命令了解细节。 RPM的名称格式:如XX-1.0-1.i386.rpm 。其中XX为软件包名称,1.0-1为主要版本号和次版本号。i386为软件运行的硬件平台,rpm为文件扩展名,为RPM包。 安装RPM包: 命令格式: rpm -i RPM包的全路径文件名 如果想显示安装进度和信息,可用如下命令: rpm -ivh RPM包的全路径文件名 i----安装 v----verbose,设置在安装过程中将显示详细的信息 h----hash,安装过程中以#显示安装的进度。 对较大的RPM包,建议使用-ivh 选项。 删除RPM包: rpm -e RPM包名称 升级RPM rpm -u RPM包的全路径文件名 查询PRM包 命令格式:rpm -q 来查询安装的软件包的名称、版本和发行号码。 -a:查询所有已安装的软件包 -f
:查询拥有
的软件包,当指定文件时,必须是完整路径。 -p
:查询软件包
信息选择项: -i:显示软件包信息,包括名称、描述、发行版本、大小、制造日期、生产商等。 -I:显示软件包所包含文件列表。 -s:显示软件包中所有文件的状态。 -d:显示被标记为文档的文件列表。 -c:显示配置文件的文件列表。 linux很多资源都公开源码,利于学习。 校验已安装的软件包: rpm-v 。校验软件包的安装文件和原始软件包的同意文件信息。 要求:对linux有一个初步的认识,会一些基本的操作。
第2章 linux的常用命令 主要介绍文件相关命令。 命令使用方式:主程序-系统工具-终端。或者在桌面上选择终端,进入命令行操作界面。不同用户级别的提示符不同,$为普通用户,#为超级用户。 回车——当前行结束,默认控制符。如果需要续行,可以"/回车"。输入一般控制符必须先按下CTRL键,然后再按所对应的字符键。打命令发现命令不对,可以退格。可以通过CTRL-C和DEL或break键终止程序。 CTRL-h 退格 CTRL-d 终端输入结束 CTRL-m 回车 CTRL-g 控制终端响铃 date 显示当前的时间和日期 who 显示系统中的哪些用户在工作 who am i 显示当前用户的注册信息 whom 没有那个文件或目录 Tab 用作命令补齐字符,当键入的字符足以确定目录中的一个唯一文件时,用Tab命令可以补齐剩下的文件名。 特殊字符:有些字符串表示系统中特殊的变量 home 当前用户的用户目录 path bash寻找可执行文件的搜索路径 PWD 当前工作目录 PS1 命令行的一级提示符 PS2 命令行的二级提示符 在shell中将详细讲述。 history[n]列出以前打过的命令 ,N表示仅有最后几个历史命令会被列出。 history [-r|w|a|n][filename] -r读历史列表文件并将其当作当前命令历史列表 -w,写入文件并覆盖原文件 -a追加到当前文件中 -n,将读取内容并加入到当前历史命令列表中。如果filename省缺则以HISTFILE值代替。 命令可以取别名,命令别名格式: alias [alias-name='original command'] alias-name——用户给命令取的别名,original command——原来的命令和参数。等号两边不能有空格,仅在命令中包含空格或特殊字符时才需要引号。如果不带任何参数的alias命令,则显示已定义的别名。 第一、二级提示符可以修改,例如: PS1="输入一个命令" 特殊字符: /! 显示该命令的历史编号 /# 显示shell激活后,当前命令的历史编号 /$,显示一个$,如果是root用户则显示# // 显示/ /d 显示日期 /h 显示运行shell的主机名 /n 换行符,导致提示跨行 /s 显示正在运行的shell的名称 /t 显示当前时间 /u 显示当前的用户名 /W 显示当前工作目录基准名 /w 显示当前工作目录 通配符基础: ? 该位置匹配任意的单个字符 * 该位置匹配若干个任意字符 [charset] 字符的集合 文件概念及命令操作 1文件显示命令: ls[选项][文件目录列表] 选项参数: -a 显示所有文件及目录(文件名/目录名开头为.的不列出) -c 纵向排列 -x 横向排列 -l 列出文件详细信息 -t 按时间顺序列出文件 -A 同-a,但不列出.(当前目录)以及..(父目录) -X 按扩展名排序显示 -R 递归显示下层目录 -HELP 显示帮助信息 --version 显示版本信息 linux支持多种文件类型,每一类用一个字符表示如下: -常规文件 d 目录 b 块特殊设备 c 字符特殊设备 p 有名管道 s 信号灯 m 共享存储器 文件类型的字符表示文件的权限,权限由三个字符串组成,分布表示该文件所有者的权限、组中其他人的权限和系统中他人的权限,每个字符串由三个字符表示,r 文件读,w 文件写,x 文件执行,-无相应权限 2查找、排序及显示指定文件内容的命令 查找文件,格式如下: #find[目录列表][匹配准则] 目录间用空格分隔。 1)通过文件名查找,例如:#find/ -name httpd.conf -print 2)根据部分文件名查找 #find/ -name *http* -print 3)根据文件的属性进行查找,例如:#find/etc -size -2500c -print 显示文本文件内容,如: cat [选项] 文件列表 参数如下: -b计算所有非空输出行,开始为1。 -e在每行末尾显示$符合。 -h计算所有输出行,开始为1。 -s将相连的多个空行用单一空行代替。 查找文件内容 grep[选项] 匹配字符串 文件列表 -c 对匹配的行计数 -l 只显示包含匹配的文件的文件名 -h 抑制包含匹配文件的文件名显示 -n 每个匹配行只按照相对的行号显示 -i 产生不区分大小写的匹配,省缺状态是区分大小写 排序命令 sort[选项]文件 比较文件内容的命令 comm命令:对两个已经有序的文件进行比较,语法如下: comm [-123] file1 file2 生产三列输出,仅在file1出现的行,仅在file2出现的行,在两个文件都存在的行。 diff命令:比较两个文件的不同内容,语法如下: diff [参数] 原文件 目标文件 参数 a 将所有文件当作文本文件处理 b 忽略空格造成的不同 B 忽略空行造成的不同 q 只报告不同的地方,不报告具体不同信息 H 利用试探法加速对大文件的搜索 i 忽略大小写的变化 l 比较目录时比较所有子目录 s 两个文件相同时才报告 v 输出版本信息并退出 复制、删除和移动文件的命令 文件复制:复制文件或目录,格式如下: cp [选项] 源文件 目标文件 cp [选项] 源文件组 目标目录 选项 -a 在备份中保持尽可能多的源文件结构和属 -b 做将要覆盖或删除文件的备份 -f 删除已存在的目标文件 -i 提示是否覆盖已存在的目标文件 -p 保持原文件的所有者,组权限和时间标志 -r 递归拷贝目录,把所有非目录文件当作普通文件拷贝 -R 递归拷贝目录 文件删除命令:删除文件及整个目录,格式如下: rm [选项] 文件列表 选项 -r 删除文件列表中指定目录,不用此选项,则不删除目录 -I 在执行删除前提示确认。 -f 强行删除模式,无提示 -V 在删除前回显文件名 --指明所有选项结束 #rm -R* 危险命令,删除整个系统。 移动文件,给文件改名,语法格式: mv [-f] [-i] 文件1 文件2 mv [-f] [-i] 目录1 目录2 mv [-f] [-i] 文件列表 目录 -f 通常情况下,目标文件存在但用户没有写权限时,mv会给提示,该选项,使mv命令不给提示 -i 交互模式,当移动的目录已存在同名目标文件名时,用覆盖方式写文件,写入前给出提示 文件内容统计命令: 格式:wc [选项] 文件列表 如没给出文件名,从标准输入读取。字,由空格字符区分开的最大字符串。 -c 统计字节数 -l 统计行数 -w 统计字数 命令的输入和输出 linux系统,执行一个shell命令行时通常会自动打开三个标准文件:标准输入文件(stdin),对应终端键盘,标准输出文件(stdout)和标准错误输出(stderr),均对应终端屏幕。 linux系统为输入、输出的传送引入了另外两种机制,即输入/输出重定向和管道。 输入重定向:把命令的标准输入重定向到指定文件中。用于改版一个命令输入源。用<表示。另一种重定向,为here文档,用<<表示,它将一对分隔符(!...!)之间的正文重定向输入给命令。 输出重定向:将标准输出或标准错误输出重新定向到指定文件中。输出重定向的一般形式为:命令>文件名 覆盖 输出追加重定向:命令>>文件名 追加 输出追加重定向,该文件的原有内容不被破坏。 管道:把一个程序的输出作为另一个命令的输入。符号 | 例如:#ls -l|wc-l 命令替换 格式:command1 'command2' 其中command2的输出将作为command1的参数。 目录及其操作 1树型目录结构 系统本身的驻留程序存放在以根目录开始的专用目录中 用户登录后,先进入主目录。 linux的主要目录说明 /bin 二进制文件,可执行程序 /boot 存放系统启动时用到的程序。引导目录 /dev 设备。不放外部设备的驱动程序 /etc 存放配置文件和子目录。文件系统,网络配置文件,X系统配置文件,设备配置文件,用户信息都在这个目录下,系统级的配置文件 /sbin 存放系统管理程序 /home 存放用户主目录 /lib 库,存放系统动态连接共享库。所有程序都会用到。 /mnt 一般为空,可临时将别的文件系统挂在这个目录下 /proc 在该目录下获取系统信息,在内存中由系统产生,虚拟文件系统 /root 超级用户主目录 /tmp 存放不同程序执行时产生的临时文件 /usr 占用硬盘空间最大的目录,用户安装的很多信息 创建目录,格式: mkdir [-m模式] [-p目录名] 目录 建立目录时,按模式设置目录权限,权限分为:目录所有者的权限,组中其他人对目录的全息和系统中他人对目录的权限。三个权限分别用三个数字之和表示,对目录的读权限是4,写权限2,执行权限是1。 -p目录名:建立所有不存自父目录的目录 目录 要建立的目录 删除目录,删除的目录必须为空目录,否则报告出错,格式如下: rmdir -p 目录列表 -p 删除目录表指定的目录后,若父目录为空,也删除父目录,状态信息显示被删除,删除什么 目录列表:空格分隔的目录名列表,要删除的目录必须为空 显示当前目录,格式pwd 改变当前工作目录,格式:cd [目录名] 链接文件命令:在文件之间创建链接。给一个系统中已有的某个文件指定另外一个可用于访问它的名称。 语法如下: ln[选项] 目标 [链接名] ln[选项] 目标 目录 链接文件和被链接文件位于同严格文件系统,不能建立指向目录的硬链接。 ln默认为硬链接。 给ln加上-s选项,建立符号链接。链接名可以是文件也可以是目录,允许不在同一个文件系统,如果链接名已存在,则在该目录下建立一个或多个鱼目标同名的文件,此新建的文件实际上是指向原目标的符号链接文件。 改变文件或目录权限,只有目录/文件的所有者或者超级用户可以设置权限。格式如下:chmod [选项] 文件和目录列表 使用八进制数设置权限,执行读写权限对应数值1,2,4 若RWX属性为4+2+1=7 RW- 4+2=6 R-X 4+1=5 例如:$chmod g-r -w -x 文件名 改变所有权 chown [选项] 用户 文件和目录列表 文件压缩 gzip压缩文件 gzip [选项] 压缩/解压 文件名 选项 -c 将输出写到标准输出上,并保留原文件 -d 将压缩文件解压 -l 显示每个压缩文件的详细信息 -r 递归查找指定目录并压缩/解压其中所有文件 -t 测试,检查压缩文件完整性 -v 显示每个文件的文件名和压缩比 文件打包tar tar可以对文件或目录打包,可以对某一特定文件打包,也可以在包中改版或者加入新文件。格式如下: tar [主选项+辅选项] 文件或目录名 主选项 -c 创建新的档案文件。如用户想备份一个目录或一些文件,选此项。 -x 从档案文件中释放文件 -r 把要存档的文件追加到档案文件的末尾 -t 列出档案文件的内容,查看备份了哪些文件 -u 更新文件,用新增文件代替原备份文件,如果没有更新文件则追加到文件最后。 辅选项 f 使用档案文件或设备,必选 K 保存已经存在的文件 m 在还原文件时,把所有文件的修改时间设定为现在 M 创建多卷的档案文件 v 详细报告tar处理的文件信息 z 用gzip来压缩/解压文件 unzip命令,解压.zip文件,格式:unzip [选项] 压缩文件名.zip 选项 -x 文件列表解压缩文件,但不包括指定的file文件 -v 查看压缩文件目录,但不解压 -t 测试文件有无损坏,但不解压 -d 把压缩文件解压到指定目录 -z 只显示压缩文件的注解 -n 不覆盖已存在的文件 -o 覆盖已存在的文件且不要求用户确认 -j 把所有文件解压到同一目录下 联机帮助 显示帮助手册,格式:man [选项] 命令名称 -S 根据章节显示 -f 只显示命令的功能而不显示详细说明文件 -w 不显示手册页,只显示将被格式化和显示的文件所在位置 -a 显示所有手册页 -E 在每行的末尾显示$符号 1 一般使用者命令 2 系统调用的命令 3 C语言库函数的命令 4 有关驱动程序和系统设备的解释 5 配置文件的解释 6 游戏程序的命令 7 其他的软件或程序的命令和有关系统维护的命令 系统帮助文档 help命令用于查看所有shell命令的用法,只需在所查找的命令后输入help命令即可。例如:$cd--help whereis命令 寻找一个命令所在的位置。格式:whereis [选项] 命令名 一般不加选项,也可根据需要。 -b 只找二进制文件 -m 查找主要文件 -s 查找来源 -u 查找不常用的记录文件