linux基础复习(1)
扫描二维码
随时随地手机看文章
关于linux,本来已经学得差不多暂时够用了,不过回头看看可能因为之前扫得太快,一些细节的地方没有注意到,加上我也想把这部分加进自己的博客,所以算了,从来再扫一次,记下重点跟存在的疑虑,后面真正弄懂了,就回头解答,当然,有高手指点的是最好的哈哈。
补充最后一句废话,开始学linux 是从同事鸿飞那里借了一本《嵌入式linux应用程序开发详解》的书在此说声谢谢。所以linux 基础复习,将按此书展开。后面的文章很多会转载我在网上搜集的资料,因为比较杂,东拿一块西拿一块,实在无法在每个地方写明转载,如有侵犯了您的权力请告知,我会马上删除。
[list]
[*]linux 的优势及发展史:略
[*]基础概念:1.文件系统、分区和挂载
文件系统是指操作系统中与管理文件有关的软件和数据。Linux 的文件系统和Windows中的文件系统有很大的区别,Windows文件系统是以驱动器的盘符为基础的,而且每一个目录是与相应的分区对应,例如“E:\workplace”是指此文件在E 盘这个分区下。而Linux 恰好相反,文件系统是一个文件树,且它的所有文件和外部设备(如硬盘、光驱等)都是以文件的形式挂结在这个文件树上,例如“\usr\local”。对于Windows 而言,就是指所有分区都是在一些目录下。在Linux 中把每一个分区和某一个目录对应,以后在对这个目录的操作就是对这
个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一。这个把分区和目录对应的过程叫做挂载(Mount),而这个挂载在文件树中的位置就是挂载点。
2.主分区、扩展分区和逻辑分区
硬盘分区是针对一个硬盘进行操作的,它可以分为:主分区、扩展分区、逻辑分区。其中主分区就是包含操作系统启动所必需的文件和数据的硬盘分区,要在硬盘上安装操作系统,则该硬盘必须要有一个主分区,而且其主分区的数量可以是1~3个;扩展分区也就是除主分区外的分区,但它不能直接使用,必须再将它划分为若干个逻辑分区才可使用,其数量可以有0 或1 个;而逻辑分区则在数量上没有什么限制。它们的关系如图1.3所示。
一般而言,对于先装了Windows 的用户,则Windows 的C 盘是装在主分区上的,可以把Linux 安装在另一个主分区或者扩展分区上。通常为了安装方便安全起见,一般采用把Linux 装在多余的逻辑分区上。
3.SWAP交换分区
在硬件条件有限的情况下,为了运行大型的程序,Linux 在硬盘上划出一个区域来当作临时的内存,而Windows 操作系统把这个区域叫做虚拟内存,Linux 把它叫做交换分区swap。在安装Linux 建立交换分区时,一般将其设为内存大小的2 倍,当然也可以设为更大。
4.分区格式
不同的操作系统选择了不同的格式,同一种操作系统也可能支持多种格式。微软公司的Windows 就选择了FAT32、NTFS两种格式,但是Windows不支持Linux 上常见的分区格式。
Linux 是一个开放的操作系统,它最初使用EXT2 格式,后来使用EXT3 格式,但是它同时支持非常多的分区格式,包括很多大型机上UNIX 使用的XFS格式,也包括微软公司的FAT以及NTFS格式。
5.GRUB
GRUB 是一种引导装入器(类似在嵌入式中非常重要的bootloader)——它负责装入内核并引导Linux 系统,位于硬盘的起始部分。由于GRUB多方面的优越性,如今的Linux 一般都默认采用GRUB来引导Linux 操作系统。但事实上它还可以引导Windows 等多种操作系统。
[*]linux 安装:略(建议使用Redhat9作为学习环境,FC 的版本有些问题,例如在编译QTE 的时候,老是通不过,这个问题最少浪费了我一个星期,在网上参考了N多文章,还是没解决,最终在Redhat9 上面很快就把环境搭建起来了!)
[*]文件系统介绍:1.ext2和ext3
ext3是现在Linux(包括Red Hat,Mandrake下)常见的默认的文件系统,它是ext2 的升级版本。正如Red Hat公司的首席核心的开发人员Michael K.Johnson所说,从ext2 转换到ext3 主要有以下4 个理由:可用性、数据完整性、速度以及易于转化。ext3 中采用了日志式的管理机制,它使文件系统具有很强的快速恢复能力,并且由于从ext2 转换到ext3 无须进行格式化,因此,更加推进了ext3 文件系统的大大推广。
2.swap 文件系统
该文件系统是Linux 中作为交换分区使用的。在安装Linux 的时候,交换分区是必须建立的,并且它所采用的文件系统类型必须是swap而没有其他选择。
3.vfat文件系统
Linux 中把DOS 中采用的FAT 文件系统(包括FAT12,FAT16 和FAT32)都称为vfat文件系统。
4.NFS文件系统
NFS文件系统是指网络文件系统,这种文件系统也是Linux 的独到之处。它可以很方便地在局域网内实现文件共享,并且使多台主机共享同一主机上的文件系统。而且NFS文件系统访问速度快、稳定性高,已经得到了广泛的应用,尤其在嵌入式领域,使用NFS文件系统可以很方便地实现文件本地修改,而免去了一次次读写flash的忧虑。
5.ISO9660文件系统
这是光盘所使用的文件系统,在Linux 中对光盘已有了很好的支持,它不仅可以提供对光盘的读写,还可以实现对光盘的刻录。
[*]Linux目录结构[/list]
/bin
bin 就是二进制(binary)英文缩写。在这里存放前面Linux 常用操作命令的执行文件,如mv、ls、mkdir 等。有时,这个目录的内容和/usr/bin 里面的内容一样,它们都是放置一般用户使用的执行文件/boot 这个目录下存放操作系统启动时所要用到的程序。如启动grub就会用到其下的/boot/grub子目录/dev 该目录中包含了所有Linux系统中使用的外部设备。要注意的是,这里并不是存放的外部
设备的驱动程序,它实际上是一个访问这些外部设备的端口。由于在Linux中,所有的设备都当作文件一样进行操作,比如:/dev/cdrom代表光驱,用户可以非常方便地像访问文件、目录一样对其进行访问/etc该目录下存放了系统管理时要用到的各种配置文件和子目录。如网络配置文件、文件系统、x系统配置文件、设备配置信息设置用户信息等都在这个目录下。系统在启动过程中需要读取其参数进行相应的配置/etc/rc.d 该目录主要存放Linux启动和关闭时要用到的脚本文件,在后面的启动详解中还会进一步地讲解[!--empirenews.page--]
续表
目 录 目 录 内 容
/etc/rc.d/init 该目录存放所有Linux服务默认的启动脚本(在新版本的Linux中还用到的是/etc/xinetd.d
目录下的内容)
/home 该目录是Linux 系统中默认的用户工作根目录。如前面在1.3.1 节中所述,执行adduser
命令后系统会在/home目录下为对应账号建立一个名为同名的主目录
/lib 该目录是用来存放系统动态链接共享库的。几乎所有的应用程序都会用到这个目录下的
共享库。因此,千万不要轻易对这个目录进行什么操作
/lost+found 该目录在大多数情况下都是空的。只有当系统产生异常时,会将一些遗失的片段放在此
目录下
/media 该目录下是光驱和软驱的挂载点,Fedora Core 4已经可以自动挂载光驱和软驱
/misc 该目录下存放从DOS下进行安装的实用工具,一般为空
/mnt 该目录是软驱、光驱、硬盘的挂载点,也可以临时将别的文件系统挂载到此目录下
/proc 该目录是用于放置系统核心与执行程序所需的一些信息。而这些信息是在内存中由系统
产生的,故不占用硬盘空间
/root 该目录是超级用户登录时的主目录
/sbin 该目录是用来存放系统管理员的常用的系统管理程序
/tmp 该目录用来存放不同程序执行时产生的临时文件。一般Linux安装软件的默认安装路径就
是这里
/usr 这是一个非常重要的目录,用户的很多应用程序和文件都存放在这个目录下,类似与
Windows下的Program Files的目录
/usr/bin 系统用户使用的应用程序
/usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序
/usr/src 内核源代码默认的放置目录
/srv 该目录存放一些服务启动之后需要提取的数据
/sys
这是Linux 2.6 内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs
sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建
/var 这也是一个非常重要的目录,很多服务的日志信息都存放在这里