Linux下,一切皆文件,比如鼠标USB接口、打印机接口等,在Linux下都是以文件形式存在的。我们可以用ls -l命令来查看文件的属性和权限,那么Linux下到底有多少种文件类型?详细细分的话,一般可以分成下面几种。
普通文件
在用ls -l命令显示属性时,第一个字符为[-],例如:[-rwxrwxrwx]。普通文件按照文件内容来分,又可以分成下面几种:
纯文本文件:内容为数字、字符、字母等,文件里面存储的一些内容用户可以直接查阅。
二进制文件:计算机真正能执行的就是二进制文件了,也就是0、1二进制类型的文件。
数据格式文件:有些程序在运作的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件 (data file)。举例来说,我们的Linux在使用者登入时,都会将登录的数据记录在 /var/log/wtmp那个文件内,该文件是一个data file,它能够透过last这个指令读出来!但是使用cat时,会读出乱码,因为他是属于一种特殊格式的文件。
目录
第一个属性为[d],例如 [drwxrwxrwx]。
连结档(link)
就是类似Windows系统底下的快捷方式! 第一个属性为 [l](英文L的小写),例如 [lrwxrwxrwx]。
设备与装置文件(device)
与设备装置相关的文件,通常在/dev目录下,按装置类型不同,又可以分为:
区块(block)设备档 :第一个属性为[b],就是一些随机存储数据的装置,比如硬盘、软盘等。你可以在硬盘不同区块进行随机读写,你可以查看下/dev/sda。
字符(character)设备文件:第一个属性为[c],就是一些输出接口设备,比如鼠标、键盘、打印机等,你可以查看下/dev/lp。
数据接口文件(sockets)
第一个属性为 [s], 最常在/var/run这个目录中看到这种文件类型了。这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个socket来进行数据的沟通了。
数据输送文件(FIFO, pipe)
FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为[p] 。
数据接口文件和数据输出文件比较不好理解,你也可以透过man fifo及man socket来查阅系统上更详细的文档说明!
Linux文件扩展名
Linux下是没有所谓拓展名的概念,比如一个文件是否能被执行,在window下是通过后缀名来判断,通常后缀名为.bat,.exe就是可执行文件,但Linux下是通过x这个权限来判断的,例如[-rwx-r-xr-x] 即代表这个文件可以被执行!可以被执行跟可以执行成功是不一样的。
举例来说,在root家目录下的install.log 是一个纯文本文件,如果经由修改权限成为 -rwxrwxrwx 后,这个文件能够真的执行成功吗?当然不行,因为他的内容根本就没有可以执行的数据。所以说,这个x代表这个文件具有可执行的能力, 但是能不能执行成功,当然就得要看该文件的内容。
还有如果有一个文件权限和内容都为可执行文件, 如常见的/bin/ls这个显示文件属性的指令,这个文件就是二进制可执行文件。不过,如果这个文件的权限被修改成无法执行时,也就是说去掉这个文件的x权限,那么ls就变成不能执行了。
人们给Linux文件添加拓展名,只是让人们更加一目了然的知道该文件是干什么的,比如如果后缀为.php文件,人们很容易知道这个文件就是php脚本文件。那么linux下常用的拓展名文件有:
*.sh : 脚本或批处理文件 (scripts),因为批处理文件是使用shell脚本写成的,所以扩展名就编成 .sh 。
*Z, *.tar, *.tar.gz, *.zip, *.tgz: 经过打包的压缩文件。这是因为压缩软件分别为 gunzip, tar 等等的,不同的压缩软件,扩展名就略有不同!
*.html, *.php:网页相关文件。
Linux系统上的文件名只是让你了解该文件可能的用途而已。文件本身真正含义还是要参照文件属性和权限类型的。
ppt.cc/fVjECx ppt.cc/fEnHsx ppt.cc/fRZTnx ppt.cc/fSZ3cx ppt.cc/fLOuCx ppt.cc/fE9Nux ppt.cc/fL5Kyx ppt.cc/fIr1ax ppt.cc/f71Yqx tecmint.com linuxcool.com linux.die.net linux.it.net.cn ostechnix.com unix.com ubuntugeek.com runoob.com man.linuxde.net v.gd/4A2G5b v.gd/VBg0IE v.gd/kVkm7n v.gd/jCKP1G linuxprobe.com linuxtechi.com howtoforge.com linuxstory.org systutorials.com ghacks.net linuxopsys.com v.gd/2P9wTx v.gd/FtfpqE v.gd/eMfHsm v.gd/Ub7mqv v.gd/RReVk0 v.gd/vS3uTI v.gd/4Zxmba v.gd/1BnFph
Pages
▼
No comments:
Post a Comment