1、Linux文件属性

用root用户登录linux后,执行 ls -al 命令查看文件。显示如下:

文件属性示意图如下:

第一列代表这个文件的类型和权限

第一个字符代表这个文件是:目录、文件或链接文件等。

  • 若是【d】则是目录;
  • 若是【-】则是文件;
  • 若是【l】则表示为连接文件;
  • 若是【b】则表示设备文件里的可供存储的接口设备;
  • 若是【c】则表示设备文件里的串行端口设备,如鼠标、键盘等。

后面的9个字符以3个位一组,均为rwx的组合。其中r代表可读,w代表可写,x代表可执行。注意3个权限的位置不会改变,如果没有权限,就会出现减号(-)。

  • 第一组  为  “文件所有者的权限”
  • 第二组  为  “用户组的权限”
  • 第三组  为  “其他非本用户组的权限”

第二列表示有多少文件名连接到此节点

每个文件都会将它的权限和属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node。这个属性记录了有多少不同的文件名连接到相同的一个i-node号码。

第三列表示这个文件的“所有者账号”

第四列表示这个文件的所属的用户组

第五列为这个文件的大小,默认单位是B

第六列为这个文件的创建文件日期或者是最近的修改日期。

第7列为该文件的文件名

如果文件名之前多了一个 “.” ,则说明这个文件为“隐藏文件”,隐藏文件的list列表时,加-a参数可以显示。ls -al。

2、如何改变文件的权限和属性

  • chgrp  :  改变文件所属用户组
  • chown :  改变文件所有者
  • chmod:  改变文件的权限

2.1、改变文件所属用户组

chgrp 【-R】 dirname/filename  ...

-R :  进行递归的持续更改,也连同子目录下的所有文件、目录都更新成为这个用户组之意。常常用在更改某一目录内所有文件的情况。

范例:

chgrp  hy install.log    :   将install.log文件的用户组改为hy用户组。注意hy用户组必须要在/etc/group 文件内存在才可以。

2.2、改变文件的所有者

chown [-R]  账号名称  文件或目录

chown [-R] 账号名称:组名  文件或目录

-R:也是递归子目录。

范例:

chown bin install.log

chown root:root install.log

改变文件所有者和用户组的这两个命令的应用场景:复制文件,由于复制行为会复制执行者的属性和权限,因此复制后需要改变文件所属用户、用户组等。

2.3、改变文件的权限

文件权限有两种设置方法:数字类型改变权限和符号改变权限。

首先说明各个权限对应的数字:

  • r:  4
  • w:  2
  • x:1
  • 每种身份各自的三个权限分数是需要累加的。
  • 例如:权限为(-rwxrwx---)分数分表是:
  • owner = rwx = 4+ 2 + 1 = 7
  • group = rwx = 4+ 2+ 1 = 7
  • others = --- = 0+0 +0 = 0
  • 所以在设置权限时,该文件的权限数字就是770.

1)、数字类型改变文件权限方式

命令:  chmod [-R]  xyz  文件或目录

xyz : 代表权限数字。如770.

-R  : 进行递归的持续更改。

范例:

chmod 777 .bashrc   : 将文件.bashrc这个文件的所有权限设置都启用。

2)、符号类型改变文件权限方式

使用u、g、o三个字母代表user、group、others 3中身份。此外a代表all,即所有身份。

范例:

chmod u=rwx,go=rx  .bashrc

也可以增加或去除某种权限。

chmod a+w .bashrc

chmod a-x  .bashrc

3、目录和文件权限的意义

3.1、权限对于文件的重要性

  • r(read):可读取此文件的实际内容
  • w(write):可以编辑、新增或修改文件的内容(但是不含删除该文件)
  • x(execute):该文件具有可以被系统执行的权限。

3.2、文件对目录的重要性

目录的主要内容是记录文件名列表,文件名与目录有强烈的关联。

r(read):表示具有读取目录结构列表的权限,当具有读取一个目录的权限时,表示你可以查询该目录下的文件名数据,可以用ls命令将目录内容显示出来。

w(write):对目录来说是很强大的。表示你具有更改该目录结构的权限。

  • 新建新的文件和目录
  • 删除已存在的文件与目录
  • 将已存在的文件或目录重新命名
  • 转移该目录内的文件、目录位置
  • 总之,目录的w权限与该目录下面的文件名变动有关就对了。

x(execute):目录的x权限代表用户是否能进入该目录成为工作目录的用途。

因此,要开放目录给任何人浏览时,应该至少也要给与r及x权限,但是w权限不可以随便给。

4、Linux文件的种类及扩展名

4.1、文件的种类

  • 普通文件:纯文本文件、二进制文件、数据格式文件
  • 目录
  • 连接文件
  • 设备与设备文件
  • 套接字:数据接口文件,通常被用在网络上的数据连接。第一个属性为s,通常在/var/run  这个目录中可以看到这种文件类型。
  • 管道(FIFO,pipe):它的主要目的在解决多个程序同时访问一个文件所造成的错误问题。第一个属性为p

4.2、Linux文件扩展名

基本上linux的文件是没有所谓的“扩展名”的。一个linux文件能不能被执行,与它的第一列的10个属性有关,与文件名根本没有一点关系。只要你的权限中有x的话,即代表可以被执行。但是可以被执行和可以执行成功是不一样的。能不能执行成功,需要看文件的内容。

虽然如此,我们还是希望可以通过扩展名来了解该文件是什么东西,还是会以适当的扩展名来表示该文件是什么种类的。

以下是几种常用的扩展名:

  • *.sh:脚本或批处理文件。
  • *Z、*.tar、*.tar.gz、*.zip、*.tgz:经过打包的压缩文件。
  • *.html、*.php:网页相关文件。
  • 注意:从网络上传送到linux系统中,文件的属性和权限确实会被改变。

linux系统下文件长度限制

使用默认的Ext2/Ext3文件系统时,针对文件的文件名长度的限制为:

单一文件或目录的最大容许文件名为255个字符;

包含完整路径名称及目录(/)的完整文件名为4096个字符

5、Linux目录配置标准:FHS

因为利用linux来开发产品的团队或公司、个人实在太多了。如果每个人都用自己的想法来配置文件放置的目录,那么将可能造成很多管理上的困扰。后来就有了所谓的Filesystem Hierarchy Standard (FHS) 标准了。

该标准指出,其目的主要是希望让用户可以了解到已安装的软件通常放置于哪个目录下。FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据而已。

FHS依据文件系统使用的频繁与否和是否允许用户随意改动,而将目录定义为四种交互作用的形态。

FHS针对目录树架构仅定义出三层目录下面应该放置什么样的数据而已,分别是下面这三个目录:

  • / (root,根目录):与开机系统有关
  • /usr(UNIX software resource):与软件安装和执行有关
  • /var(variable):与系统运作过程有关。

Linux 的文件权限和目录配置的更多相关文章

  1. 第六章、Linux 的文件权限与目录配置

    第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...

  2. (转)Linux的文件权限与目录配置

    ref:https://www.cnblogs.com/ysocean/p/7712412.html#_label1_0 (转)Linux文件权限和目录配置 1.Linux命令的普遍语法格式 命令格式 ...

  3. 第六章Linux的文件权限与目录配置

    一.Linux用户分类 1.Linux用户分为:(文件|目录)所有者(OWN),(同组内的)用户组,其他人; 2.一个天神:root;,几乎能完成任何事.... 二.目录权限的意义 目录的权限和文件的 ...

  4. 第6章 linux的文件权限与目录配置

    6.1用户与用户组 用户,自己的抽屉 用户组,自己的家 其他人(others),外人 root,天神 /etc/passwd 所有的系统上的账号与一般身份用户,root的相关信息 /etc/shado ...

  5. 【转】第六章、Linux 的文件权限与目录配置

    原文网址:http://vbird.dic.ksu.edu.tw/linux_basic/0210filepermission.php 最近更新日期:2009/08/18 Linux最优秀的地方之一, ...

  6. Linux 的文件权限与目录配置

    用户和用户组 文件所有者 (owner) 用户组概念 (group) 其他人概念 (others) Linux文件权限概念 1. Linux文件属性 要了解Linux文件属性,那么有个重要的命令必须提 ...

  7. linux——(2)文件权限与目录配置

    概念一:用户与用户组 对linux下的每一个文件或者目录来说,访问者都有三种身份:所有者,用户组,其他人.这三种人对于同一个文件的权限是可以分开设定的. 概念二:linux文件权限 文件和目录都有3种 ...

  8. 鸟哥的linux私房菜——第五章学习(Linux的文件权限与目录配置)

    ******************第五章学习****************** 1.[重要的三个概念] 1).文件拥有者(使用者):User,该文件/文件夹只能我来读写: 2).群组:Group, ...

  9. Linux的文件权限与目录配置

    用户与用户组(Linux是一个多用户多任务的系统) 文件所有者   设置适当的权限,其他人无法看到自己的文件 用户组概念   属于同一个用户组的可以看到这个团体的公共信息,每个账户都可以有多个用户组的 ...

随机推荐

  1. C++ 面向对象的三大特性和五个原则

    1.三大特性: 封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏.一个类就是一个封装了数据以及操作这些数据的代码的逻辑实体.在一个对象内 ...

  2. get_k_data 接口文档 全新的免费行情数据接口

    get_k_data 接口文档 全新的免费行情数据接口 原创: Jimmy 挖地兔 2016-11-06 前言在tushareAPI里,曾经被用户喜欢和作为典范使用的API get_hist_data ...

  3. Python 实现 KD-Tree 最近邻算法

    这里将写了一个KDTree类,仅实现了最近邻,K近邻之后若有时间再更新: from collections import namedtuple from operator import itemget ...

  4. day22.面向对象初识

    1.面向对象引入 先来创建一个小游戏:人狗大战 # 定义一个狗 def Gog(name,blood,aggr,kind): dog = { 'name':name, 'blood':blood, ' ...

  5. Django----博客文章数据返回

    步骤1:新建视图函数 from django.shortcuts import render from django.http import HttpResponse; from blog.model ...

  6. 029 Es面试小节

    1.大纲 Es是什么?处理哪种业务逻辑用的多? Es类比数据库是什么? 对于数据库的字段.表等,在es中叫什么? Es的refresh把数据写到哪里? Es的数据如何变成检索和聚合索引的? Es的fl ...

  7. maya cmds pymel 'ESC' 退出 while, for 循环

    maya cmds pymel 'ESC' 退出 while, for 循环 import maya.cmds as cmds cmds.progressWindow(isInterruptable= ...

  8. ScriptEngine执行复杂js报数组越界

    import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineMan ...

  9. ubuntu“少折腾”

    1.python版本默认python3 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 sudo ...

  10. BZOJ.4151.[AMPPZ2014]The Cave(结论)

    BZOJ 不是很懂他们为什么都要DFS三次.于是稳拿Rank1 qwq. (三道题两个Rank1一个Rank3效率是不是有点高qwq?) 记以\(1\)为根DFS时每个点的深度是\(dep_i\).对 ...