系统目录结构及文件类型

来源:互联网 发布:java物流管理系统源码 编辑:程序博客网 时间:2024/05/16 11:25

一, 系统目录结构

  • 1、/- 根
    每一个文件和目录从根目录开始。
    只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样

  • 2、/bin中 - 用户二进制文件
    包含二进制可执行文件。
    在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
    例如:ps、ls、ping、grep、cp

  • 3、/sbin目录 - 系统二进制文件
    就像/bin,/sbin同样也包含二进制可执行文件。
    但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令

  • 4、/etc - 配置文件
    包含所有程序所需的配置文件。
    也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf

  • 5、/dev - 设备文件
    包含设备文件。
    这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0

  • 6、/proc - 进程信息
    包含系统进程的相关信息。
    这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
    这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime

  • 7、/var - 变量文件
    var代表变量文件。
    这个目录下可以找到内容可能增长的文件。
    这包括 - 系统日志文件(/var/log);包和数据库文件(/var/lib);电子邮件(/var/mail);打印队列(/var/spool);锁文件(/var/lock);多次重新启动需要的临时文件(/var/tmp);

  • 8、/tmp - 临时文件
    包含系统和用户创建的临时文件。
    当系统重新启动时,这个目录下的文件都将被删除。

  • 9、/usr - 用户程序
    包含二进制文件、库文件、文档和二级程序的源代码。
    /usr/bin中包含用户程序的二进制文件。如果你在/bin中找不到用户二进制文件,到/usr/bin目录看看。例如:at、awk、cc、less、scp。
    /usr/sbin中包含系统管理员的二进制文件。如果你在/sbin中找不到系统二进制文件,到/usr/sbin目录看看。例如:atd、cron、sshd、useradd、userdel。
    /usr/lib中包含了/usr/bin和/usr/sbin用到的库。
    /usr/local中包含了从源安装的用户程序。例如,当你从源安装Apache,它会在/usr/local/apache2中。

  • 10、/home - HOME目录
    所有用户用home目录来存储他们的个人档案。
    例如:/home/john、/home/nikita

  • 11、/boot - 引导加载程序文件
    包含引导加载程序相关的文件。
    内核的initrd、vmlinux、grub文件位于/boot下。
    例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic

  • 12、/lib - 系统库
    包含支持位于/bin和/sbin下的二进制文件的库文件.
    库文件名为 ld*或lib*.so.*
    例如:ld-2.11.1.so,libncurses.so.5.7

  • 13、/opt - 可选的附加应用程序
    opt代表可选的。
    包含从个别厂商的附加应用程序。
    附加应用程序应该安装在/opt/或者/opt/的子目录下。

  • 14、/mnt - 挂载目录
    临时安装目录,系统管理员可以挂载文件系统。

  • 15、/media - 可移动媒体设备
    用于挂载可移动设备的临时目录。
    举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;

  • 16、/srv - 服务数据
    srv代表服务。
    包含服务器特定服务相关的数据。
    例如,/srv/cvs包含cvs相关的数据。

二,文件类型

我们使用 ls -l 这个命令时,可以观察到第一栏那十个字符中,第一个字符为文件的类型 [ d 表示目录,- 表示是一个普通的文件,c 表示字符串设备,l 表示软链接文件,b 块设备]。

  • 普通文件(regular file ): 一般我们在进行存取的类型的文件,在由 ls -al 所显示出来的属性方面,第一个字符为 [ - ],例如 [-rwxrwxrwx ]。另外,依照文件的内容,又大略可以分为:

    • 纯文本档(ASCII):这是Linux系统中最多的一种文件类型, 称为纯文本档是因为内容为我们人类可以直接读到的数据,例如数字、字母等等。 几乎只要我们可以用来做为设定的文件都属于这一种文件类型。 举例来说,你可以下达『 cat ~/.bashrc 』就可以看到该文件的内容。 (cat 是将一个文件内容读出来的指令)

    • 二进制文件(binary):,我们的系统其实仅认识且可以执行二进制文件(binary file) 在Linux当中的可执行文件(scripts, 文字型批处理文件不算)就是这种格式的 举例来说,我们经常使用的 cat 命令就是一个binary file。

    • 数据格式文件(data): 有些程序在运作的过程当中会读取某些特定格式的文件,那些特定格式的文件可以被称为数据文件 (data file)。举例来说,我们的Linux在使用者登入时,都会将登录的数据记录在 /var/log/wtmp那个文件内,该文件是一个data file,他能够透过last这个指令读出来! 但是使用cat时,会读出乱码 因为它是属于一种特殊格式的文件。

  • 目录(directory): 就是目录 第一个属性为 [ d ],例如 [drwxrwxrwx]。
    连接文件(link): 就是类似Windows系统底下的快捷方式! 第一个属性为 l ,例如 [lrwxrwxrwx] ;

  • 设备与装置文件(device): 与系统周边及储存等相关的一些文件, 通常都集中在/dev这个目录之下!通常又分为两种:

    • 区块(block)设备档 :就是一些储存数据, 以提供系统随机存取的接口设备,举例来说,硬盘与软盘等就是! 你可以随机的在硬盘的不同区块读写,这种装置就是成组设备!你可以自行查一下/dev/sda看看, 会发现第一个属性为[ b ]!

    • 字符(character)设备文件:亦即是一些串行端口的接口设备, 例如键盘、鼠标等等!这些设备的特色就是『一次性读取』的,不能够截断输出。 举例来说,你不可能让鼠标『跳到』另一个画面,而是『滑动』到另一个地方啊!第一个属性为 [ c ]。

  • 数据接口文件(sockets): 既然被称为数据接口文件, 想当然,这种类型的文件通常被用在网络上的数据承接了。我们可以启动一个程序来监听客户端的要求, 而客户端就可以透过这个socket来进行数据的沟通了。第一个属性为 [ s ], 最常在/var/run这个目录中看到这种文件类型了。

  • 数据输送文件(FIFO, pipe): FIFO也是一种特殊的文件类型,他主要的目的在解决多个程序同时存取一个文件所造成的错误问题。 FIFO是first-in-first-out的缩写。第一个属性为[p] 。

    注: 除了设备文件是我们系统中很重要的文件,最好不要随意修改之外,通常只有root用户才可以修改!