Linux基础知识文档教学内容.docx
- 文档编号:9058124
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:6
- 大小:19.64KB
Linux基础知识文档教学内容.docx
《Linux基础知识文档教学内容.docx》由会员分享,可在线阅读,更多相关《Linux基础知识文档教学内容.docx(6页珍藏版)》请在冰豆网上搜索。
Linux基础知识文档教学内容
Linux基础知识文档
Linux基础知识
1.前言
使用Linux系统与使用WIN系统比较,有着较大的区别,并且在开发过程中,将会更多地使用文本界面,甚至从来不用GUI(当然,sourceinsight除外)。
在Linux下开发、调试程序与WIN32的环境有一些区别,需要掌一些常用的命令和工具的用法,这些命令和工具只有CLI。
希望通过学习下面的Linux基础知识,大家能够尽快熟悉Linux的开发环境,为以后的工作奠定扎实的基础。
当大家觉得CLI比GUI要来得方便时(事实也的确如此),也就应该有不错的Linux功底了。
所以建议在用Linux的时候,不要使用GUI。
2.安装与配置
2.1Linux的安装与配置
这部分指导大家在虚拟机中安装Linux系统,建立基本的开发环境。
用虚拟机而不用真实安装在硬盘上的Linux系统的原因是,为了方便。
前面提到过,我们需要用sourceinsight编辑代码,而在Linux系统中编译代码,经常需要在两个系统下切换。
2.2安装
通过我们三部的服务器上的RHEL4WS的安装镜像来安装Linux。
建议参数:
在Vmware中,分配10G以上的虚拟硬盘,分配384M以上的内存空间,网络选择桥接或者NAT。
提示:
可以不用将4个ISO都下到本地,在XP中可以映射网络驱动器,在vmware中可以直接将ISO指定为光驱。
安装的时候,建议选择“完整安装”,有兴趣的话可以在以后的时间里选择安装自己所需要的包。
安装的细节,如分区等,希望大家自己研究。
完整安装的时间视机器速度,1小时左右。
2.3配置
安装好后,需要配置以下几项,方便使用。
开启一些服务:
在终端中输入ntsysv,选中smb和sshd。
配置samba文件共享,让虚拟机作为文件服务器,使我们的主、客系统能够互相传送文件。
添加smb帐户:
smbpasswd–aroot
修改smb配置文件:
vi/etc/samba/smb.conf,在末尾添加如下内容:
[root]
path=/
validusers=root
createmask=0600
directorymask=0700
writeable=yes
修改防火墙配置文件(/etc/sysconfig/iptables),开启smb服务端口,
在-ARH-Firewall-1-INPUT-p51-jACCEPT之后加上-ARH-Firewall-1-INPUT-ptcp-mtcp--dport445-jACCEPT
如果没有“-ARH-Firewall-1-INPUT-p51-jACCEPT”一行的话,在“-ARH-Firewall-1-INPUT-jREJECT--reject-withicmp-host-prohibited”之前加上也可以。
重启服务:
serviceiptablesrestart;servicesmbrestart;servicesshdrestart
提示:
现在可以将VMWARE最小化了,我们可以用Windows下的SSH软件登录Linux,推荐使用putty。
还可以修改/etc/inittab,让我们的Linux启动时自动进入textmode。
另外,可以在Windows中映射网络驱动器,把Linux下的/文件系统作为一个网络磁盘。
3.知识纲要
3.1概念
Linux内核、文件系统、根文件系统、挂载
Linux的文件/文件夹权限、一般文件与特殊文件
Linux的shell——bash
环境变量、管道、重定向
提示:
以上的概念在《UNIX.Shells.by.Example》书中有非常详细的介绍,是学习shell的一本极好的教材,也是一本极好的手册。
Linux文件系统中的各目录存储的文件及作用
Linux的软件安装,分为源码和二进制包
Linux内核编译(选)
Linux下开发工程的组织——makefile
提示:
《Makefile的编写指导》是非常好的一个有关于makefile的文档
Linux下的编译器gcc——gnucompilercollection,编译、链接的概念
3.2常用shell命令和工具
命令:
lsmkdirrmcpmvchmodchownchgrpfindgrepkillpslncatcutechoaliasmore/lessexportwcwhereisroutemountumountfreedudatedfmknodsortman
工具:
tarviifconfiggccmakezipunziprpmpatch
选学内容:
sedawk正则表达式
提示:
多用管道(|),可以方便地完成很多复杂的事情。
3.2.1tar
Linux下的重要打包工具,制作/解开文件包。
Linux下主要有两种包,xxx.tar.gz、xxx.tar.bz2,分别是用gzip和bz2制作的tar包。
解压:
tar–zxfxxx.tar.gz/tar–jxfxxx.tar.gz2
压缩,将XXX目录打包:
tar–czfxxx.tar.gzxxx目录/tar–cjfxxx.tar.bz2xxx目录
查看文件包内容:
tar–tzvfxxx.tar.gz/tar–tjvfxxx.tar.bz2
3.2.2grep
grep(GlobalRegularExpressionPrint)是Linux下强大的正则表达式匹配工具,最常见的应用场合是在一堆字符串中找出我们所指定的内容,打印出匹配的行。
找出源码目录中所有的FORWARD字符串出现:
grep–rFORWARD*
找出源码目录中所有以FORWARD字符串开始的行:
grep–r^FORWARD*
找出文件main.c中所有以int字符串开始的行,允许缩进:
grep-r'^[\t]*\
提示:
关于正则表达式,掌握到这个层次就应该可以应付我们的开发工作了。
3.2.3find
按照需求查找文件,一般用在查找当前目录下的某些文件。
find.不给任何参数,将会递归显示当前目录下的所有文件和文件夹
find.–name“main.c”,把所有的main.c都找出来
find.–name“data”–typed,把所有的名为data的文件夹都找出来
find跟grep配合,利用grep去做匹配,也是常见的用法。
find.|grepmain\.c把所有的main.c都找出来。
3.2.4挂载
请先熟悉挂载的概念,要求深刻理解。
mount/dev/sda5/mnt/sda5,将设备sda5挂载到/mnt/sda5上。
umount/dev/sda5或者umount/mnt/sda5,均可卸载设备。
提示:
Linux下使用ISO镜像很简单,不需要用虚拟光驱或者解包:
mountxxx.iso/mnt/iso–tiso9660–oloop,一般不用指定-t。
3.2.5Ifconfig
最常见的应用,打开、关闭网络连接,设置IP、MAC
ifconfigeth0down
ifconfigeth0192.168.1.100
ifconfigeth0hwether00:
22:
33:
44:
55:
66
ifconfigeth0up
3.2.6vi
Linux下的文件编辑器分为两大阵营,vi和emacs,个人不会emacs,如果有人熟悉emacs,希望能一起学习一下。
注意,vi不像Windows下的notepad那么“弱智”,是一个功能极为强大的文件编辑器,涵盖了如下功能(未总结完整):
文本的编辑、查找、高级替换、支持正则表达式、支持语法高亮、自动缩进等。
它的亮点在于它的两个模式:
底行模式和命令模式,加上正则表达式,可以实现强大到难以想像的文本处理功能。
●Vi的模式介绍:
基本上vi可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:
1)命令模式commandmode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到lastlinemode。
2)插入模式(Insertmode)
只有在Insertmode下,才可以做文字输入,按「ESC」键可回到命令模式。
3)底行模式(lastlinemode)
以输入“:
”开始,将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
不过一般我们在使用时把vi简化成两个模式,就是将底行模式(lastlinemode)也算入命令行模式commandmode)。
●Vi的基本设置与操作:
语法高亮:
底行模式:
syntaxon
显示行号:
:
setnu
设置缩进:
:
setts=4
详细的vi操作请查阅相关资料。
3.2.7gcc与Makefile
gcc是一个编译器的集合,我们主要用它来编译C语言程序。
gcc最为简单的用法是:
gcc–oexefileexefile.c,将exefile.c编译,输出可执行文件为exefile
再来看一个简单的Makefile,工程中有main.cmd5.cmd5.h
这个工程的Makefile:
obj=main.omd5.o
all:
$(obj)
@gcc-omd5$(obj)
main.o:
md5.h
md5.o:
md5.h
.PHONY:
distcleanclean
clean:
@rm-rf$(obj)
distclean:
@rm-rf$(obj)md5
gcc和makefile的具体使用,请参考相关的详细文档。
3.2.8rpm
RH下,包是用rpm来管理的,我们主要是用来安装软件/删除软件。
查看所有的软件包:
rpm–aq,提示:
加上管道,就可以查看匹配我们需要的包:
rpm–aq|grepxxx
安装软件包:
rpm–Uvhxxx.rpm,提示:
使用-U参数比-i参数要好,如果当前软件包版本号更高,那么软件会被升级,如果未安装,那么将会被安装(此时等同于rpm-i)。
查看系统中装了多少二进制RPM包:
rpm–aq|wc,第一个数字,即行数,就是软件包个数了。
提示:
Linux系统中各个工具/命令其实都有详细的文档,当然,文档多数都是英文的,遇到新的命令或者是旧的命令有不明白的参数和用法的时候,多尝试cmd–h/cmd–help/cmdhelp/mancmd。
遇到一些库函数或者系统API不会使用的时候,也尝试一下,如manprintf/man–aprintf。
养成记录的习惯,将发现的新命令、新用法记下来,便于以后查阅。
4.习题
光看资料是远远不够的,为了熟悉掌握新的知识,必须要多练习多运用。
所以这里给出一些有关于shell、vi、gcc、makefile的练习,对基础进行巩固。
当然,仅仅依靠基础练习也是远远不够的,需要多使用、多研究、多思考、多尝试,建立Linux思维模式,产生深厚的兴趣。
习题见相关文档。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 基础知识 文档 教学内容
![提示](https://static.bdocx.com/images/bang_tan.gif)