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

下载本文档

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

文档简介

Linux 基础知识基础知识 目目 录录 1.前言前言 .1 2.安装与配置安装与配置.1 2.1LINUX的安装与配置 .1 2.2安装 .1 2.3配置 .1 3.知识纲要知识纲要.2 3.1概念 .2 3.2常用SHELL命令和工具.2 3.2.1tar.3 3.2.2grep.3 3.2.3find.3 3.2.4挂载.3 3.2.5Ifconfig.4 3.2.6vi.4 3.2.7gcc 与 Makefile .5 3.2.8rpm.5 4.习题习题 .6 1. 前言前言 使用 Linux 系统与使用 WIN 系统比较,有着较大的区别,并且在开发过程中,将会更多地使用 文本界面,甚至从来不用 GUI(当然,source insight 除外)。在 Linux 下开发、调试程序与 WIN32 的环境有一些区别,需要掌一些常用的命令和工具的用法,这些命令和工具只有 CLI。希望通过学习 下面的 Linux 基础知识,大家能够尽快熟悉 Linux 的开发环境,为以后的工作奠定扎实的基础。当大 家觉得 CLI 比 GUI 要来得方便时(事实也的确如此),也就应该有不错的 Linux 功底了。所以建议在 用 Linux 的时候,不要使用 GUI。 2. 安装与配置安装与配置 2.1 Linux 的安装与配置的安装与配置 这部分指导大家在虚拟机中安装 Linux 系统,建立基本的开发环境。用虚拟机而不用真实安装在 硬盘上的 Linux 系统的原因是,为了方便。前面提到过,我们需要用 source insight 编辑代码,而在 Linux 系统中编译代码,经常需要在两个系统下切换。 2.2 安装安装 通过我们三部的服务器上的 RHEL4 WS 的安装镜像来安装 Linux。 建议参数:在 Vmware 中,分配 10G 以上的虚拟硬盘,分配 384M 以上的内存空间,网络选择 桥接或者 NAT。 提示:可以不用将 4 个 ISO 都下到本地,在 XP 中可以映射网络驱动器,在 vmware 中可以直接 将 ISO 指定为光驱。安装的时候,建议选择“完整安装”,有兴趣的话可以在以后的时间里选择安装 自己所需要的包。 安装的细节,如分区等,希望大家自己研究。 完整安装的时间视机器速度,1 小时左右。 2.3 配置配置 安装好后,需要配置以下几项,方便使用。 开启一些服务:在终端中输入 ntsysv,选中 smb 和 sshd。 配置 samba 文件共享,让虚拟机作为文件服务器,使我们的主、客系统能够互相传送文件。 添加 smb 帐户:smbpasswd a root 修改 smb 配置文件:vi /etc/samba/smb.conf,在末尾添加如下内容: root path = / valid users = root create mask = 0600 directory mask = 0700 writeable = 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 -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 下的/文件系统作为一个网络磁盘。 3. 知识纲要知识纲要 3.1 概念概念 Linux 内核、文件系统、根文件系统、挂载 Linux 的文件/文件夹权限、一般文件与特殊文件 Linux 的 shellbash 环境变量、管道、重定向 提示:提示:以上的概念在UNIX.Shells.by.Example书中有非常详细的介绍,是学习 shell 的一本 极好的教材,也是一本极好的手册。 Linux 文件系统中的各目录存储的文件及作用 Linux 的软件安装,分为源码和二进制包 Linux 内核编译(选) Linux 下开发工程的组织makefile 提示:提示:Makefile 的编写指导是非常好的一个有关于 makefile 的文档 Linux 下的编译器 gcc gnu compiler collection,编译、链接的概念 3.2 常用常用 shell 命令和工具命令和工具 命令:lsmkdirrmcpmvchmod chown chgrpfindgrepkillps lncatcutechoaliasmore/lessexport wcwhereisroute mount umountfreedudatedfmknod sortman 工具:tar viifconfiggccmakezipunziprpmpatch 选学内容:sedawk正则表达式 提示:多用管道(|),可以方便地完成很多复杂的事情。 3.2.1 tar Linux 下的重要打包工具,制作/解开文件包。 Linux 下主要有两种包,xxx.tar.gz、xxx.tar.bz2,分别是用 gzip 和 bz2 制作的 tar 包。 解压: tar zxf xxx.tar.gz / tar jxf xxx.tar.gz2 压缩,将 XXX 目录打包: tar czf xxx.tar.gz xxx 目录 / tar cjf xxx.tar.bz2 xxx 目录 查看文件包内容: tar tzvf xxx.tar.gz / tar tjvf xxx.tar.bz2 3.2.2 grep grep(Global Regular Expression Print)是 Linux 下强大的正则表达式匹配工具,最常见的应用 场合是在一堆字符串中找出我们所指定的内容,打印出匹配的行。 找出源码目录中所有的 FORWARD 字符串出现:grep r FORWARD * 找出源码目录中所有以 FORWARD 字符串开始的行:grep r FORWARD * 找出文件 main.c 中所有以 int 字符串开始的行,允许缩进: grep -r t* main.c 提示:关于正则表达式,掌握到这个层次就应该可以应付我们的开发工作了。 3.2.3 find 按照需求查找文件,一般用在查找当前目录下的某些文件。 find .不给任何参数,将会递归显示当前目录下的所有文件和文件夹 find . name “main.c”,把所有的 main.c 都找出来 find . name “data” type d,把所有的名为 data 的文件夹都找出来 find 跟 grep 配合,利用 grep 去做匹配,也是常见的用法。 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、MAC ifconfig eth0 down ifconfig eth0 192.168.1.100 ifconfig eth0 hw ether 00:22:33:44:55:66 ifconfig eth0 up 3.2.6 vi Linux 下的文件编辑器分为两大阵营,vi 和 emacs,个人不会 emacs,如果有人熟悉 emacs,希 望能一起学习一下。 注意,vi 不像 Windows 下的 notepad 那么“弱智”,是一个功能极为强大的文件编辑器,涵盖 了如下功能(未总结完整):文本的编辑、查找、高级替换、支持正则表达式、支持语法高亮、自动 缩进等。它的亮点在于它的两个模式:底行模式和命令模式,加上正则表达式,可以实现强大到难以 想像的文本处理功能。 Vi的模式介绍: 基本上 vi 可以分为三种状态,分别是命令模式(command 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 line mode)也算入命令行 模式 command mode)。 Vi的基本设置与操作: 语法高亮:底行模式:syntax on 显示行号::set nu 设置缩进::set ts=4 详细的 vi 操作请查阅相关资料。 3.2.7 gcc 与与 Makefile gcc 是一个编译器的集合,我们主要用它来编译 C 语言程序。 gcc 最为简单的用法是:gcc o exefile exefile.c,将 exefile.c 编译,输出可执行文件为 exefile 再来看一个简单的 Makefile,工程中有 main.cmd5.c md5.h 这个工程的 Makefile: obj=main.o md5.o all: $(obj) gcc -o md5 $(obj) main.o: md5.h md5.o: md5.h .PHONY: distclean clean clean: rm -rf $(obj) distclean: rm -rf $(obj) md5 gcc 和 makefile 的具体使用,请参考相关的详细文档。 3.2.8 rpm RH 下,包是用 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

温馨提示

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

评论

0/150

提交评论