Linux 文件基本属性

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。

为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在Linux中我们通常使用以下两个命令来修改文件或目录所属用户与权限。

  • chown (change ownerp) : 修改所属用户与组
  • chmod (change mode) : 修改用户的权限

  1. 字符 1:文件的属性

    • d : 目录
    • - : 文件
    • l : 链接稳定(link file)
    • b : 表示为装置文件里面的可供存储的接口设备
    • c : 表示为装置文件里面的串行端口设备,例如键盘鼠标
  2. 剩下字符三个一组:均为rwx的三个参数的组合,其中,r代表可读,w代表可写,x代表可执行,无权限便会为-号,顺序不会改变。

文件属主和属组

对于文件来说,都有一个特定的所有者,也就是对该文件具有所有权的用户。

同时,在linux中,用户是按组分类的,一个用户属于一个或多个组。

文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。

对root用户来说,一般情况下,文件的权限对其不起作用。

更改文件属性

chgrp:更改文件属组

chgrp [-R] 属组名 文件名
  • R:递归更改文件权限

chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

chmod:更改文件9个属性

chmod [-R] xyz 文件或目录

Linux文件属性有两种设置方法,一种是数字,一种是符号。

Linux文件的基本权限就有九个,分别是owner/group/others(拥有者/组/其他)三种身份有自己的read/write/execute权限。

文件的权限字符为: -rwxrwxrwx,这九个权限是三个一组的。其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:

  • r : 4
  • w : 2
  • x : 1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:-rwxrwx---分数则是:

  • owner = rwx = 4+2+1=7
  • group = rwx = 4+2+1=7
  • others = --- = 0

选项与参数:

  • xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加
  • -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

符号类型改变文件权限

还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

那么我们就可以使用 u, g, o 来代表三种身份的权限。

chmod u,g,o,a + (加入) - (除去) = (设定) r,w,x 文件或目录
chmod u=rwx,g=rx,o=r file

Linux 文件与目录管理

Linux的目录结构为树状结构,最顶级的目录为根目录/。

其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

处理目录的常用命令

  • ls (list files):列出目录及文件名

    • -a : 全部文件,连同隐藏文件
    • -d : 仅列出目录本身,不列出目录内的文件数据
    • -l : 长数据串列出,包含文件的属性与权限等等
  • cd (change directory):切换目录

    # 绝对路径
    cd /root/file/
    # 相对路径
    cd ./file/
    # 回到家目录
    cd ~
  • pwd (print work directory):显示目前的目录

    # 显示出确实的路径,而非使用连接(link)路径
    pwd [-P]
  • mkdir (make directory):创建一个新的目录

    # -m : 配置文件的权限,直接配置
    # -p : 帮助你直接将所需要的目录(包含上一级目录)递归创建起来
    mkdir [-mp] 目录名称
    mkdir -m 711 file
  • rmdir (remove directory):删除一个空的目录

    rmdir [-p] 目录名称
    # -p : 连同上一级空目录也一起删除
  • cp (copy file):复制文件或目录

    cp [-adfilprsu] 来源档(source) 目标档(destination)
    cp [options] source1 source2 source3 .... directory
  • rm (remove):删除文件或目录

    rm [-fir] 文件或目录
    # -f : 就是force的意思,忽略不存在的文件
    # -i : 互动模式,在删除前会询问使用者是否动作
    # -r : 递归删除
  • mv (move file):移动文件或目录,或修改文件与目录的名称

    mv [-fiu] source destination
    mv [options] source1 source2 source3 .... directory
    # -f : 如果目标文件已经存在,不会询问而直接覆盖
    # -i : 若目标文件已经存在,询问是否覆盖
    # -u : 若目标文件已经存在,且source比较新,才会升级(update)

可以使用 man [命令] 来查看各个命令的使用文档

文件内容查看

Linux系统中使用以下命令来查看文件的内容:

  • cat : 由第一行开始显示文件内容
  • tac : 从最后一行开始显示
  • nl : 显示的时候,顺道输出行号
  • more : 一页一页的显示文件内容
  • less : 与more类似,比more更好的是,可以往前翻页
  • head : 只看头几行
  • tail : 只看后几行

Linux 文件基本属性与目录管理 (chmod chown ls cp mv cat )的更多相关文章

  1. centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask 第四节课

    centos 目录文件管理 mkdir,rm,touch,误删文件extundelete,cp,mv,cat,more,less ,head,tail,chown,chmod ,umask  第四节课 ...

  2. Linux基础(10)AIO项目设计与POSIX文件操作和目录管理

    实现fast-cp :拷贝文件到目标对象 Linux的七种文件类型 :https://blog.csdn.net/linkvivi/article/details/79834143 ls -al :h ...

  3. Linux 文件基本属性(转)

    Linux 文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规 ...

  4. 六、Linux 文件基本属性

    Linux 文件基本属性 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规 ...

  5. zabbix监控linux文件的一个目录大小

    监控linux文件的一个目录大小 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.       欢迎加入:高级运维工程师之路 598432640 我们知道,Linux自带的一些监控模板 ...

  6. Linux 文件基本属性: chown修改所属组 和 chmod修改文件属性命令

    [root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin -rwxrwxr-x 4 root root 4096 ...

  7. Linux 学习笔记03丨Linux文件系统、文件基本属性、目录处理及文件查看

    Chapter 2. 文件系统 2.1 Linux 系统目录结构 命令窗口下输入命令: $ ls /,能够看到根目录下的全部目录及文件 树状目录结构为: 最顶级的目录: / :根目录 / 是根目录,~ ...

  8. Linux文件与目录管理 - ls, cp, mv

    [root@www ~]# ls [-aAdfFhilnrRSt] 目录名称 [root@www ~]# ls [--color={never,auto,always}] 目录名称 [root@www ...

  9. CentOS(七)--Linux文件类型及目录配置

    这篇随笔将会对Linux系统的文件类型以及Linux的目录结构进行详细补充(linux中目录管理和权限非常重要,特别是在linux安装数据库类软件). 一.Linux更改文件权限的两种方式 在之前的一 ...

随机推荐

  1. Flutter 避免阻塞ui线程

    import 'dart:async'; import 'dart:isolate'; import 'package:flutter/material.dart'; import 'package: ...

  2. Flutter: moor_flutter库,简化sqlite操作

    入门 video moor_flutter 示例代码仓库 install dependencies: ... moor_flutter: dev_dependencies: ... moor_gene ...

  3. SpringBoot+Vue豆宝社区前后端分离项目手把手实战系列教程01---搭建前端工程

    豆宝社区项目实战教程简介 本项目实战教程配有免费视频教程,配套代码完全开源.手把手从零开始搭建一个目前应用最广泛的Springboot+Vue前后端分离多用户社区项目.本项目难度适中,为便于大家学习, ...

  4. [转]ROS Q&A | How to read LaserScan data

    http://www.theconstructsim.com/read-laserscan-data/ Step 1. Open a project on ROS Development Studio ...

  5. hadoop环境搭建:完全分布式

    目录 1.硬件配置 2.软件版本 3.准备工作 3.1.建立虚拟机,网络设置为桥接模式 3.2.更改主机名 3.3.绑定主机名和IP,建立各主机间的联系 3.4.关闭防火墙 3.5.配置宿主机host ...

  6. EF多个表映射

    public class Media // One entity table { public int Id { get; set; } public string Name { get; set; ...

  7. HTTP常用请求头大揭秘

    本文为<三万长文50+趣图带你领悟web编程的内功心法>第四个章节. 4.HTTP常用请求头大揭秘 上面列出了报文的各种请求头.响应头.状态码,是不是感到特别晕呢.这节我们就专门挑一些最常 ...

  8. TextView 的append后面 马上调用fullScroll(),会发现无法滚动到真正的底部

    如果在TextView的append后面马上调用fullScroll,会发现无法滚动到真正的底部,这是因为Android下很多(如果不是全部的话)函数都是基于消息的,用消息队列来保证同步,所以函数调用 ...

  9. 7.vue组件(二)--双向绑定,父子组件访问

    本文主要说两件事 1. 如何实现父子组件之间的双向绑定 2. 父组件如何访问子组件的data,method, 子组件如何访问父组件的data,method等 一. 如何实现父子组件之间的双向绑定 案例 ...

  10. vue打开新窗口并且实现传参,有图有真相

    我要实现的功能是打开一个新窗口用来展示新页面,而且需要传参数,并且参数不能显示在地址栏里面,而且当我刷新页面的时候,传过来的参数不能丢失,要一直存在,除非我手动关闭这个新窗口,即浏览器的标签页. 通过 ...