解析Linux特殊文件( 三 )


[root@yaoyao /]# ls -l |grep tmp
drwsrwsrwt 9 root root 4096; 8月7 10:50 tmp
注意第是个字符"t",它代表了这个目录被设置了粘着位 。
我们自行建立一个abc的目录,使之具有和/tmp相同的特点
chmod 777 abc
chmodt abc
上述的个两个命令组合等同于下边的一个命令:
chmod 1777 abc
用ls –l 看abc 目录的属性如下:
[root@yaoyao test]# ls -l
总用量 4
drwsrwsrwt 2 root root 4096; 8月 7 11:32 abc
和/tmp目录相同的需求往往在ftp服务器的upload 目录中也存在 。可以用相同的方式处理 。

四、socket 文件

socket文件类似于管道,但它是在网络上面工作的 。您到计算机就是靠它来做网络处理的 。您可能听说过“Winsock”,那是 Windows 的套接口 。我们在这里不深入谈有关套接口,因为如果您不写程序,您不会用到它,但如果您看到您系统里有个文件类型是s,您知道它是什么就行了 。
比如说mysql 运行的时候通常会产生一个socket文件 。
[root@yaoyao tmp]# ls -l /tmp/mysql.sock
srwxrwxrwx 1 mysql mysql 08月 7 10:03 mysql.sock
/tmp目录下还有一些socket文件,多半是运行Xwindows的时候产生的 。
五、疑难杂症--删除不掉的文件
“为什么有些文件以讨厌的减号("-")开头做文件名,无论如何都删除不掉,这到底为什么?",您可能听过您临桌的新手这样的叫喊过,希望同样的事情不会发生在您的身上,这个非常容易解决,您只要用带路径的方法就可以把他们删除了,假定一个文件名为"-abc",您可以用:
rm ./-abc 或者
rm /home/yaoyao/-abc
命令将其轻松删除,另外您也可以用相同的方式用vi或者其他工具对他们进行修改 。
另一些文件看上去可能一切正常,但当您尝试删除的时候,居然也会报错,就象下边一样:
[root@linux236 root]# ls -l 1.txt
-rw-r--r-- 1 root root 0 Aug; 5 23:00 1.txt
[root@linux236 root]# rm -rf 1.txt
rm: cannot unlink `1.txt": Operation not permitted

您是全能root用户,居然系统告诉您操作不允许,是Linux疯了么?当然不是,如果您会用lsattr命令,问题就有了答案 。

[root@linux236 root]# lsattr
---i---------- ./1.txt
-------------- ./weiqi.ldif
-------------- ./qi.schema
秘密终于暴露了,在lsattr命令下,这个1.txt文件带有一个"i"的属性,所以才不可以删除 。您现在可以用下边的一系列命令:
[root@linux236 root]# lsattr 1.txt
---i---------- 1.txt
[root@linux236 root]# chattr -i 1.txt
[root@linux236 root]# rm -rf 1.txt
[root@linux236 root]#
成功了,这个属性专门用来保护重要的文件不被删除,通常的情况下,懂得用这几个命令的通常系统管理员有能力判断这个文件是否可以被删除 。如果您想给一个文件多加点保护,可以使用下边的命令:
chattri filename
命令,这样一来,想要删除这个文件就要多一个步骤 。同时,这样的文件也是不可以编辑和修改的 。只有root用户才能使用chattr命令 。此命令可以在Linux ext2或ext3系统上使用 。
类似于Dos和Windows文件系统,不能随意删除的文件多半都有其道理,即使您知道如何删除,都应该三思而后行 。
总结
【解析Linux特殊文件】Linux/Unix系统管理是个复杂的工作,掌握和理解Linux/Unix文件类型是必备的基础之一 。学习Linux/Unix没有捷径,必需通过大量的实践和努力学习 。

推荐阅读