基础知识文档_第1页
基础知识文档_第2页
基础知识文档_第3页
基础知识文档_第4页
基础知识文档_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Linux 基础知识目录1.前言12.安装与配置12.1Linux的安装与配置12.2安装12.3配置13.知识纲要23.1概念23.2常用shell命令和工具2tar3grep3find3挂载3Ifconfig4vi4gcc与Makefile5rpm54.习题61. 前言使用Linux系统与使用WIN系统比较,有着较大的区别,并且在开发过程中,将会更多地使用文本界面,甚至从来不用GUI(当然,source insight除外)。在Linux下开发、调试程序与WIN32的环境有一些区别,需要掌一些常用的命令和工具的用法,这些命令和工具只有CLI。希望通过学习下面的Linux基础知识,大家能够尽

2、快熟悉Linux的开发环境,为以后的工作奠定扎实的基础。当大家觉得CLI比GUI要来得方便时(事实也的确如此),也就应该有不错的Linux功底了。所以建议在用Linux的时候,不要使用GUI。2. 安装与配置2.1 Linux的安装与配置这部分指导大家在虚拟机中安装Linux系统,建立基本的开发环境。用虚拟机而不用真实安装在硬盘上的Linux系统的原因是,为了方便。前面提到过,我们需要用source insight编辑代码,而在Linux系统中编译代码,经常需要在两个系统下切换。2.2 安装通过我们三部的服务器上的RHEL4 WS的安装镜像来安装Linux。建议参数:在Vmware中,分配10

3、G以上的虚拟硬盘,分配384M以上的内存空间,网络选择桥接或者NAT。提示:可以不用将4个ISO都下到本地,在XP中可以映射网络驱动器,在vmware中可以直接将ISO指定为光驱。安装的时候,建议选择“完整安装”,有兴趣的话可以在以后的时间里选择安装自己所需要的包。安装的细节,如分区等,希望大家自己研究。完整安装的时间视机器速度,1小时左右。2.3 配置安装好后,需要配置以下几项,方便使用。开启一些服务:在终端中输入ntsysv,选中smb和sshd。配置samba文件共享,让虚拟机作为文件服务器,使我们的主、客系统能够互相传送文件。添加smb帐户:smbpasswd a root修改smb配

4、置文件:vi /etc/samba/smb.conf,在末尾添加如下内容:root path = / valid users = root create mask = 0600 directory mask = 0700writeable = yes修改防火墙配置文件(/etc/sysconfig/iptables),开启smb服务端口,在-A RH-Firewall-1-INPUT -p 51 -j ACCEPT 之后加上-A RH-Firewall-1-INPUT -p tcp -m tcp -dport 445 -j ACCEPT如果没有“-A RH-Firewall-1-INPUT -

5、p 51 -j ACCEPT”一行的话,在“-A RH-Firewall-1-INPUT -j REJECT -reject-with icmp-host-prohibited”之前加上也可以。重启服务:service iptables restart; service smb restart; service sshd restart提示:现在可以将VMWARE最小化了,我们可以用Windows下的SSH软件登录Linux,推荐使用putty。还可以修改/etc/inittab,让我们的Linux启动时自动进入text mode。另外,可以在Windows中映射网络驱动器,把Linux下的/

6、文件系统作为一个网络磁盘。3. 知识纲要3.1 概念Linux内核、文件系统、根文件系统、挂载Linux的文件/文件夹权限、一般文件与特殊文件Linux的shellbash环境变量、管道、重定向提示:以上的概念在书中有非常详细的介绍,是学习shell的一本极好的教材,也是一本极好的手册。Linux文件系统中的各目录存储的文件及作用Linux的软件安装,分为源码和二进制包Linux内核编译(选)Linux下开发工程的组织makefile提示:Makefile的编写指导是非常好的一个有关于makefile的文档Linux下的编译器gcc gnu compiler collection,编译、链接的

7、概念3.2 常用shell命令和工具命令:lsmkdirrmcpmvchmodchownchgrpfindgrepkillpslncatcutechoaliasmore/lessexportwcwhereisroutemountumountfreedudatedfmknodsortman工具:tarviifconfiggccmakezipunziprpmpatch选学内容:sedawk正则表达式提示:多用管道(|),可以方便地完成很多复杂的事情。3.2.1 tarLinux下的重要打包工具,制作/解开文件包。Linux下主要有两种包,xxx.tar.gz、xxx.tar.bz2,分别是用gzi

8、p和bz2制作的tar包。解压:tar zxf xxx.tar.gz / tar 压缩,将XXX目录打包:tar czf xxx.tar.gz xxx目录 / tar cjf xxx.tar.bz2 xxx目录查看文件包内容:tar tzvf xxx.tar.gz / tar 3.2.2 grepgrep(Global Regular Expression Print)是Linux下强大的正则表达式匹配工具,最常见的应用场合是在一堆字符串中找出我们所指定的内容,打印出匹配的行。找出源码目录中所有的FORWARD字符串出现:grep r FORWARD *找出源码目录中所有以FORWARD字符串

9、开始的行:grep r FORWARD *找出文件main.c中所有以int字符串开始的行,允许缩进:grep -r ' t*<int>' main.c提示:关于正则表达式,掌握到这个层次就应该可以应付我们的开发工作了。3.2.3 find按照需求查找文件,一般用在查找当前目录下的某些文件。find .不给任何参数,将会递归显示当前目录下的所有文件和文件夹find . name “main.c”,把所有的main.c都找出来find . name “data” type d,把所有的名为data的文件夹都找出来find跟grep配合,利用grep去做匹配,也是常见的

10、用法。find . | grep main.c把所有的main.c都找出来。3.2.4 挂载请先熟悉挂载的概念,要求深刻理解。mount /dev/sda5 /mnt/sda5,将设备sda5挂载到/mnt/sda5上。umount /dev/sda5或者umount /mnt/sda5,均可卸载设备。提示:Linux下使用ISO镜像很简单,不需要用虚拟光驱或者解包:mount xxx.iso /mnt/iso t iso9660 o loop,一般不用指定-t。3.2.5 Ifconfig最常见的应用,打开、关闭网络连接,设置IP、MACifconfig eth0 downifconfig

11、eth0 hw ether 00:22:33:44:55:66ifconfig eth0 up3.2.6 viLinux下的文件编辑器分为两大阵营,vi和emacs,个人不会emacs,如果有人熟悉emacs,希望能一起学习一下。注意,vi不像Windows下的notepad那么“弱智”,是一个功能极为强大的文件编辑器,涵盖了如下功能(未总结完整):文本的编辑、查找、高级替换、支持正则表达式、支持语法高亮、自动缩进等。它的亮点在于它的两个模式:底行模式和命令模式,加上正则表达式,可以实现强大到难以想像的文本处理功能。l Vi的模式介绍:基本上vi可以分为三种状态,分别是命令模式(command

12、 mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。 2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按ESC键可回到命令模式。3) 底行模式(last line mode)以输入“:”开始,将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last l

13、ine mode)也算入命令行模式command mode)。l Vi的基本设置与操作:语法高亮:底行模式:syntax on显示行号::set nu设置缩进::set ts=4详细的vi操作请查阅相关资料。3.2.7 gcc与Makefilegcc是一个编译器的集合,我们主要用它来编译C语言程序。gcc最为简单的用法是:gcc o exefile exefile.c,将exefile.c编译,输出可执行文件为exefile再来看一个简单的Makefile,工程中有main.cmd5.cmd5.h这个工程的Makefile:obj=main.o md5.oall: $(obj) gcc -o

14、md5 $(obj)main.o: md5.hmd5.o: md5.h.PHONY: distclean cleanclean: rm -rf $(obj)distclean: rm -rf $(obj) md5gcc和makefile的具体使用,请参考相关的详细文档。3.2.8 rpmRH下,包是用rpm来管理的,我们主要是用来安装软件/删除软件。查看所有的软件包:rpm aq,提示:加上管道,就可以查看匹配我们需要的包:rpm aq | grep xxx安装软件包:rpm Uvh xxx.rpm,提示:使用-U参数比-i参数要好,如果当前软件包版本号更高,那么软件会被升级,如果未安装,那么将会被安装(此时等同于rpm -i)。查看系统中装了多少二进制RPM包:rpm aq | wc,第一个数字,即行数,就是软件包个数了。提示:Linux系统中各个工具/命令其实都有详细的文档,当然,文档多数都是英文的,遇到新的命令或者是旧的命令有不明白的参数和用法的时候,多尝试cmd h / cmd help / cmd help / man cmd。遇

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论