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: 粘贴板

    文档 import 'package:flutter/services.dart'; /// 把文本复制进入粘贴板 Clipboard.setData(ClipboardData(text: &quo ...

  2. Baccarat凭什么吸引做市商?2021年将如何发展?

    在过去的一年里,基于资金池的AMM自动化做市商几乎统治了所有DeFi活动,他们没有订单簿,而是根据算法曲线提供资产.尽管在流动性和交易方面取得了令人惊叹的成绩,但是其自身具有无常损失.多代币敞口以及低 ...

  3. Windows Server2012 r2 nginx反向代理图片服务器

    1.下载nginx  http://nginx.org/en/download.html,本人下载的1.18.0版本 2.下载 Windows Service Wrapper(winsw.exe) v ...

  4. 死磕Spring之IoC篇 - 调试环境的搭建

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读 Spring 版本:5.1. ...

  5. 【HTB系列】靶机Teacher的渗透测试详解

    出品|MS08067实验室(www.ms08067.com) 本文作者:大方子(Ms08067实验室核心成员) Kali: 10.10.14.50 靶机地址:10.10.10.153 先用nmap 对 ...

  6. Gradle 差异化构建

    Compile 默认的依赖方式,任何情况下都会依赖. Provided 只提供编译时依赖,打包时不会添加进去. Apk 只在打包Apk包时依赖,这个应该是比较少用到的. TestCompile 只在测 ...

  7. 1.3 PHP+MYSQL+APACHE配置(序)

    本节对服务器端web服务进行配置.事实上,对于配置这个环境(WAMP)网上还是有很多教程的,大家可以通过网上的教程完成配置,也不必拘泥于本文.甚至网上有免费的服务器端软件可以选择,比如著名的phpst ...

  8. docker方式部署禅道

    一.概述 使用docker方式部署禅道简单,快速,不容易出错.比起编译安装要方便很多. 二.部署 环境说明 操作系统:centos 7.6 ip地址:10.212.82.65 docker版本:19. ...

  9. while(1)和system("pause")区别

    我们在调试时,有时候会用到这两个语句. 1.显而易见,第一个是一个循环函数,占cpu.占内存: 2.system("pause")是一个系统调用,占内存,不占cpu;这个开销还是有 ...

  10. Wireshark使用记录

    TCP/IP协议族里的协议众多 要一一精通比较困难,在一些紧急急需要分析主机.客户端的流量场景时,不懂协议也要上!下面就是用到哪里就记录到哪,有错误欢迎评论指出,多谢. wireshark这玩意相当于 ...