linux文件系统

上传人:第*** 文档编号:32688623 上传时间:2018-02-12 格式:DOC 页数:8 大小:37.50KB
返回 下载 相关 举报
linux文件系统_第1页
第1页 / 共8页
linux文件系统_第2页
第2页 / 共8页
linux文件系统_第3页
第3页 / 共8页
linux文件系统_第4页
第4页 / 共8页
linux文件系统_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《linux文件系统》由会员分享,可在线阅读,更多相关《linux文件系统(8页珍藏版)》请在金锄头文库上搜索。

1、解析 Linux 特殊文件Linux 下可以用 ls l 命令来判断文件类型,如上 图所示。可以依据第一列中的10 个字符来判断。 -rw-r r指明了 1.txt 文件是一个普通文件,1.txt 和 myprog04 文件都是普通文件。以”-“开头的都是普通文件,而以”d”开头的是目录文件。 brw-rw- 指明了 /dev/sda1 是一个块设备(Block Device)文件。以”b”开头的文件都是块设备文件。 crw-rw-指明了/dev/lp0 是一个字符设备(Chartacter Device)文件,以”c”开头的文件都是字符设备文件。 srwxrwxrwx 指明了 /var/li

2、b/mysql/mysql.sock 是一个 socket 文件。以”开头的文件都是 socket 文件。 prwxrr-指明了了 mypipe 是一个管道文件。管道文件的一个属性是 ”p”。 lrwxrwxrwx 指明了 softlinkof1.txt 是一个软链接文件(或称符号链接文件),该文件指向了 1.txt。以”l”开头的文件是软链接文件。 -rw-r r开头的 hard_link_of_1.txt 看上去是个普通文件,但它实际上是一个硬链接文件。 -rwsr-xr-x 指明了 myprog01 是一个 setUid 的可执行文件,这是根据第四个字符”s”判断的。 -rwxr-sr-

3、x 指明了 myprog03 是一个 setGid 的可执行文件,这是根据第七个字符中的”s”判断的。 -rwsr-sr-x 指明了 myprog02 是一个 setUid 加 setGid 的可执行文件,这是根据第四个和第七个字符中的”s”判断的。 drwxrwxrwt 中的第一个”d”字指明了 tmp 文件是一个目录,最后一个字符”t”指明了该目录被设置了粘着位。一、设备文件 Linux 下的/dev 目录中有大量的设备文件。主要是块设备文件和字符设备文件。块设备文件在过去,在添加新磁盘后,往往需要手动增加块设备文件。现在通常我们不需要手动增加块设备文件,运行一下 service kudz

4、u start ,系统就会自动为您配置相应的设备。块设备的主要特点是可以随机读写,而最常见的块设备就是磁盘,如/dev/hda1 、/dev/sda2 、/dev/fd0 等。字符设备文件同块设备一样,我们一般都可以用 service kudzu start 命令来自动增加、删除或修改字符设备。最常见的字符设备是打印机和终端,他们可以接受字符流。/dev/null 是一个非常有用的字符设备文件,送入这个设备的所有东西都被忽略。如果将任何程序的输出结果重定向到/dev/null,则看不到任何输出信息。甚至于,您可以将某一用户的 shell 指向/dev/null 以禁止其登陆。管道设备文件管道设

5、备文件有时候也被叫做 FIFO 文件(FIFO 是先进先出的意思),从字面上理解,管道设备文件就是从一头流入,从另一头流出。通常我们会在其中做一些工作,以达到我们“吃的是草,挤出来的是奶 ”的目的,管道文件也有其妙用。以前,Unix 系统对文件的最大用量用 2GB 的限制,虽然现在新版本的Linux、 Solaris、FreeBSD 等不再有此限制,但处理大文件的需求仍然存在,假设您想用镜像(dd 命令)的方式来备份一个容量为 20GB 分区的分区,就会产生一个 20GB 的文件,根据您磁盘实际的使用状况,这个文件在压缩后可能只有数 MB 到数 GB,我们可以建立一个管道文件来自动实现这个压缩

6、过程。rootlinux236 root# mknod mypipe prootlinux236 root# ls -l mypipeprw-r-r- 1 root root 0 Aug 5 23:27 mypiperootlinux236 root#在这里,我们建立了一个叫 mypipe 的管道文件,用 ls -l 命令可以看到它的属性是 prw-r-r-,用下面的组合命令实现镜像和压缩:rootlinux236 root# compress sda6.img.Z &rootlinux236 root# dd if=/dev/sda6 of=mypiperootlinux236 root#

7、ls sda6.img.Z sda6.img.Z第一个命令使得从 mypipe 管道中流出的文件被压缩为 sda.img.Z 文件,注意这个命令的结尾必须使用&符号。第二个命令将/dev/sda6 分区中的资料道入管道文件 mypipe,换句话说,/dev/sda6 分区中的数据进入管道,而压缩文件 sda6.img.Z 文件从管道中流出。在导出 Oracle、DB2 等大型数据库时等经常会生成很大的文件,熟练的数据库管理员往往会选择通过管道进行压缩的方式,对于 Oracle 数据库,我们可以使用下边的组合命令:这样,就会将 Oracle 导出的内容直接压缩成为 expdat.dmp.Z 文件

8、。 compress expdat.dmp.Z &exp userid=system file=mypipe owner=scott第二章 链接文件链接文件有点类似于 Windows 的所谓快捷方式,但并不完全一样。链接有两种方式,软链接和硬链接。软链接文件软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。链接文件甚至可以链接不存在的文件,这就产生一般称之为断链 的问题(或曰“ 现象),链接文件甚至可以循环链接自己。类似于编程语言中的递归。yaoyaolinux236 yaoyao$ ls -ltotal 0lrwxrwxrwx 1 yao

9、yaoyaoyao5 Aug 6 17:39 1.txt - 3.txtlrwxrwxrwx 1 yaoyaoyaoyao5 Aug 6 17:38 2.txt - 1.txtlrwxrwxrwx 1 yaoyaoyaoyao5 Aug 6 17:39 3.txt - 2.txt上面的三个文件形成了一个递归,实质上没有任何作用。系统管理员应该避免系统出现断链或循环链接。用 ln -s 命令可以生成一个软连接,如下:rootlinux236 test# ln -s source_file softlink_file在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链

10、接文件时,系统仅仅删除链接文件,而不删除源文件本身。硬链接文件info ln 命令告诉您,硬链接是已存在文件的另一个名字(A hard link is another name for an existing file),这多少有些令人困惑。硬连接的命令是ln -d existfile newfile硬链接文件有两个限制1、不允许给目录创建硬链接;2、只有在同一文件系统中的文件之间才能创建链接。对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。三、s

11、etUid、setGid 文件和带粘着位的目录文件 在 Linux/Unix 下, 有一种可执行文件被 setUid,这使得任意使用者在执行该文件时,都绑定了文件拥有者的权限。就好像文件带了一把尚方宝剑一样,setUid 文件通常用来提升使用者的权限. 最有代表性的 su 命令. 普通用户可以可以执行该命令,使自己升级为 root。setUid 命令的用法是:chmod 4755 your_programsetGid 文件和 setUid 文件非常类似,它使得这使得任意使用者在执行该文件时,都绑定了文件所有组的权限.单独 setGid 的文件非常少用,通常都是即setUid 又 setGid。

12、不过和您猜想的可能有点不同。setUid+setGid 通常并不是用来提升权限的,而是为了绑定某个特殊用户及其组的特殊权限,例如 qmail 的外围软件 vpopmail,就使用了一个 setUid+setGid 的程序 vchkpw 来校验用户名和密码。这个道理和 Apache 常常以 nobody 用户运行一样。其目的是为了更加安全。setGid 命令的用法为chmod 2755 your_program通常使用命令chmod 6755 yourprogram来使得某可执行程序同时 setUid 和 setGid全能的 root 用户当然可以任意 setUid 和 setGid。但尚方宝剑

13、不能用来假传圣旨,普通用户只能给属于自己的文件配置 setUid 或 setGid。由于 setUid 或setGid 文件会使普通用户提升权限,谨慎的系统管理员通常会留意系统中有setUid 或 setGid 文件的变化。减少安全隐患。在 Linux 下,/tmp 是一个存放临时文件的目录,要求是对所有用户可写。但每个用户都只能删除自己拥有的文件。这种情况下,就可以把目录加一个粘着位。rootyaoyao /# ls -l |grep tmpdrwsrwsrwt 9 root root 4096 8 月 7 10:50 tmp注意第是个字符t,它代表了这个目录被设置了粘着位。我们自行建立一个

14、 abc 的目录, 使之具有和/tmp 相同的特点chmod 777 abcchmod +t abc上述的个两个命令组合等同于下边的一个命令:chmod 1777 abc用 ls l 看 abc 目录的属性如下:rootyaoyao test# ls -l总用量 4drwsrwsrwt 2 root root 4096 8 月 7 11:32 abc和/tmp 目录相同的需求往往在 ftp 服务器的 upload 目录中也存在。可以用相同的方式处理。四、socket 文件 socket 文件类似于管道,但它是在网络上面工作的。您到计算机就是靠它来做网络处理的。您可能听说过“Winsock”,那

15、是 Windows 的套接口。我们在这里不深入谈有关套接口,因为如果您不写程序,您不会用到它,但如果您看到您系统里有个文件类型是 s,您知道它是什么就行了。比如说 mysql 运行的时候通常会产生一个 socket 文件。rootyaoyao tmp# ls -l /tmp/mysql.socksrwxrwxrwx 1 mysql mysql 08 月 7 10:03 mysql.sock/tmp 目录下还有一些 socket 文件, 多半是运行 Xwindows 的时候产生的。五、疑难杂症-删除不掉的文件“为什么有些文件以讨厌的减号(-)开头做文件名,无论如何都删除不掉,这到底为什么?,您可

16、能听过您临桌的新手这样的叫喊过,希望同样的事情不会发生在您的身上,这个非常容易解决,您只要用带路径的方法就可以把他们删除了,假定一个文件名为-abc,您可以用:rm ./-abc 或者rm /home/yaoyao/-abc命令将其轻松删除,另外您也可以用相同的方式用 vi 或者其他工具对他们进行修改。另一些文件看上去可能一切正常,但当您尝试删除的时候,居然也会报错,就象下边一样:rootlinux236 root# ls -l 1.txt-rw-r-r- 1 root root 0 Aug 5 23:00 1.txtrootlinux236 root# rm -rf 1.txtrm: cannot unlink 1.txt:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号