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. 千万不要错过VAST,NGK算力的下一个财富机会!

    我们把目光投向NGK市场,近来,NGK接连新币,推出了SPC后,又有VAST.在目前市场上债券收益率已经趋近于零的情况下,世界上的大多数央行都在试图让本国货币贬值,所以在此时寻找其他保值资产是合理的. ...

  2. 云原生系列6 基于springcloud架构风格的本地debug实现

    debug是程序员在日常开发中最常使用的操作, 那么,你是如何快速在微服务架构风格下快速debug后端服务呢? 开发现状 开发的理想状态 本地调测的使用步骤 登录智能网关 如果集成开发环境是在本地局域 ...

  3. int和Integer的比较详解

    说明: int为基本类型,Integer为包装类型: 装箱: 基本类型---> 包装类型 int ---> Integer 底层源码: .intValue() 拆箱: 包装类型---> ...

  4. 翻译:《实用的Python编程》02_01_Datatypes

    目录 | 上一节 (1.7 函数) | 下一节 (2.2 容器) 2.1 数据类型和数据结构 本节以元组和字典为代表介绍数据结构. 原始数据类型 Python 有一些原始数据类型: 整数 浮点数 字符 ...

  5. Maven的-pl -am -amd参数

    本文转载自Maven的-pl -am -amd参数学习 昨天maven的deploy任务需要只选择单个模块并且把它依赖的模块一起打包,第一时间便想到了-pl参数,然后就开始处理,但是因为之前只看了一下 ...

  6. 2021-2-26:为什么需要 System.gc() ?

    JVM 默认启动参数中,DisableExplicitGC 为 false,ExplicitGCInvokesConcurrent 为 false,对于大多数 GC (除了 ZGC 的其他 GC,包括 ...

  7. DLL劫持学习及复现

    0x01 dll简介 在Windows系统中,为了节省内存和实现代码重用,微软在Windows操作系统中实现了一种共享函数库的方式.这就是DLL(Dynamic Link Library),即动态链接 ...

  8. AtCoder Beginner Contest 186

    A Brick int n, m; int main() { scanf("%d%d", &n, &m); printf("%d\n", n / ...

  9. rest framework parsers

    解析器 机交互的Web服务更倾向于使用结构化的格式比发送数据格式编码的,因为他们发送比简单的形式更复杂的数据 -马尔科姆Tredinnick,Django开发组 REST框架包含许多内置的解析器类,允 ...

  10. 安装VMTools失败的三类解决方法(Windows、Linux、MacOs)

    前言 写这篇笔记的原因,是前几天在虚拟机 Vmware 中重新安装了几个操作系统,突然发现 VMTools 这个工具成了一个特殊的问题,以前还没有发现,因为通常它就给你自动安装了.但是大多数时候也是需 ...