• Linux 的档案权限与目录配置--2


    Linux 档案种类与副档名

    在我们用【ls -l】观察到第一栏的十个字符中,第一个字符为档案的类型。那么,档案都有那些呢?

    • 正规档案(regular flie):第一个字符为-
      • 纯文字档(ASCII):这是linux系统中最多的一种档案类型,称为纯文字档案因为内容为我们人类可以直接读到的资料,例如数字、字母等。几乎只要我们可以用来作为设定的档案都是这一种档案类型。
      • 二进制档(binary):Linux中的可执行档案(scripts,文字型批次当不算)就是这种格式了,例如,cat这个指令就是一个 binary file。
      • 资料格式档(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被称为资料档(data file)。例如:我们在登录linux的时候,登录的资料会记录在 /var/log/wtmp 那个档案内,该档案就是一个 data file,他能通过 last 这个指令读出来。但是用cat时,就会读出乱码,因为他是属于一种特殊格式的档案。
    • 目录(directory):第一个字符为d
    • 连结档(link):第一个字符为l
    • 设备与装置档(device):与系统周边及存储等相关的一些档案,通常都集中在 /dev 这个目录下,通常分为两类:
      • 区块(block)设备档:第一个字符为b
        • 就是一些存储资料,以提供系统随机存取的周边设备,例如,硬、软盘等。你可以随机在硬盘的不同区块读写,这种装置就是区块装置喽,例如 /dev/sda ,它的属性就是[b]
      • 字符(character)设备档:第一个字符为c
        • 就是一些序列埠的周边设备,例如:键盘、鼠标等。这些设备的特色就会【一次性读取】的,不能够截断输出。例如:你不可能让鼠标【跳到】另一个画面,而是【连续性滑动】到另一个地方,鼠标、键盘的属性就是[c]
    • 资料接口档(sockets):第一个字符为s
      • 这种类型的档案通常被用在网络上的资料承接。我们可以启动一个程序来监听用户的要求,而用户端就可以透过这个 socket 来进行资料的沟通了。最常在 /run 或 /tmp 这些个目录中看到这种档案类型了。
    • 资料输送档(FIFO,pipe):第一个字符为p
      • FIFO 也是一种特殊的档案类型,它主要的目的在解决多个程序同时存取一个档案所造成的错误问题。FIFO是 first-in-first-out 的缩写。

    除了设备档是我们系统中很重要的档案,最好不要随意修改外(当然,也不会随意让你需改),连结档也是比较有趣的。


    Linux档案的副档名:

    一个linux档案能不能被执行,与它的第一栏的十个属性有关,与档名根本没有一点关系。
    在linux下,只要你的权限当中具有 x 的话,例如[-rwxr-xr-x]即代表这个档案具有可以被执行的能力。
    换句话说就是,你的权限有x就能执行,能否执行成功,就看你档案的内容了。

    虽然是这样,但是我们还是希望能够藉由副档名来了解这个档案是什么东西,所以,通常我们还会以合适的副档名来表示该档案是什么种类。例如:

    • *.sh : 脚本或批次档(scripts),因为批次当为使用 shell 写成的,所以副档名就写成 .sh 了。
    • *,*.tar,*.tar.gz,*.zip,*.tgz:经过打包的压缩档。这是因为压缩软件分别为 gunzip,tar 等等的,由于不同的压缩软件,而采用不同的副档名。
    • *.html,*.php:网络相关档案,分别代表 HTML 语法与 PHP 语法的网络档案页面。

    Linux档名长度限制

    我们希望linux的档案名称一眼就可以知道这个档案在干嘛,所以它一般会比较长。

    在linux下,使用传统的Ext2/Ext3/Ext4档案系统一级进来被CentOS 7 当做预设档案系统 xfs 而言,针对档案名称长度限制为:

    • 单一档案或目录的最大允许档名为 255bytes。
      • 以一个 ASCII 英文占用一个bytes来说,则大约可达 255 个字符长度。
      • 以一个中文字符占用 2bytes 来说,最大档名就大概在 128 个中文字。

    Linux档案名称的限制

    由于linux在文字界面下的一些指令操作关系,一般来说,在设定linux地下的档案名称的时候,应该尽量避免使用一些特殊字符,如下这些:

    * ? < > ; & ! [ ] |  ' " ` ( ) { }
    

    因为这些符号在文字介面下,有着特殊的意义,另外,档案名称的开头以小数点.开头的,代表这个档案为【隐藏档】
    最后,由于指定下达当中,常常会使用到 -option 之类的选项,所以最好也避免档案名以+-来开头的命名方式。

    hare
    2020.2.24

  • 相关阅读:
    OpenGL中FrameBuffer使用
    每天进步一点点>结构化异常处理(SEH)
    js操作cookies
    [转]高性能网站优化与系统架构
    正则-匹配超链接地址及内容
    在c#.net中操作XML
    ActionScript 3 step by step (6) 元标记
    Facebook CEO:终极目标并非出售或上市
    ActionScript 3 step by step (3) 事件处理
    ActionScript 3 step by step (2) 使用Trace()跟踪输出
  • 原文地址:https://www.cnblogs.com/hare1925/p/12356421.html
Copyright © 2020-2023  润新知