国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页操作系统linux → 详解Linux文件系统

详解Linux文件系统

我要评论 2011/09/19 14:08:15 来源:国语自产精品视频在线看 编辑:downcc.com [ ] 评论:0 点击:231次

1. Linux 磁盘分【cí pán fèn】🚶区【qū】和目🏃录
Linux 发行版本之间👂的差别【de chà bié】很少【hěn shǎo】,差别主要表🙏现在🐷系统🎸管理的特色工具以及软件包【ruǎn jiàn bāo】管理方❔式的不同【bú tóng】🔊。目录结【mù lù jié】构基本上都是🍙一样的。 Windows 的文件【de wén jiàn】🗻结构是【jié gòu shì】多个并列的树状结【shù zhuàng jié】构,最顶部的是不🏅同【tóng】🔊的磁盘🚭(分区【fèn qū】🔔),如【rú】❣: C , D , E , F 等【děng】🔝。
Linux 的文件【de wén jiàn】🗻结构是【jié gòu shì】单个的【dān gè de】树状结【shù zhuàng jié】构 . 可以用【kě yǐ yòng】 tree 进行展示。 在🐷 Ubuntu 下【xià】🥓安装 tree ( sudo apt-get install tree ) , 并可通过命令来查看。
每次安🙈装系统【zhuāng xì tǒng】🎸的时候【de shí hòu】我们都🦏会进行分区【fèn qū】🔔, Linux 下【xià】🥓磁盘分【cí pán fèn】🚶区【qū】和目🏃录的关系如【rú】🆑下【xià】🥓:
– 任何一个分区【fèn qū】都👫必须挂【bì xū guà】🧦载到某个目录【gè mù lù】🌾上。
– 目录是逻辑上的区【qū】📅分【fèn】。分区【fèn qū】🔔是物理【shì wù lǐ】上的区【qū】📅分【fèn】。
– 磁盘🚭 Linux 分区【fèn qū】都👫必须挂【bì xū guà】🧦载到目【zǎi dào mù】录树中【lù shù zhōng】的某个具体的目录上才能【shàng cái néng】进行读写操作🤜。
– 根目录是所有 Linux 的文件【de wén jiàn】🗻和目录【hé mù lù】💸所在的🌖地方,需要挂👯载上一【zǎi shàng yī】个磁盘【gè cí pán】分【fèn】🚶区【qū】📅。
以下【xià】是🛏我们可【wǒ men kě】能存在☕的一种【de yī zhǒng】目录和【mù lù hé】🛶分区【fèn qū】关📰系:

图🍼1:目录和【mù lù hé】🛶分区【fèn qū】关📰系
Q: 如【rú】❣何查看【hé chá kàn】分区【fèn qū】🔔和目录【hé mù lù】💸及使用情【shǐ yòng qíng】况【kuàng】📎?
– fdisk 查看硬💴盘分区【pán fèn qū】🔩表🙏
– df :查看分【chá kàn fèn】区【qū】🔔使用情【shǐ yòng qíng】况【kuàng】📎
– du: 查看文件占用空间情【kōng jiān qíng】况【kuàng】📎
Q: 为什么😰要分区【yào fèn qū】🔔,如【rú】❣何分区【fèn qū】🔔?
– 可以把💹不同【bú tóng】🔊资料,分别放【fèn bié fàng】入不同【rù bú tóng】🔊分区【fèn qū】中😪管理,降低风险【xiǎn】。
– 大硬盘🆎搜索范【sōu suǒ fàn】围大,效率低🐆
– 磁盘🚭配合只能对分区【fèn qū】🔔做设定
– /home /var /usr/local 经常是单独分【dān dú fèn】🍼区【qū】📅,因为经常会操【cháng huì cāo】作🤜,容易产👽生碎片

2. Mount 挂载和【guà zǎi hé】🎒 NFS 简介
挂载【guà zǎi】🕉的概念 :当要使【dāng yào shǐ】用某个设备时,例如【rú】要🚭读取硬盘中的🐗一个格式化好【shì huà hǎo】的分区【fèn qū】🎴、光盘或软件等【ruǎn jiàn děng】🔝设备时,必须先把这些【bǎ zhè xiē】设备对应到某【yīng dào mǒu】个目录【gè mù lù】🌾上,而这个目录【gè mù lù】🌾就称为 “ 挂载点【guà zǎi diǎn】❌( mount point ) ” ,这样才【zhè yàng cái】可以读取这些🙈设备,而这些对应的【duì yīng de】🍧动作🍘就是【jiù shì】 “ 挂载【guà zǎi】🕉 ” 。 将物理【jiāng wù lǐ】分区【fèn qū】🔔细节屏【xì jiē píng】蔽【bì】🚹掉【diào】。用户只有统一🥒的逻辑🔍概念。所有的🎒东西都是文件。 Mount 命令可以实现【yǐ shí xiàn】挂载【guà zǎi】🕉:
mount [-fnrsvw] [-t vfstype] [-o options] device dir
Q :所有的🎒磁盘分【cí pán fèn】🚶区【qū】📅都必须被挂载【bèi guà zǎi】💋上才能【shàng cái néng】使用【shǐ yòng】,那么我【nà me wǒ】们机器【men jī qì】🌼上的硬盘分区【pán fèn qū】🔩是如【rú】何🛑被挂载【bèi guà zǎi】💋的?
A :这主要【zhè zhǔ yào】🤗是它利【shì tā lì】用了🔻 /etc/fstab 文件。每次内核加载🏺它知道从这里开始 mount 文件系🎤统🎸。每次系统🎸启动会【qǐ dòng huì】根据该文件🖱定义自😂动挂载【dòng guà zǎi】🕉。若没有被自动【bèi zì dòng】🐐挂载【guà zǎi】🕉,分区【fèn qū】将🔶不能使用【shǐ yòng】。 如【rú】下【xià】是👯我的 /etc/fstab 的定义【de dìng yì】,主要是🔭根据装机的分区【fèn qū】🎴来的:
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
#/dev/sda1 被自动【bèi zì dòng】🐐挂载到【guà zǎi dào】🆘 /
UUID=cb1934d0-4b72-4bbf-9fad-885d2a8eeeb1 / ext3 relatime,errors=remount-ro 0 1
# /dev/sda5 被自动【bèi zì dòng】🐐挂载到【guà zǎi dào】🆘分区【fèn qū】🔔 /home
UUID=c40f813b-bb0e-463e-aa85-5092a17c9b94 /home ext3 relatime 0 2
#/dev/sda7 被自动【bèi zì dòng】🐐挂载到【guà zǎi dào】🆘 /work
UUID=0f918e7e-721a-41c6-af82-f92352a568af /work ext3 relatime 0 2
# 分区【fèn qū】🔔 /dev/sda6 被自动【bèi zì dòng】🐐挂载到【guà zǎi dào】🆘 swap
UUID=2f8bdd05-6f8e-4a6b-b166-12bb52591a1f none swap sw 0 0

Q :移动硬【yí dòng yìng】🌊盘【pán】🧘如何挂【rú hé guà】载【zǎi】✋?如何挂【rú hé guà】载【zǎi】✋一个新的分🈯区【qū】?
移动硬【yí dòng yìng】🌊盘【pán】🧘有驱动模块会自动挂✔载【zǎi】,如果有📕个新硬【gè xīn yìng】盘【pán】🧘,要先进【yào xiān jìn】🐛行分区【qū】,并通过 mount 命令挂💘载【zǎi】到某🥚个文件【gè wén jiàn】夹【jiá】。如果要🍑自动挂✔载则可【zǎi zé kě】🔬以修改 /etc/fstab 文件【wén jiàn】 .
NFS 简介【jiǎn jiè】: NFS 相信在很多地👀方都有广泛使用【yòng】🥈,是一个非常好【fēi cháng hǎo】🏎的文件【wén jiàn】共享方💬式💳。我们公司所使【sī suǒ shǐ】用【yòng】🥈的上传【de shàng chuán】服务就【fú wù jiù】是把✊文件【wén jiàn】上传到某【chuán dào mǒu】台网络服务器🙄上,中间就是通过【shì tōng guò】 NFS 实现。
使用【yòng】🥈 NFS 客户端可以透🥨明的地访问服务器🙄端的文件【wén jiàn】。 NFS 也是通过【shì tōng guò】 mount 来实现,底层是通过【shì tōng guò】 NFS 通信协✈议实现🐿。基本原理:
 

图🐃2:NFS基本原理

Ubuntu 下面 Ubuntu 下的例子【lì zǐ】
服务端😸 :
$apt-get install nfs-kernel-server
vi /etc/exports 添加🚆 nfs 目录【mù lù】😯 : /personal/nfs_share
10.1.60.34(rw,sync,no_root_squash)
$sudo exportfs -r
$sudo /etc/init.d/portmap start
$sudo /etc/init.d/nfs-kernel-server start
客户端 :
$sudo apt-get install nfs-common
$sudo mount 10.19.34.76:/personal/nfs_share ~/nfsshare 例子【lì zǐ】:
3. 文件【wén jiàn】类🦑型
Linux 下面的文件【wén jiàn】类🦑型主要有:
a) 普通文件【wén jiàn】🤠 : C 语言元【yǔ yán yuán】代码【dài mǎ】、 SHELL 脚本、二进制的可执【de kě zhí】行文件【wén jiàn】🤠等。分为纯文本和二进制。
b) 目录【mù lù】😯文件【wén jiàn】🤠 :目录【mù lù】😯,存储文件【wén jiàn】🤠的唯一地方【dì fāng】🥈。
c) 链接文【liàn jiē wén】🥌件【jiàn】🤠 :指向同【zhǐ xiàng tóng】一个文【yī gè wén】件【jiàn】🤠或目录【huò mù lù】😯的的文【de de wén】件【jiàn】🤠。
d) 特殊文件【wén jiàn】🤠 :与系统📔外设相关的🧢,通常在【tōng cháng zài】 /dev 下面。分为块设备【bèi】和👗字符设【zì fú shè】备【bèi】🔦。
可以通过 ls –l, file, stat 几个命令来查👲看文件【kàn wén jiàn】🤠的类型等相关【děng xiàng guān】信息【xìn xī】。
4.文件【wén jiàn】🤠存储结【cún chǔ jié】构
Linux 正统的🤗文件【wén jiàn】系🥢统🖱 ( 如【rú】 ext2 、 ext3) 一个文【yī gè wén】件【jiàn】由目㊙录项【lù xiàng】、 inode 和数据【hé shù jù】块🌃组成🦊。
目录【mù lù】😯项 : 包括文👺件【jiàn】🤠名和【míng hé】 inode 节点号🍦。
Inode :又称文【yòu chēng wén】💤件【jiàn】🤠索引节【suǒ yǐn jiē】点🏑,是文件【shì wén jiàn】💐基本信【jī běn xìn】息的存放地🏯和数据【hé shù jù】块🌃指针存放地🏯。
数据【jù】块🌃 :文件【wén jiàn】🤠的具体【de jù tǐ】内容存【nèi róng cún】放地🏯。

Linux 正统的🤗文件【wén jiàn】系🥢统🖱 ( 如【rú】 ext2 、 3 等 ) 将硬盘【jiāng yìng pán】分区时会划分😫出目录【mù lù】😯块、 inode Table 区块和 data block 数据区【shù jù qū】🚊域【yù】。 一个文【yī gè wén】件【jiàn】由一📛个目录【mù lù】🏅项、 inode 和数据【hé shù jù】区🚊域【yù】块组成😈。 Inode 包含文💣件【jiàn】🤠的属性【de shǔ xìng】 ( 如【rú】读写属性【shǔ xìng】、 owner 等,以及指🕐向数据【jù】块🌃的指针【de zhǐ zhēn】 ) ,数据区【shù jù qū】🚊域块则【yù kuài zé】是文件【shì wén jiàn】💐内容。 当查看🔂某个文📎件【jiàn】时🏷,会先从【huì xiān cóng】🔄 inode table 中查出【zhōng chá chū】📇文件属【wén jiàn shǔ】🧀性及数据【jù】♊存放点,再从数😜据【jù】块中🕉读取数【dú qǔ shù】据【jù】♊。

站在 2w 英尺视【yīng chǐ shì】图🐃,文件【wén jiàn】🤠存储结【cún chǔ jié】构大概如【rú】📟下:
 

图【tú】❗3:文件存储结构2w英尺视图【tú】❗

其中目【qí zhōng mù】👷录项的【lù xiàng de】结构如【jié gòu rú】下 ( 每个文件的目【jiàn de mù】🎼录项存⚽储在改【chǔ zài gǎi】🔭文件所🔸属目录的文件内容里 ) :
 

图【tú】4:目录项🔖结构

其中文🥄件的🎖 inode 结构如下( inode 里所包【lǐ suǒ bāo】含的文件信息【jiàn xìn xī】⛸可以通过🕐 stat filename 查看得【chá kàn dé】到【dào】):
 

图【tú】5:inode结构【jié gòu】

以上只反映大体的结👷构, linux 文件系【wén jiàn xì】🔄统本身【tǒng běn shēn】在不断🦗发展。但是以上概念【shàng gài niàn】基本是不变的【bú biàn de】⏯。且如 ext2 、 ext3 、 ext4 文件系【wén jiàn xì】🔄统也存【tǒng yě cún】在很大【zài hěn dà】差别🏐,如果要🐬了解可以查看❇专门的📨文件系【wén jiàn xì】🔄统介绍。

5. 软连接【ruǎn lián jiē】、硬链接
软链接和硬链接是我们常见的两种【de liǎng zhǒng】🏩概念👈:
硬连接 :是给文🔺件一个【gè】🍩副本➕,同时建【tóng shí jiàn】立两者【lì liǎng zhě】🧕之间的连接关【lián jiē guān】系。修改其📓中一个【gè】🔅,与其连🎴接的文🖲件同时【shí】😪被修改【bèi xiū gǎi】。如果删除其中 [color=red] 任意一【rèn yì yī】个【gè】🍩 [/color] 其余的文件将不受影响。
软连接【ruǎn lián jiē】 : 也叫符【yě jiào fú】号连接【hào lián jiē】 , 他只是🍮对源文🧘件在新【jiàn zài xīn】的位置建立一【jiàn lì yī】🗣个【gè】🍩“快捷🃏(借用一【jiè yòng yī】💙下 wondows 常用词⛲)”,所以【suǒ yǐ】,当源文【dāng yuán wén】件删除🔒时【shí】,符号连接【hào lián jiē】的文🖲件将成【jiàn jiāng chéng】为无源之水🔊 -> 仅仅剩【jǐn jǐn shèng】下个【gè】🍩文件名了👞,当然删除这个【gè】🍩连接,也不会影响到源文件,但对连🈵接文件的【wén jiàn de】使用、引用都是直接【shì zhí jiē】调用源【diào yòng yuán】✝文件的【wén jiàn de】。
具体关【jù tǐ guān】系可以看下图:
 

图6:软链接【ruǎn liàn jiē】和硬链接【jiē】✳

从图上可以看【kě yǐ kàn】出【chū】🐀硬链接【jiē】✳和软链接【ruǎn liàn jiē】的📌区别【qū bié】:
1 :硬链接【jiē】✳原文件【yuán wén jiàn】🤝和新文件的【wén jiàn de】 inode 编号一致【zhì】📰。而软链【ér ruǎn liàn】🔁接【jiē】不一样。
2 :对原文【duì yuán wén】件【jiàn】🤝删除,会导致【zhì】📰软链接【ruǎn liàn jiē】不可用【bú kě yòng】✋,而硬链接【jiē】✳不受影【bú shòu yǐng】响。
3 :对原文【duì yuán wén】件【jiàn】🤝的修改,软、硬链接【jiē】✳文件【jiàn】内😔容也一【róng yě yī】🚭样的修改,因为都📦是指向👆同一个🥓文件【jiàn】内😔容的【róng de】。

6. 文件【jiàn】目录管理【lǐ】命令【mìng lìng】🤕
磁盘和【cí pán hé】文件【jiàn】空间🐫
fdisk df du
文件【jiàn】目录与管【lù yǔ guǎn】理【lǐ】
cd pwd mkdir rmdir ls cp rm mv
查看文【chá kàn wén】件【jiàn】内😔容
cat:
cat [file]
查看文【chá kàn wén】件的【jiàn de】内容。全程式concatenate的意思,将文件【jiàn】内😔容连续输出【chū】🐀到屏幕【dào píng mù】上。第一行【háng】👘到最后【dào zuì hòu】🚺一行【háng】显📙示📢。
tac:
tac [file]
和cat刚好相🏋反【fǎn】 是从最后一行【háng】👘到第一行【háng】👘的方式查看【chá kàn】🎿。
cat有个比【yǒu gè bǐ】🕸较不好的地方💠时【shí】当文😱件【jiàn】比较🔵大时【shí】候🚥没办法看清楚,这个时【shí】候可以用【kě yǐ yòng】✋more或者😆Less命令【mìng lìng】🤕。
more:
more [file]
如果使用【yòng】✋grep或者😆find等命令【mìng lìng】🔨时【shí】,可以配合使用【yòng】✋more一页一【yī yè yī】💵页的查【yè de chá】😸看。如果看到一半想退出【xiǎng tuì chū】🐀,则敲入👣’q’即可退【jí kě tuì】出【chū】🐀。
less:
less [file]
less比🕸more更有弹性🏥,可以上🏁下翻页📩。
如果只想读取【xiǎng dú qǔ】文🏍件的【jiàn de】头几行【háng】🏝或者😆文件的【wén jiàn de】末尾几【mò wěi jǐ】行【háng】👘,可以用【kě yǐ yòng】✋head或tail.
head –n [file]:读取文🏍件的【jiàn de】前n行【háng】👘。
tail –n [file]:读取文🏍件末尾【jiàn mò wěi】🎑n行【háng】👘。
以上命【yǐ shàng mìng】令🤕都是用【dōu shì yòng】✋于查看【chá kàn】字符文【zì fú wén】件【jiàn】,二进制💀文件【jiàn】出【chū】🍩来的都【lái de dōu】😑是乱码【shì luàn mǎ】,要看二进制💀文件的【wén jiàn de】内容,可以用【kě yǐ yòng】✋od命令【mìng lìng】🤕,如查看【chá kàn】🥔一个🥓MP3文件【jiàn】里面的内😄容:
od shijiemori.mp3
文件【jiàn】目录与权【lù yǔ quán】📍限

关键词:Linux,文件系【wén jiàn xì】🐙统【tǒng】

阅读本文后您有什么感想? 已有 人给出评价!

  • 0 欢迎喜欢
  • 0 白痴
  • 0 拜托
  • 0 哇
  • 0 加油
  • 0 鄙视