Linux操作系统文件系统基础知识详解
- 格式:doc
- 大小:25.50 KB
- 文档页数:5
linux系统基础知识Linux系统基础知识Linux是一种自由和开放源代码的类Unix操作系统,它是由Linus Torvalds在1991年首次发布的。
Linux系统具有高度的可定制性和灵活性,因此在服务器、超级计算机、移动设备等领域得到了广泛的应用。
本文将介绍Linux系统的基础知识,包括Linux的发行版、文件系统、用户和权限、命令行和图形界面等方面。
一、Linux的发行版Linux系统有许多不同的发行版,每个发行版都有自己的特点和用途。
常见的Linux发行版有Ubuntu、Debian、Fedora、CentOS、Red Hat等。
这些发行版都是基于Linux内核开发的,但它们的软件包管理、安装方式、默认桌面环境等方面有所不同。
选择适合自己的Linux发行版可以提高工作效率和使用体验。
二、文件系统Linux系统的文件系统采用树形结构,根目录为/。
在根目录下有许多子目录,如bin、etc、home、usr等。
其中,/bin目录存放系统命令,/etc目录存放系统配置文件,/home目录存放用户的主目录,/usr目录存放系统软件和库文件等。
Linux系统支持多种文件系统,如ext4、NTFS、FAT32等。
文件系统的选择取决于使用场景和需求。
三、用户和权限Linux系统是一个多用户系统,每个用户都有自己的用户名和密码。
用户可以通过命令行或图形界面登录系统,并执行各种操作。
Linux 系统采用权限控制机制,每个文件和目录都有自己的权限。
权限分为读、写、执行三种,分别对应数字4、2、1。
文件和目录的权限可以通过chmod命令进行修改。
Linux系统还有超级用户root,拥有系统的最高权限,可以执行任何操作。
四、命令行Linux系统的命令行界面是其最基本的界面,也是最强大的界面。
通过命令行可以执行各种操作,如创建文件、修改权限、安装软件等。
Linux系统的命令行界面有许多命令,如ls、cd、mkdir、rm、chmod等。
Linux操作系统基础教程Linux操作系统基础教程1.简介:1.1 什么是Linux操作系统1.2 Linux的历史1.3 Linux操作系统的优势2.安装Linux操作系统:2.1 准备安装环境2.2 Linux发行版2.3 制作启动盘2.4 安装Linux操作系统2.5 安装后的配置3.Linux基本命令:3.1 文件和目录操作:3.1.1 ls - 列出文件和目录3.1.2 cd - 切换目录3.1.3 mkdir - 创建目录3.1.4 cp - 复制文件和目录3.1.5 rm - 删除文件和目录3.1.6 mv - 移动文件和目录3.1.7 pwd - 显示当前目录3.2 文件内容查看和编辑:3.2.1 cat - 查看文件内容3.2.2 less - 分页查看文件内容3.2.3 vim - 文本编辑器的使用3.3 系统操作和管理:3.3.1 shutdown - 关机3.3.2 reboot - 重启3.3.3 ps - 查看进程信息3.3.4 top - 动态监控运行中的进程 3.3.5 su - 切换用户3.4 网络相关命令:3.4.1 ping - 测试网络连接3.4.2 ifconfig - 配置和显示网络接口信息3.4.3 netstat - 显示网络连接、路由表和接口统计4.Linux文件系统:4.1 文件系统简介4.2 Linux文件系统结构4.3 常见的文件系统类型4.4 文件权限和所有权4.5 文件系统相关命令5.Linux用户和权限管理:5.1 用户和组5.2 创建和管理用户5.3 用户组管理5.4 文件权限管理5.5 特殊权限和文件属性6.Shell脚本编程:6.1 Shell脚本语言简介6.2 运行Shell脚本6.3 Shell脚本的基本语法6.4 Shell脚本编程示例7.系统安全和日志管理:7.1 用户账户安全7.2 防火墙配置7.3 SELinux安全策略7.4 安全更新和漏洞修复7.5 日志管理8.常用服务器搭建:8.1 HTTP服务器搭建8.2 FTP服务器搭建8.3 SSH服务器搭建8.4 DNS服务器搭建8.5 邮件服务器搭建9.常见的故障处理:9.1 硬件故障处理9.2 网络故障处理9.3 系统崩溃和故障排查9.4 应用程序故障排查10.附件:附件1:Linux常用命令表附件2:Linux文件系统类型列表附件3:Shell脚本编程示例法律名词及注释:- GPL(General Public License):通用公共许可协议,是自由软件基金会(FSF)发布的一种自由软件协议。
linux考试知识点总结Linux操作系统是一种开源的操作系统,广泛应用于服务器、嵌入式设备和智能手机等领域。
由于其稳定性、安全性和灵活性,越来越多的企业和个人选择使用Linux系统。
而对于一名Linux系统管理员或者开发人员来说,掌握Linux系统的相关知识是非常重要的。
为了帮助大家更好地备战Linux考试,本文将对Linux考试的知识点进行总结和整理。
一、Linux基础知识1. Linux概述Linux是一种开源的类Unix操作系统,最初由芬兰计算机科学家Linus Torvalds在1991年创建。
Linux操作系统基于Unix操作系统,其内核是由C语言编写的,并被授权为GNU通用公共许可证下的自由软件。
Linux系统具有很高的稳定性、安全性和灵活性,广泛应用于服务器、嵌入式设备和智能手机等领域。
Linux系统的发展离不开全球开源社区的贡献,目前已经发展成为一个庞大、强大的操作系统。
2. Linux文件系统Linux文件系统是Linux系统中用于管理文件和目录的一种系统。
Linux文件系统有多种不同的类型,其中包括ext3、ext4、XFS、btrfs等。
每种文件系统都有各自的特性和适用场景,可以根据实际情况在不同的文件系统之间进行选择。
3. Linux命令行操作在Linux系统中,命令行操作是非常重要的一部分。
通过命令行操作,可以方便地对系统进行管理和操作。
常用的Linux命令包括ls、cd、pwd、cp、mv、rm、mkdir、rmdir、touch、cat、more、less、head、tail、chown、chmod、grep等等。
4. 用户和用户组管理在Linux系统中,用户和用户组是非常重要的概念。
每个用户都有自己的用户名和密码,同时还可以属于一个或多个用户组。
通过用户和用户组管理,可以对系统资源进行灵活的分配和管理。
5. 文件和目录权限管理在Linux系统中,每个文件和目录都有自己的权限。
linux系统基础与应用实践-回复Linux系统基础与应用实践是计算机科学领域中非常重要的一门课程。
本文将从多个方面介绍Linux系统的基础知识以及如何应用这些知识来解决实际问题。
第一部分:Linux系统基础知识Linux系统是一个开源的操作系统,其核心是Linux内核。
Linux系统具有稳定、安全、可靠的特点,并且适用于各种计算机硬件平台。
了解Linux 系统的基础知识对于理解和使用该系统非常重要。
1. Linux系统的历史Linux系统最早是由芬兰的Linus Torvalds在1991年开始开发的。
他将自己的操作系统内核命名为Linux,并以开源的方式发布。
Linux系统的发展和壮大得益于全球范围内的开发者共同贡献代码和改进。
2. Linux系统的特点Linux系统具有许多独特的特点,包括:- 开源:任何人都可以查看和修改Linux系统的源代码。
- 多用户和多任务支持:Linux系统可以同时运行多个用户和程序。
- 稳定性:Linux系统在稳定性方面表现出色,可以长时间运行而不会出现崩溃。
- 安全性:Linux系统对用户和程序的权限管理非常严格,可以有效保护系统的安全。
3. Linux系统的文件系统Linux系统中有一个根目录(root),它是整个文件系统的起点。
Linux系统的文件系统采用层次结构,类似于一个倒置的树状结构。
根目录下包含了许多不同的目录,用于存放不同类型的文件。
4. Linux系统命令行界面Linux系统使用命令行界面(CLI)进行操作和管理。
CLI提供了许多命令和选项,可以执行各种系统管理任务。
了解常用的Linux命令对于在Linux 系统上进行操作至关重要。
第二部分:Linux系统应用实践在掌握了Linux系统的基础知识之后,我们可以开始将这些知识应用于实际问题的解决。
1. 系统配置和管理通过使用不同的命令和选项,可以对Linux系统进行配置和管理。
我们可以通过编辑配置文件、添加和删除用户、设置文件权限等来实现系统的定制化配置。
linux文件系统的分类一、引言Linux作为一个开源的操作系统,其文件系统是其核心部分之一。
文件系统是用于组织、存储和访问文件和目录的方法和数据结构。
Linux文件系统的分类是指不同的文件系统类型,可以根据其特点和用途进行分类。
本文将介绍Linux文件系统的几种常见分类。
二、本地文件系统本地文件系统是指在计算机硬盘上存储数据的文件系统。
在Linux 中,常见的本地文件系统有以下几种:1. ext文件系统:ext文件系统是最常用的Linux文件系统,包括ext2、ext3和ext4。
它们具有较高的性能和稳定性,支持大容量存储和快速访问。
2. XFS文件系统:XFS文件系统是一种高性能的日志文件系统,特别适用于大型文件和大容量存储。
它支持快速的数据恢复和高效的文件管理。
3. Btrfs文件系统:Btrfs文件系统是一个新的高级文件系统,具有快速的数据恢复和高效的快照功能。
它支持数据压缩、数据校验和RAID等先进功能。
4. JFS文件系统:JFS文件系统是一个高性能的日志文件系统,具有快速的文件访问和高效的空间管理。
它适用于大容量存储和大型文件。
三、网络文件系统网络文件系统是指通过网络访问远程文件系统的方法。
在Linux中,常见的网络文件系统有以下几种:1. NFS文件系统:NFS是一种标准的网络文件系统协议,用于在不同的计算机之间共享文件和目录。
它允许用户在本地计算机上访问远程服务器上的文件。
2. CIFS文件系统:CIFS是一种用于在Windows和Linux之间共享文件的协议。
它允许Linux系统挂载Windows共享目录,使用户可以在Linux上访问Windows文件。
3. AFS文件系统:AFS是一种分布式文件系统,用于在广域网上共享文件和目录。
它提供高性能和可扩展性,适用于大规模的网络环境。
四、虚拟文件系统虚拟文件系统是指用于访问不同文件系统的统一接口。
在Linux中,常见的虚拟文件系统有以下几种:1. proc文件系统:proc文件系统是一个特殊的文件系统,用于访问内核和进程信息。
Linux操作系统的基础知识大全对于初学Linux的新手来说,掌握基础知识尤为重要。
下面由店铺整理了Linux操作系统的基础知识大全的相关知识,希望对你有帮助。
Linux操作系统基础知识大全:计算机概述1.计算机接收用户输入指令数据,经过cpu数据与逻辑单元运算处理后,产生或储存成有用的信息--->I/O设备+cpu+处理信息=计算机.2.计算机五大单元:I/O单元内存单元 cpu内部控制单元 cpu内部算术逻辑单元3.cpu中含有指令集->RISC,精简指令集,指令执行时间短性能好->arm系列等.->CISC,复杂指令集,指令处理任务内容丰富->x86系列等.4.主板将所有的设备连接在一起,重要的组件是芯片组->Intel系列cpu主板芯片组->俩个桥接器控制各组件的通信->北桥负责连接速度较快的cpu,内存与显卡等组件. –>南桥负责连接速度较慢的外设。
5.AMD系列cpu为了加速cpu与内存的通信,将内存的控制组件集成在cpu中.这与Intel不同。
6.主板的各组件cpu 内存磁盘设备(IDE/SATA) 总线芯片组显卡接口(PCI-Express) 适配卡7.cpu的外频指的是cpu与外部组件进行数据传输或运算时的速度,倍频则是cpu内部用来加速工作性能的一个倍数,俩者相乘才是cpu的频率8.cpu超频指的是将cpu的外频或倍频通过主板的设定功能更改成更高的频率,倍频出厂时就设置好了,所以通常改的是cpu的外频.9.北桥的总线称为系统总线,是内存的传输主要信道所以速度快.南桥的总线则是I/O总线,用于联系外设.10.北桥所支持的频率我们称为前端总线速度(FSB),每次传送的位数则是总线宽度,每秒可传送的最大数据量->FSB*总线宽度。
11.cpu每次能够处理的数据量称为字组大小,计算机的32/64位设置便是由cpu解析的字组大小而来.12.pc内存的主要组件为动态随机访问内存(Dynamic Random Access Memory),断电数据消失->SDRAM同步动态随机访问内存->DDR SDRAM(double data rate)13.SRAM(Static random accdss memory)静态随机访问内存可集成在cpu内部的作为高速缓存(L2 cache).14.BIOS(basic input output system)是一套开机读取的程序写在主板的ROM中,现在随着计算机的发展,BIOS需要更新所以现在BIOS写在flash memory或eeprom中.15.主板上的各组件参数写在一个cmos芯片中,通过BIOS读取和更新数据.16.显卡(vga graphics array),北桥连接,随着组件的升级,数据传送的频宽原来越大目前的规格是PCI-Express.17.硬盘由许多的盘片,机械手臂,磁头,主轴马达所组成,数据写在磁性盘片上,读写通过机械手臂上的磁头(head)来完成,主轴马达让盘片转动,机械手臂伸展让磁头在盘面上进行读写操作.18.盘面上有多个同心圆绘制的图形,而从圆心以放射状的方式分割出的最小的存储单位就是扇区,每个扇区大小为512bytes,扇区组成的圆就是一个磁道,多盘片上,所有盘面上的磁道可以组成一个柱面,柱面是分割磁盘的最小单位.head*cylinder*sector*512bytes19.硬盘与主机的传输接口(ide sata scsi)ide接口可以接俩个IDE 设备,需要调整跳针设定主从磁盘.sata接口传输速度快易于安装散热装置,scsi接口的硬盘在控制上含有一块处理器运算速度快而且不会耗费cpu资源.20.主板上的芯片组负责计算机所有设备的通信,cpu通过I/O地址识别设备,各设备通过IRQ中断信道告知cpu该设备工作的状态信息以便于cpu进行分配任务.21.CMOS记载主板上的各种重要参数,如system time,cpu频率和电压,各项设备的I/O地址与IRQ中断等,记录这些需要电所以主板上才有电池.BIOS为写入某一闪存活eeprom的程序,开机执行时加载cmos中参数,尝试调用储存设备中的开机程序,进一步进入操作系统中.22.操作系统是管理和控制计算机系统中的软硬件资源,有效利用计算机的软硬件资源为用户提供一个功能强大,稳定的工作环境,从而为计算机和用户之间起到接口作用的一组程序.23.os提供了程序接口和用户接口,程序接口是程序员通过系统调用操作kernel控制硬件运行,编写的应用程序是操作系统提供的开发接口,所有只能运行在该操作系统之上.用户接口则用于用户与计算机交互,可通过GUI和CLI,其中CLI是命令行接口,需配置shell命令解释器,shell也是运行os之上的应用Linux操作系统基础知识大全:linux的规则与安装1.linux os是多用户多任务的操作系统,是类unix操作系统.linux 有内核版本与发行版本.2.linux之前unix的历史,贝尔实验室mulitics系统->ken thompson的unics(汇编)->ritchie写出unix内核(c语言).->bill joy 写出unix分支bsd--只适合自己计算机硬件,无法再其他架构运行(如不能再x86上运行)->minix系统x86架构的类unix系统->torvalds 写出linux内核.3.POSIX(portable operating system interface)可携式操作系统接口,用于规范内核与应用程序之间的接口.4.GNU与GPL,gnu项目和psf自由软件基金会,GPL通用公共许可证.linux是gnu项目所以开源,而当前的redhat等公司卖linux 发行版本卖的不是系统而是卖的服务.5.为了规范linux发行版本的差异,有fhs和lsb规范,所以各大linux发行版本不同的只是开发商的开发的管理工具和定制的软件不同.6.linux下一切皆文件,设备的访问入口也是以文件的形式存放,由目的单一的小程序组成,组合小程序完成复杂的任务,配置文件保存为TXT文本.7.硬件在linux中的文件名, IDE硬盘/dev/hd[a-d], sata或scsi硬盘/dev/sd[a-p].磁盘的第一个扇区保存俩个重要信息,主引导分区MBR[master boot record],446bytes,分区表记录硬盘分区状态有64bytes.系统开机会读取加载mbr,分区表只有64bytes,所以只能容纳4个分区,称为主分区或扩展分区.扩张分区的目的是利用额外的扇区来记录分区信息,扩展分区之下的分区称为逻辑分区.扩展分区只能有一个.8.MBR安装引导加载程序的地方,boot loader安装在这,boot loader是读取内核文件来执行的软件.具有的功能提供选择菜单载入内核文件转交其他loader.9.开机流程,BIOS读取cmos上的参数,读取加载mbr中的boot loader,进入操作系统.引导加载程序可以安装在mbr和引导扇区.10.每个分区都有自己的引导扇区,可开机的内核文件放置在各分区,loader只能识别自己分区的内核文件和其他的loader.loader可以将管理权交给另一个管理程序.11.window和linux的磁盘分区.windows下我们可以通过盘符划分磁盘.假设Windows下只有c可以当做盘符.那我们怎么划分区呢?我们可以在c盘建一个文件夹,然后把其他的分区装入到这个文件夹中,当我们访问我们在c盘建的文件夹是实际上访问的是这个分区。
Linux基础知识点(补充课上重点,ppt)第一章 Linux简介登录• 根用户名使用root,密码123456• 登陆后命令提示符【root @ host dev】• root用户的命令行提示符#• 普通用户的命令行提示符$文本虚拟控制台ttyLinux支持6个tty,tty1~tty6.系统启动后自动使用的是tty1. 使用Alt+F1~F6可以切换tty1~tty6。
Xwindow与字符控制台切换• xwindow图形界面---切换--->>文本控制台Ctrl+Alt+F2• 文本控制台---切换--->>xwindow图形界面Ctrl+Alt+F7关机• 立刻关机shutdown –h now• 关机后重启shutdown –r now或reboot切换用户命令——su在tty下,使用logout命令或exit命令退出系统.第二章文件系统Linux 文件系统类型ext2 ext3(常用) swapwindows:盘符组织文件linux:只有一个根目录/Linux树形目录结构:bin dev etc home lib root tmp usr var文件类型:文件名中不能含空格和某些特殊字符,如:! @ # $ %~ &* ( ) [ ] { } ' " \ / | ;< << >> >• 文件名和命令均要区分大小写• 文件名以. 开头,该文件为隐藏文件• Linux的文件类型大致可分为普通文件、可执行文件、链接文件和设备文件。
• 在Linux中,文件是否是可执行文件,不是由扩展名决定,而是由文件的属性决定。
Linux目录操作命令• 查看目录中的文件:ls• 改变当前目录命令:cd• 创建目录命令:mkdir• 显示当前工作目录命令:pwdls功能:显示目录内的文件和子目录列表• 命令格式:ls [参数选项] [目录或文件]• 参数选项:-a: 显示所有文件(包括隐藏文件)-l : 以长格式显示(文件大小、日期、权限等)ll如何用长格式列出/home目录下所有的文件包括隐藏文件?cd/home ll –a在/home目录下创建user目录。
Linux 操作系统基础知识概览以下是一些关于Linux 操作系统的常见知识点:1.Linux 基础:●Linux 的起源和发展历史●Linux 的主要组成部分:内核、Shell、文件系统等●常见的Linux 发行版(如Ubuntu、Debian、CentOS 等)●常用的命令行工具和基本命令(如ls、cd、mkdir、rm 等)2.用户和权限管理:●用户账户的创建和管理●用户组的概念和使用●文件和目录的权限设置和管理●sudo 权限和root 用户的重要性3.文件系统:●Linux 文件系统的层级结构●常见的文件系统类型(如ext4、XFS、Btrfs 等)●挂载和卸载文件系统●磁盘和分区管理工具(如fdisk、parted 等)4.进程管理:●进程的概念和属性●进程的创建、终止和管理●进程状态的了解和监控●进程间通信的方式(如管道、信号、共享内存等)5.网络和安全性:●网络配置和网络接口管理●网络命令和工具(如ifconfig、ping、ssh 等)●防火墙和安全性措施(如iptables、SELinux 等)●远程访问和远程管理(如SSH、SCP、rsync 等)6.软件包管理:●软件包管理系统(如apt、yum、dnf 等)●软件包的安装、升级和卸载●软件包的依赖关系和解决依赖问题●软件源和仓库的管理7.Shell 脚本编程:●Shell 脚本的基础语法和结构●变量、条件语句、循环和函数的使用●Shell 命令和管道的组合●脚本的调试和错误处理以上只是Linux 操作系统知识的一些常见方面,涵盖了基础知识、用户和权限管理、文件系统、进程管理、网络和安全性、软件包管理以及Shell 脚本编程等。
要深入学习Linux,建议进一步学习和实践这些知识点,并探索更多高级主题,如网络服务配置、系统性能优化等。
简述linux操作系统中的文件系统类型及其区分方法Linux 操作系统支持多种文件系统类型,这些文件系统类型可以通过文件系统驱动程序来挂载。
常见的文件系统类型包括 ext2、ext3、ext4、xfs、swap 等。
下面对这些文件系统类型进行简要介绍:1. ext2/ext3/ext4:这是Linux中最常用的文件系统类型之一,支持文件压缩、日志记录等功能。
其中,ext2/ext3是早期版本的文件系统,而ext4则是ext3的升级版,支持更大的文件和更好的性能。
2. xfs:这是一种支持无损数据压缩和扩展文件系统大小的文件系统。
xfs 文件系统在 Linux 中常用于高端服务器和工作站上。
3. swap:这是一种虚拟内存文件系统,用于在系统内存不足时充当磁盘缓存。
swap 文件系统可以将磁盘空间用作内存缓存,提高系统性能。
4. 其他文件系统类型:除了以上常见的文件系统类型,Linux 还支持其他文件系统类型,如 reiserfs、jffs2 等。
reiserfs 是一种优秀的文件系统类型,支持文件压缩和索引功能,而 jffs2 则是一种基于 JFFS 文件系统类型的深度压缩文件系统。
要区分这些文件系统类型,可以通过命令行或者文件系统检测工具来实现。
例如,在 Linux 中,可以使用 fsck 命令来检查文件系统类型,也可以使用mount 命令来挂载文件系统。
此外,一些文件系统检测工具,如 parted、gdisk 等,也可以用于检测和转换文件系统类型。
Linux 系统自身可以通过文件名、文件属性等信息来识别文件系统类型。
例如,在 Linux 中,文件系统类型可以通过文件名中的“-”或者“.”等符号来表示。
例如,一个文件名为“/dev/sda1”的文件系统类型为 block 设备文件,而一个文件名为“/home/user/ Documents”的文件系统类型为符号链接文件。
此外,Linux 系统还可以通过文件系统驱动程序来挂载文件系统,从而识别文件系统类型。
Linux基本知识总结1、计算机的组成及其功能。
从基本结构上来讲,计算机可以分为五⼤部分:运算器、存储器、控制器、输⼊设备、输出设备。
运算器:实现算术运算和逻辑运算(与控制器组成CPU) 存储器:将输⼊设备接收到的信息以⼆进制的数据形式存到存储器中 控制器:将指令逐条从存储器中取出,经译码分析后向全机发出相应的操作控制信号作⽤于其他部件,使各部件有条不紊地协调⼯作(与运算器组成CPU)。
输⼊设备:将数据、程序、⽂字符号、图象、声⾳等信息输送到计算机中。
输出设备:将计算机的运算结果或者中间结果打印或显⽰出来2、内核功能以及作⽤ (kernel)是整个的最底层,它负责整个硬件的驱动,以及提供各种系统所需的核⼼功能,如果内核不认识某个最新的硬件,那么硬件也就⽆法被驱动,你也就⽆法使⽤该硬件。
完成这个控制⼯作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核⼼”。
进程管理:内核负责创建和销毁进程,并处理进程与输⼊和输出设备的不同进程间的数据处理,调度器,控制进程如何共享 CPU,是进程管理的⼀部分。
更通常地,内核的进程管理活动实现了多个进程在⼀个单个或者⼏个 CPU 之上的抽象。
内存管理:计算机的内存是主要的资源,处理它所⽤的策略对系统性能是⾄关重要的。
内核为所有进程的每⼀个都在有限的可⽤资源上建⽴了⼀个虚拟地址空间。
内核的不同部分与内存管理⼦系统通过⼀套函数调⽤交互,从简单的malloc/free 对到更多更复杂的功能。
⽂件系统:Unix 在很⼤程度上基于⽂件系统的概念;⼏乎 Unix 中的任何东西都可看作⼀个⽂件。
内核在⾮结构化的硬件之上建⽴了⼀个结构化的⽂件系统,结果是⽂件的抽象⾮常多地在整个系统中应⽤。
另外, Linux ⽀持多个⽂件系统类型,就是说, 物理介质上不同的数据组织⽅式。
例如, 磁盘可被格式化成标准 Linux 的 ext3 ⽂件系统,普遍使⽤的FAT ⽂件系统,或者其他⼏个⽂件系统。
Linux操作系统文件系统基础知识详解一、Linux文件结构文件结构是文件存放在磁盘等存贮设备上的组织方法。
主要体现在对文件和目录的组织上。
目录提供了管理文件的一个方便而有效的途径。
Linux使用标准的目录结构,在安装的时候,安装程序就已经为用户创建了文件系统和完整而固定的目录组成形式,并指定了每个目录的作用和其中的文件类型。
/根目录┃┏━━┳━━━┳━━━┳━━━╋━━━┳━━━┳━━━┳━━━┓┃┃┃┃┃┃┃┃┃bin home dev etc lib sbin tmp usr var┃┃┏━┻━┓┏━━┳━━┳━━┳━┻━┳━━┓┃┃┃┃┃┃┃┃rc。
d cron。
d X11R6 src lib local man bin┃┏━━━┳━━┳━┻━┳━━━┓┃┃┃┃┃init。
d rc0。
d rc1.d rc2。
d …… linux bin lib srcLinux采用的是树型结构。
最上层是根目录,其他的所有目录都是从根目录出发而生成的。
微软的DOS 和windows也是采用树型结构,但是在DOS和windows中这样的树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,他们之间的关系是并列的.但是在linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个。
从结构上讲,各个磁盘分区上的树型目录不一定是并列的。
如果这样讲不好理解的话,我来举个例子:有一块硬盘,分成了4个分区,分别是/;/boot;/usr和windows下的fat对于/和/boot或者/和/usr,它们是从属关系;对于/boot和/usr,它们是并列关系。
如果我把windows下的fat分区挂载到/mnt/winc下,(挂载??哦,别急,呵呵,一会就讲,一会就讲。
)那么对于/mnt/winc和/usr或/mnt/winc和/boot来说,它们是从属于目录树上没有任何关系的两个分支。
因为linux是一个多用户系统,制定一个固定的目录规划有助于对系统文件和不同的用户文件进行统一管理。
但就是这一点让很多从windows转到linux的初学者感到头疼。
下面列出了linux下一些主要目录的功用。
/bin 二进制可执行命令/dev 设备特殊文件/etc 系统管理和配置文件/etc/rc。
d 启动的配置文件和脚本/home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示/lib 标准程序设计库,又叫动态链接共享库,作用类似windows里的.dll文件/sbin 系统管理命令,这里存放的是系统管理员使用的管理程序/tmp 公用的临时文件存储点/root 系统管理员的主目录(呵呵,特权阶级)/mnt 系统提供这个目录是让用户临时挂载其他的文件系统。
/lost+found 这个目录平时是空的,系统非正常关机而留下“无家可归"的文件(windows下叫什么.chk)就在这里/proc 虚拟的目录,是系统内存的映射.可直接访问这个目录来获取系统信息./var 某些大文件的溢出区,比方说各种服务的日志文件/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
其中包含:/usr/X11R6 存放X window的目录/usr/bin 众多的应用程序/usr/sbin 超级用户的一些管理程序/usr/doc linux文档/usr/include linux下开发和编译应用程序所需要的头文件/usr/lib 常用的动态链接库和软件包的配置文件/usr/man 帮助文档/usr/src 源代码,linux内核的源代码就放在/usr/src/linux里/usr/local/bin 本地增加的命令/usr/local/lib 本地增加的库二、linux文件系统文件系统指文件存在的物理空间,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构.linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。
一个操作系统的运行离不开对文件的操作,因此必然要拥有并维护自己的文件系统。
Llinux文件系统使用索引节点来记录文件信息,作用像windows的文件分配表.索引节点是一个结构,它包含了一个文件的长度、创建及修改时间、权限、所属关系、磁盘中的位置等信息.一个文件系统维护了一个索引节点的数组,每个文件或目录都与索引节点数组中的唯一一个元素对应。
系统给每个索引节点分配了一个号码,也就是该节点在数组中的索引号,称为索引节点号。
linux文件系统将文件索引节点号和文件名同时保存在目录中。
所以,目录只是将文件的名称和它的索引节点号结合在一起的一张表,目录中每一对文件名称和索引节点号称为一个连接。
对于一个文件来说有唯一的索引节点号与之对应,对于一个索引节点号,却可以有多个文件名与之对应。
因此,在磁盘上的同一个文件可以通过不同的路径去访问它.可以用ln命令对一个已经存在的文件再建立一个新的连接,而不复制文件的内容。
连接有软连接和硬连接之分,软连接又叫符号连接。
它们各自的特点是:硬连接:原文件名和连接文件名都指向相同的物理地址。
目录不能有硬连接;硬连接不能跨越文件系统(不能跨越不同的分区)文件在磁盘中只有一个拷贝,节省硬盘空间;由于删除文件要在同一个索引节点属于唯一的连接时才能成功,因此可以防止不必要的误删除。
符号连接:用ln —s命令建立文件的符号连接符号连接是linux特殊文件的一种,作为一个文件,它的数据是它所连接的文件的路径名。
类似windows下的快捷方式。
可以删除原有的文件而保存连接文件,没有防止误删除功能。
这一段的的内容过于抽象,又是节点又是数组的,我已经尽量通俗再通俗了,又不好加例子作演示。
大家如果还是云里雾里的话,我也没有什么办法了,只有先记住,日后在实际应用中慢慢体会、理解了。
这也是我学习的一个方法吧。
三、挂载文件系统由上一节知道,linux系统中每个分区都是一个文件系统,都有自己的目录层次结构.linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构.这里所说的“按一定方式”就是指的挂载.将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。
把该子目录称为挂载点。
举个例子吧:根分区:/根目录┃┏━━━━┳━━━━━┳━━━━━┳━━━━━╋━━━━━┳━━━━━┳━━━━━┳━━━━━┓┃┃┃┃┃┃┃┃┃bin home dev etc lib sbin tmp usr var┃┏━┻━┓┃┃rc.d cron.d┃┏━━━┳━━━┳━┻━┳━━━━┓┃┃┃┃┃init。
d rc0。
d rc1.d rc2.d ……/usr分区:usr┃┏━━━━┳━━━╋━━━┳━━━┳━━━┓┃┃┃┃┃┃X11R6 src lib local man bin┃┃┃┏━━━╋━━━┓┃┃┃┃linux bin lib src挂载之后就形成了文章开始时的那个图。
像不像挂上去的?注意:1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目录可以不为空,但挂载后这个目录下以前的内容将不可用。
对于其他操作系统建立的文件系统的挂载也是这样。
但是需要理解的是:光盘、软盘、其他操作系统使用的文件系统的格式与linux使用的文件系统格式是不一样的.光盘是ISO9660;软盘是fat16或ext2;windows NT 是fat16、NTFS;windows98是fat16、fat32;windows2000和windowsXP是fat16、fat32、NTFS。
挂载前要了解linux是否支持所要挂载的文件系统格式.挂载时使用mount命令:格式:mount [—参数][设备名称] [挂载点]其中常用的参数有—t 指定设备的文件系统类型,常见的有:minix linux最早使用的文件系统ext2 linux目前常用的文件系统msdos MS—DOS的fat,就是fat16vfat windows98常用的fat32nfs 网络文件系统iso9660 CD-ROM光盘标准文件系统ntfs windows NT 2000的文件系统hpfs OS/2文件系统auto 自动检测文件系统—o 指定挂载文件系统时的选项。
有些也可用在/etc/fstab中。
常用的有codepage=XXX 代码页iocharset=XXX 字符集ro 以只读方式挂载rw 以读写方式挂载nouser 使一般用户无法挂载user 可以让一般用户挂载设备提醒一下,mount命令没有建立挂载点的功能,因此你应该确保执行mount命令时,挂载点已经存在。
(不懂?说白了点就是你要把文件系统挂载到哪,首先要先建上个目录。
这样OK?)例子:windows98装在hda1分区,同时计算机上还有软盘和光盘需要挂载。
# mk /mnt/winc#mk /mnt/floppy# mk /mnt/cdrom#mount —t vfat /dev/hda1 /mnt/winc#mount —t msdos /dev/fd0 /mnt/floppy# mount —t iso9660 /dev/cdrom /mnt/cdrom现在就可以进入/mnt/winc等目录读写这些文件系统了。
要保证最后两行的命令不出错,要确保软驱和光驱里有盘。
(要是硬盘的磁盘片也可以经常随时更换的话,我想就不会犯这样的错误了:—〉)如果你的windows98目录里有中文文件名,使用上面的命令挂载后,显示的是一堆乱码。
这就要用到—o 参数里的codepage iocharset选项。
codepage指定文件系统的代码页,简体中文中文代码是936;iocharset 指定字符集,简体中文一般用cp936或gb2312.当挂载的文件系统linux不支持时,mount一定报错,如windows2000的ntfs文件系统。
可以重新编译linux 内核以获得对该文件系统的支持。
关于重新编译linux内核,就不在这里说了。
四、自动挂载每次开机访问windows分区都要运行mount命令显然太烦琐,为什么访问其他的linux分区不用使用mount命令呢?其实,每次开机时,linux自动将需要挂载的linux分区挂载上了.那么我们是不是可以设定让linux在启动的时候也挂载我们希望挂载的分区,如windows分区,以实现文件系统的自动挂载呢?这是完全可以的.在/etc目录下有个fstab文件,它里面列出了linux开机时自动挂载的文件系统的列表。
我的/etc/fstab文件如下:/dev/hda2 / ext3 defaults 1 1/dev/hda1 /boot ext3 defaults 1 2none /dev/pts devpts gid=5,mode=620 0 0none /proc proc defaults 0 0none /dev/shm tmpfs defaults 0 0/dev/hda3 swap swap defaults 0 0/dev/cdrom /mnt/cdrom iso9660 noauto,codepage=936,iocharset=gb2312 0 0/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0/dev/hdb1 /mnt/winc vfat defaults,codepage=936,iocharset=cp936 0 0/dev/hda5 /mnt/wind vfat defaults,codepage=936,iocharset=cp936 0 0在/etc/fstab文件里,第一列是挂载的文件系统的设备名,第二列是挂载点,第三列是挂载的文件系统类型,第四列是挂载的选项,选项间用逗号分隔。