0210filepermission.htm
来自「鸟哥LINUX 学习课本」· HTM 代码 · 共 1,115 行 · 第 1/5 页
HTM
1,115 行
<br>什么是档案格式呢?就是你的操作系统用来存取的数据格式,例如我们知道Windows 用来存取硬盘的数据格式为 FAT (或 FAT16 ) ,而 Windows 2000 也有所谓的NTFS 档案格式等等,至于 <b><font color="#000066">Linux 的正统档案格式为ext2</font></b> 这一个。不过,目前 Linux 所能支持的档案格式非常的多,不过,<b><font color="#000066">你必须要将你所想要支持的档案格式编译到你的核心当中才能被支持</font></b>!因为如果核心不认识该档案格式的话,那么自然就无法取用呀!因此,您可以发现,Windows 与 Linux 安装在同一个硬盘的不同 partition 时, Windows 将不能取用Linux 的硬盘数据, Why ? 就因为 Windows 的核心不认识 Linux 的档案系统呀!<br> <br>目前 <font color="#000066">Mandrake 9.0 预设的档案格式为 ext3 (ThirdExtended File System ),是 ext2 档案格式的升级版,不过也向下兼容 ext2,ext 等等</font>。另外,如果你需要将你原有的 Windows 系统也挂载在 Linux底下的话,那么 Linux 也支持 MS-DOS, VFAT, FAT, BSD 等等的档案格式,至于Window NT 的 NTFS 档案格式则不见得每一个 Linux distribution 都有支持,例如Red Hat 预设的核心就不支持 NTFS,但是 Mandrake 9.0 的核心竟然预设有支持ntfs 耶!真高兴!问我怎么看出来的?呵呵! Linux 能够支持的档案格式与核心是否有编译进去有关,所以你可以到你的Linux 系统的<ul><b><font color="#000066" face="SimSun"> </font></b><br><b><font color="#000066" face="SimSun">/lib/modules/`uname –r`/kernel/fs</font></b><br> </ul>底下看一看,如果有你想要的档案格式,那么这个核心就有支持啦!目前使用的最广泛的虽然还是ext2 ,不过,最近释出的 Linux distribution 大多已经预设采样 <font color="#000066">ext3或 reiserfs</font> 这种具有<b><font color="#000066">日志式管理( Journaling)</font></b>的档案格式了。那为什么要使用 ext3 这种档案格式呢?我们采用第一个使用ext3 做为 Linux distribution 的 Red Hat 公司中,首席核心开发者 MichaelK. Johnson 的话:<ul> <table border="1" cols="1" width="80%"><tbody><tr><td>『为什么你想要从ext2转换到ext3呢?有四个主要的理由:可利用性、数据完整性、速度及易于转换』<p>『可利用性』,他指出,这意味着从系统中止到快速重新复原而不是持续的让e2fsck执行长时间的修复。ext3的日志式条件可以避免数据毁损的可能。他也指出:</p><p>『除了写入若干数据超过一次时,ext3往往会较快于ext2,因为ext3的日志使硬盘读取头的移动能更有效的进行』</p><p>然而或许决定的因素还是在Johnson先生的第四个理由中。</p><p>『它是可以轻易的从ext2变更到ext3来获得一个强而有力的日志式档案系统而不需要重新做格式化』。『那是正确的,为了体验一下ext3的好处是不需要去做一种长时间的,冗长乏味的且易于产生错误的备份工作及重新格式化的动作』。</p></td></tr></tbody></table> </ul>更详细的 ext3 说明在底下的连结中:<a href="http://www.linuxplanet.com/linuxplanet/reports/3726/1/" target="_blank">ext3or ReiserFS? Hans Reiser Says Red Hat's Move Is Understandable ( http://www.linuxplanet.com/linuxplanet/reports/3726/1/) </a>所以啰,我们可以使用 ext3 来做为我们的 Linux 的档案格式啦! ^_^ 。在这里,您只要记得,我们Linux 正统的档案格式是 ext2 ,而目前有逐渐被 Journaling 的档案格式取代的趋势就是了。<br> <br><hr width="100%"><li><b><font color="#000099">档案种类:</font></b></li><br>谈完了档案格式之后,再来谈谈所谓的档案种类吧!我们在刚刚的属性介绍中提到了最前面的标志( d 或 - ) 可以代表目录或档案,那就是不同的档案种类啦!Linux 的档案种类主要有底下这几种:<br> <ul><li><font color="#000066">正规档案( regular file )</font>:就是一般类型的档案,在由ls –al 所显示出来的属性方面,第一个属性为 [ - ]。另外,依照档案的内容,又大略可以分为两种档案种类:</li></ul><ul><ul><li><font color="#000066">纯文字文件(ascii) </font>:这是 Unix 系统中最多的一种啰,几乎只要我们可以用来做为设定的档案都属于这一种;</li></ul><ul><li><font color="#000066">二进制文件(binary)</font> :通常执行档除了 scripts(文字型批次文件)之外,就是这一种档案格式;</li></ul> <li><font color="#000066">目录 (directory)</font>:就是目录啦!第一个属性为[ d ];</li></ul> <ul><li><font color="#000066">连结档 (link)</font>:就是类似 Windows 底下的快捷方式啦!第一个属性为[ l ];</li></ul> <ul><li><font color="#000066">设备档 (device)</font>:与系统周边相关的一些档案,通常都集中在/dev 这个目录之下!通常又分为两种:</li></ul><ul><ul><li><font color="#000066">区块 (block) 设备档</font> :就是一些储存数据,以提供系统存取的接口设备,简单的说就是硬盘啦!例如你的一号硬盘的代码是/dev/hda1 等等的档案啦!第一个属性为 [ b ];</li></ul></ul><ul><ul><li><font color="#000066">字符 (character) 设备档</font> :亦即是一些串行端口的接口设备,例如键盘、鼠标等等!第一个属性为[ c ]。</li></ul></ul> <br>那么使用刚刚的『 ls -al 』这个指令,你就可以简单的经由判断每一个档案的第一个属性来了解这个档案是何种类型!很简单吧!<p>除了设备文件是我们系统中很重要的档案,最好不要随意修改之外(通常他也不会让你修改的啦!),另一个比较有趣的档案就是连结档。如果你常常将应用程序捉到桌面来的话,你就应该知道在Windows 底下有所谓的『<b><font color="#000066">快捷方式</font></b>』。同样的,你可以将linux 下的连结档简单的视为一个档案或目录的快捷方式。但是基本上这两个东西是不一样的!在Windows 系统的快捷方式中,你将无法修改主程序,但是在 Linux 中,连结档可以直接连结到主程序,因此你只要改了这个连结文件,则主程序亦被改变了!这部份我们也会在后面的连结档介绍中,再次详细的谈一谈。</p></ul><ul><hr width="100%"><li><b><font color="#000099">Linux 档案附档名:</font></b></li><br><font color="#000066">基本上,Linux 档案的附档名是没有意义的</font><font color="#000000">!因为由前面的说明我们可以知道,</font><b><font color="#000066">一个Linux 档案能不能被执行,与他的第一栏的十个属性有关,与文件名根本一点关系也没有</font></b><font color="#000000">。这个观念跟Windows 的情况不相同喔!在 Windows 底下,能被执行的档案附档名通常是 .com.exe .bat 等等,而在 Linux 底下,只要你的属性当中有 x 的话,例如 [ </font><font color="#000066" face="SimSun">-rwx-r-xr-x</font><font color="#000000">]即代表这个档案可以被执行喔!不过,由于我们仍然希望可以藉由附档名来了解该档案是什么东西?!所以,通常我们还是会以适当的附档名来表示该档案是什么种类的。简单的分别,底下有数种常用的附档名:</font><br><font color="#000000"> </font><ul><li><font color="#000000">批次檔 ( scripts ):通常以 *.sh 来代表,(因为批次档为使用shell 写成的,所以附档名就编成 .sh 啰);</font></li><li><font color="#000000">打包或压缩档:通常附档名为 *.Z, *.tar, *.tar.gz,*.zip, *.tgz 等等,这是因为压缩软件分别为 gunzip, tar 等等的,由于不同的压缩软件,而取其相关的附档名啰!</font></li><li><font color="#000000">网页相关档案:通常使用 *.html 与 *.php 等等的档案,分别代表HTML 语法与 PHP 语法的网页档案啰!这种档案可以使用网页浏览器来开启!</font></li></ul><font color="#000000"> </font><br><font color="#000000">另外,还有程序语言如 perl 的档案,其附档名也可能取成.pl 这种档名!基本上, Linux 上面的档名真的只是让你了解该档案可能的用途而已,真正的执行与否仍然需要属性的规范才行!例如虽然有一个档案为可执行文件,如有名的代理服务器软件squid ,不过,如果这个档案的属性被修改成无法执行时,那么他就变成不能执行啰!这种问题最常发生在档案传送的过程中。例如你在网络上下载一个可执行档,但是偏偏在你的Linux 系统中就是无法执行!呵呵!那么就是可能档案的属性被改变了!不要怀疑,从网络上传送到你的Linux 系统中,档案的属性确实是会被改变的喔!</font><br><font color="#000000"> </font><br><font color="#000000">再提个另外!在 Linux 底下,每一个档案或目录的文件名最长可以到达256 的字符,是相当长的档名喔!我们希望 Linux 的文件名称可以一看就知道该档案在干嘛的,所以档名通常是很长很长!而用惯了Windows 的人可能会受不了,因为文件名称通常真的都很长,对于用惯 Windows而导致打字速度不快的朋友来说,嗯!真的是很困扰.....不过,只得劝您好好的加强打字的训练啰!当然啦,如果您已经读完了本书第三篇关于BASH 的用法,那么您将会发现『哇!变量真是一个相当好用的东西吶!』嗯!看不懂,没关系,到第三篇谈到bash 再说!</font></ul></blockquote><hr width="100%"><a name="Linux_directory"></a><font size="+1" color="#000099">Linux目录配置:</font><blockquote>在 Linux 系统的预设状态下,你在根目录中输入『<font face="SimSun">ls -l </font>』应该可以看到如下的画面:<br> <table bgcolor="#000000" border="1" cols="1" width="550"><tbody><tr><td><font size="-1" face="SimSun"><font color="#ffffff">[vbird@tsaivbird ]$ </font><font color="#ffff00">cd /</font></font><br><font size="-1" face="SimSun"><font color="#ffffff">[vbird@tsai/]$ </font><font color="#ffff00">ls -l</font></font><br><font size="-1" color="#ffffff" face="SimSun">total 153</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   2 root     root        4096 Feb 10 02:06 bin</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   3 root     root        4096 Feb 10 00:05 boot</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x  17 root     root       77824 Feb 11 14:45 dev</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x  41 root     root        4096 Feb 16 15:18 etc</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   8 root     root        1024 Feb  9 22:44 home</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   2 root     root        4096 Jun 22  2001 initrd</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   6 root     root        4096 Feb 10 02:12 lib</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   2 root     root       16384 Feb 10 05:35 lost+found</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   2 root     root        4096 Aug 30 00:10 misc</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   3 root     root        4096 Feb  9 22:05 mnt</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   2 root     root        4096 Aug 24  1999 opt</font><br><font size="-1" color="#ffffff" face="SimSun">dr-xr-xr-x 102 root     root           0 Feb 11 22:45 proc</font><br><font size="-1" color="#ffffff" face="SimSun">drwx------   4 root     root        4096 Feb 16 15:25 root</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x   2 root     root        4096 Feb 14 21:28 sbin</font><br><font size="-1" color="#ffffff" face="SimSun">drwxrwxrwt   2 root     root        4096 Feb 16 15:40 tmp</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x  16 root     root        4096 Feb 10 01:28 usr</font><br><font size="-1" color="#ffffff" face="SimSun">drwxr-xr-x  20 root     root        4096 Feb 14 21:41 var</font></td></tr></tbody></table> <br>由属性的角度来看,上面的档名每个都是『目录名称』,较为特殊的是 root,由于 root 这个目录是管理员 root 的家目录,这个家目录可重要了!所以一定要设定成较为严密的700 ( rwx------ )这个属性才行吶!如果以较为完整的树状目录来视察的话,可以将整个Linux 的树状目录会制程下图:</blockquote><center><img src="0210filepermission_files/0210filepermission_4.jpg" nosave="" height="455" width="398"></center><blockquote>请注意,每个目录都是依附在 / 这个根目录底下的,所以我们在安装的时候一定要有一个/ 对应的 partition 才能安装的原因即在于此!这也就是我们俗称的『树状目录』啰!
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?