linux学习笔记(4)
linux中,文件类型主要分为以下几类:
1.正规档案 (regular file ): 就是一般我们在进行存取的类型的档案,在由 ls –al 所显示出
来的属性方面,第一个属性为 [ - ],例如 [-rwxrwxrwx ]。另外,依照档案的内容,又大略可
以分为:
(1)纯文字文件(ASCII):这是 Unix 系统中最多的一种档案类型啰,称为纯文字文件是因为
内容为我们人类可以直接读到的数据, 例如数字、字母等等。几乎只要我们可以用来做
为设定的档案都属于这一种档案类型。 举例来说,您可以下达『 cat ~/.bashrc 』就
可以看到该档案的内容。 (cat 是将一个档案内容读出来的指令)
(2)二进制文件(binary):还记得我们在『 Linux 是什么 』那一章里面的 GNU 发展史中提
过, 我们的系统其实仅认识且可以执行二进制档案 (binary file) 吧?没错~ 您的
Linux 当中的可执行档 (scripts, 文字型批次文件不算) 就是这种格式的啦~ 举例来
说,刚刚下达的指令 cat 就是一个 binary file 。
(3)数据格式文件(data): 有些程序在运作的过程当中会读取某些特定格式的档案,那些特
定格式的档案可以被称为数据文件 (data file)。举例来说,我们的 Linux 在使用者登
入时,都会将登录的数据记录在 /var/log/wtmp 那个档案内,该档案是一个 data
file ,他能够透过 last 这个指令读出来! 但是使用 cat 时,会读出乱码~因为他是
属于一种特殊格式的档案。瞭乎?
2. 目录 (directory):就是目录啰~第一个属性为 [ d ],例如 [drwxrwxrwx]。
3. 连结档 (link):就是类似 Windows 底下的快捷方式啦!第一个属性为 [ l ], 例如
[lrwxrwxrwx] ;
4.设备与装置文件 (device):与系统周边及储存等相关的一些档案, 通常都集中在 /dev 这个目
录之下!通常又分为两种:
5.区块 (block) 设备档 :就是一些储存数据, 以提供系统存取的接口设备,简单的说就
是硬盘啦!例如你的一号硬盘的代码是 /dev/hda1 等等的档案啦!第一个属性为 [ b ];
6.字符 (character) 设备档 :亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!
第一个属性为 [ c ]。
7.资料接口文件 (sockets):既然被称为数据接口文件, 想当然尔,这种类型的档案通常被用在网
络上的数据承接了。我们可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个
socket 来进行数据的沟通了。第一个属性为 [ s ], 最常在 /var/run 这个目录中看到这种档
案类型了。
8.数据输送文件 (FIFO, pipe): FIFO 也是一种特殊的档案类型,他主要的目的在解决多个程序同
时存取一个档案所造成的错误问题。 FIFO 是 first-in-first-out 的缩写。
第一个属性为 [p] 。
目录说明:
/:斜杠表示根目录root(/)。开机时第一个挂载的partition。
/bin,/usr/bin,/usr/local/bin:放置使用者可执行binary file的目录。
/boot:放置系统开机档案。vmlinuz就是linux的kernel。
/dev:在 Linux 系统上,任何装置与接口设备都是以档案的型态存在于这个目录当中的。您只要透过存取这个目录底下的某个档案,就等于存取某个装置啰~
/etc:系统的主要设定文件。人员账号,密码,各种服务的启始档。
/home:使用者家目录。
/lib,/usr/lib,/usr/local/lib:在fedora 18中,/lib和/usr/lib明明是同一个文件夹阿!放置函数库的地方。
/lost+found:系统不正常产生的错误片段放置在这里。
/mnt,/media,/opt:说真的,这三个文件夹我也不知道是干什么用的。感觉用处不大。
/proc:虚拟档案系统,放置的数据都是内存里的数据。
/root:系统管理员的家目录。
/sbin,/usr/bin,/usr/local/sbin:系统管理员会用到的一些指令。
/srv:启动服务之后,所需要取用的数据目录。
/tmp:我感觉类似windows里的/temp。存放临时文件的地方。
/usr:这个文件夹可是比较重要了。包含系统的主要程序、 图形接口
所需要的档案、额外的函式库、本机端所自行安装的软件,以及共享的目录与文件
等等, 都可以在这个目录当中发现。/usr/bin, /usr/sbin:一般身份使用者与系统管理员可执行的档案放置目录;
•/usr/include:c/c++等程序语言的档头 (header) 与包含档(include)
放置处, 当我们以 tarball 方式 (*.tar.gz 的方式安装软件) 安装某
些数据时,会使用到里头的许多包含档喔!;(这个文件夹为什么我电脑里的是空的!!!!!)
• /usr/lib:各应用软件的函式库档案放置目录;
• /usr/local: 本机端自行安装的软件预设放置的目录。
目前也适用于 /opt目录。 在你安装完了 Linux 之后,基本上所有的配备你都有了,但是软
件总是可以升级的, 例如你要升级你的 proxy 服务,则通常软件预设的
安装地方就是在 /usr/local (local 是『当地』的意思),同时,安装完
毕之后所得到的执行文件,为了与系统原先的执行文件有分别, 因此升级后的执行档通常摆在 /usr/local/bin 这个地方。给个建议啦, 通常
鸟哥都会将后来才安装上去的软件放置在这里,因为便于管理呦;
• /usr/share:共享文件放置的目录,例如底下两个目录:
• /usr/share/doc: 放置一些系统说明文件的地方,例如你安装了 grub 了,
那么在该目录底下找一找,就可以查到 lilo 的说明文件了!很是便利!
•/usr/share/man:manpage 的文件档案目录;那是什么?呵呵! 就是你
使用 man 的时候,会去查询的路径呀!例如你使用 man ls 这个指令时,
就会查出 /usr/share/man/man1/ls.1.gz 这个说明档的内容啰!
•/usr/src:Linux 系统相关的程序代码放置目录,例如 /usr/src/linux
为核心原始码!(文件夹里面是空的,linux菜鸟阿。。。。。不懂为什么。)
•/usr/X11R6:系统内的 X Window System 所需的执行档几乎都放在这!(我的系统里没有这个文件夹!一定是我的开机方式不对。。。)
/var:他主要放置的是针对系统执行过程中, 常态性变动的档案放置的目录。(var 在c#里不是变量的意思么= =!)
看到这些分类感到很吃力,不过鸟哥接下来说了,菜鸟感到吃力是非常正常的!