Linux文件权限信息和Linux文件与文件夹的管理

news2024/11/15 21:44:14

目录

  • 前言
  • 一、系统环境
  • 二、Linux文件权限信息
    • 2.1 查看Linux文件权限信息
    • 2.2 修改Linux文件权限信息
      • 2.2.1 chmod命令
      • 2.2.2 chown命令
  • 三、Linux文件与目录的管理
    • 3.1 查看文件或文件夹
      • 3.1.1 查看文件内容
      • 3.1.2 查看文件夹内容
    • 3.2 新增文件或文件夹
      • 3.2.1 新增文件
      • 3.2.2 新增文件夹
    • 3.3 删除文件或文件夹
    • 3.4 修改文件或文件夹
    • 3.5 查找文件或文件夹
    • 3.6 有关文件或文件夹的其他命令
    • 3.7 特殊符号
  • 总结

前言

本篇文件介绍Linux系统的文件权限信息,包括查看文件权限信息和修改文件权限信息;并介绍Linux系统实现文件和文件夹管理的各种命令;最后介绍常用的特殊符号,包括管道符、重定向符。

一、系统环境

  • 虚拟机版本:VMware® Workstation 15 Pro
  • Linux镜像文件:CentOS-7-x86_64-Minimal-1804.iso
  • 主机系统:Windows 11 家庭中文版
  • 主机系统类型:64 位操作系统, 基于 x64 的处理器
  • 远程连接工具:MobaXterm中文版本

二、Linux文件权限信息

2.1 查看Linux文件权限信息

Linux是一个多用户多任务的操作系统,为了提高系统的安全性,Linux系统中的不同的用户对一个同文件(包括目录文件)可能拥有不同的操作权限。不同的用户组对同一个文件也可能拥有不同的操作权限。

语法格式:ls -l /
以列表的形式展现根目录下的文件信息

在这里插入图片描述
以上信息,在这里只关注第一列、第三列和第四列的信息。

  • 第一列信息
    第一列的信息由十个字符组成,即十个位置。十个位置又可分为四类信息。
    第一个位置表示文件类型(file type)
    第二、三、四位置表示第三列用户所拥有的操作权限(user permissions)
    第五、六、七位置表示第四列用户组所拥有的操作权限(group permissions)
    第八、九、十位置表示其他用户或其他用户组所拥有的操作权限(other permissions)
    对于权限信息的描述,以rwx的顺序描述,如果没有对应的权限,则为-

    在这里插入图片描述
  1. 文件类型(file type)
    字符文件类型
    d文件夹
    -文件
    l链接文档(其指向一个文件,例如上图的bin文件,其指向/usr/bin)
  2. 操作权限(operator permission)
    字符操作权限
    rreadable,读权限(对于文件,可以查看文件内容;对于文件夹,可以查看文件夹的文件)
    wwriteable,写权限(对于文件,可以修改文件内容;对于文件夹,文件夹内创建、删除文件)
    xexcuteable,执行权限(对于文件,可将文件作为程序执行;对于文件夹,可以cd到此文件夹)
    -无权限
  • 第三列信息
    文件的所属用户(文件属主),对应于用户权限字段(user permissions)
  • 第四列信息
    文件的所属用户组(文件属组),对应于用户组权限字段(group permissions)

根据以上描述,以/home目录为例,
在这里插入图片描述

其文件类型为d,文件夹;
用户名root拥有的权限为rwx,说明拥有这个文件夹的所有权限;
用户组root拥有的权限为r-x,说明用户组root拥有这个文件夹读权限和执行权限,而没有写权限。
其他用户或用户组拥有的权限为r-x,说明其他用户和其他用户组拥有这个文件夹的读权限和执行权限,而没有写权限。

2.2 修改Linux文件权限信息

2.2.1 chmod命令

文件的所属用户可以修改对应文件的权限信息;root用户可以修改所有文件的权限信息。
通过chmod命令,可以修改文件的权限信息。

语法格式:chmod [-R] 权限 文件或文件夹
-R 表示当修改的对象为文件夹时,将文件夹内的文件权限一起修改

对于参数权限,分两种方式说明
方式一:以字符描述方式修改
格式的顺序:操作对象 操作 权限
操作对象有:u(表示所属用户)、g(表示所属用户组)、o(表示其他用户或用户组)、a(表示所有用户)
操作有:=(表示设定)、+(表示添加)、-(表示删除)
权限有:r(表示读权限)、w(表示写权限)、x(表示执行权限)、没有对应的权限则省略不写
注意:不同的对象使用逗号隔开

例子1,
chmod u=rwx,g=rx,o=rx test.txt
表示将test.txt文件的权限信息修改为 所属用户权限:rwx,所属用户组权限:rx,其他用户:rx

例子2,
chmod -R u=rwx,g=x,o=r test
表示将文件夹以及文件夹内的文件权限信息修改为 所属用户:rwx,所属用户组:x,其他用户:r

例子3,
chmod a+x test.txt
表示向文件test.txt的所有用户添加x权限,包含了所属用户,所属用户组。


方式二:以数字描述方式修改
原理:把rwx看做3个二进制位,对于每个二进制位,1表示对应权限有效,0表示对应权限无效。


二进制  十进制	权限
100		4		r
010		2		w
001		1		x
000     0       -

假设要修改所属用户的权限为rwx,则对应的二进制位111,二进制111对应的十进制数为7	
那么,在修改所属用户权限时,数字7表示其要修改的权限。

假设要修改所属用户组的权限为r-x,则对应的二进制位101,二进制101对应的十进制数为5
那么,在修改所属用户组权限时,数字5表示其要修改的权限

例子1,
chmod 755 test.txt
表示将test.txt文件的权限信息修改为 所属用户权限:rwx,所属用户组权限:rx,其他用户:rx

例子2,
chmod -R 714 test
表示将文件夹以及文件夹内的文件权限信息修改为 所属用户:rwx,所属用户组:x,其他用户:r

2.2.2 chown命令

只有root用户可以修改文件的所属用户和所属用户组
通过chown命令,可以修改文件的所属用户和所属用户组。

语法格式:chown [-R] [所属用户][:][所属用户组] 文件或文件夹
-R 表示对文件夹的内容应用相同的规则

例子1,
chown pyc test.txt
将test.txt文件所属用户修改为pyc

例子2,
chown :pyspring test.txt
将test.txt文件所属用户组修改为pyspring

例子3,
chown pyc:pyspring test.txt
将test.txt文件所属用户修改为pyc,同时将所属用户组修改为pyspring

三、Linux文件与目录的管理

3.1 查看文件或文件夹

3.1.1 查看文件内容

  • cat命令
    从第一行开始显示文件内容
语法格式:cat 文件
  • more命令
    一页一页的显示文件内容
语法格式:more 文件
  • tail命令
    显示文件末尾的内容
语法格式:tail [-f -num] 文件
-f 		表示持续监听文件的内容
-num 	num表示要查看文件尾部几行内容,默认10行
  • vi命令
    vi文本编辑器打开文件后可查看文件内容
语法格式:vi 文件
  • grep命令
    从文件中通过关键字过滤文件行
语法格式:grep [-n] 关键字 文件
-n 			表示在结果中显示匹配行的行号
关键字		表示要过滤的关键字,带有空格或其他特殊符号,使用""
文件  		表示要过滤内容的文件,可作为内容输入端口(通常配合管道符使用)

  • wc命令
    统计文件内容的行数、单词数量等
语法格式:wc [-c -m -l -w] 文件
-c			表示统计bytes数量
-m			表示统计字符数量
-l			表示统计行数
-w			表示统计单词数量
文件  		被统计的文件,可作为内容输入端口(通常配合管道符使用)

3.1.2 查看文件夹内容

  • ls命令
    查看某个文件夹下的文件
语法格式:ls [选项] [文件夹]
选项说明如下
-l 以列表形式展示文件夹的文件
-a 展示文件夹的全部文件,默认不展示隐藏文件
-h 以易于阅读的形式展示,需要与-l一起使用
以上命令可以组合使用
不写查看文件夹参数,则查看当前工作目录下的文件

例子1,
ls -l
表示以列表的形式展示当前目录下的文件

例子2,
ls -lh /home/pyc/test
表示以列表的形式展示test文件夹下的文件

3.2 新增文件或文件夹

3.2.1 新增文件

  • touch命令
语法格式:touch 文件名

3.2.2 新增文件夹

  • mkdir命令
语法格式:mkdir [-p] 文件夹名
-p		表示自动创建不存在的父目录,适用于创建连续多层级目录

3.3 删除文件或文件夹

  • rm命令
语法格式:rm [-f -r] 参数1 参数2 ... 参数N
-f 	force,表示强制删除
-r	表示递归删除,用于删除文件夹
参数1 参数2 ... 参数N 表示要删除的文件或文件夹

例子1,
rm test.txt
表示删除当前工作目录下的test.txt文件

例子2,
rm -rf /test
表示强制删除根目录下的test文件夹
注意:删除文件时,需要对应权限才可以删除,根目录下的文件或文件夹需要root权限

例子3,
关于通配符*的使用
通配符*可以进行模糊匹配
rm test*.txt
表示删除以test开头的.txt文件

注意:非必要情况,请不要在root用户下执行以下两个命令
rm -rf /
rm -rf /*
效果等同于在windows上对c盘进行格式化

3.4 修改文件或文件夹

  • cp命令
    cp命令可以用于复制文件或文件夹
语法格式:cp [-r] source dest
-r 表示递归复制,用于文件夹的复制
source  表示被复制的源文件或源文件夹
dest	表示复制的目的地

  • mv命令
    mv命令可以用于移动文件或文件夹
语法格式:mv source dest
source 	表示被移动的源文件或源文件夹
dest	表示移动的目的地,如果目的地不存在,则相当于进行改名

3.5 查找文件或文件夹

  • pwd命令
    显示当前的工作目录
语法格式:pwd
  • which命令
    查找某个命令的文件路径
语法格式:which 命令
  • find命令
    按照文件名或文件大小查找文件
按文件名查找
语法格式:find 起始路径 -name "被查找文件名"

例子1,
find / -name "test"
表示查找的起始路径为根目录,被查找的文件名为test

例子2,
find / -name "test*"
表示查找的起始路径为根目录,使用通配符*,查找以test开头的文件

按文件大小查找
语法格式:find 起始路径 -size [+ -]num[k M G]
+ 		表示大于
- 		表示小于
num 	文件大小
k		文件大小单位:KB
M		文件大小单位:MB
G		文件大小单位:GB

例子1,
find / -size +100k
表示查找的起始路径为根目录,被查找的文件大小大于100KB

3.6 有关文件或文件夹的其他命令

  • cd命令
    切换到某个文件夹(目录)
语法格式:cd 文件夹

3.7 特殊符号

  • 管道符
    管道符的作用是将符号左边命令的结果作为符号右边命令的输入
|(管道符)
例子1,
grep "pyspring" test.txt | wc -l
表示使用grep对test.txt进行过滤,查找带有pyspring的文件行,wc命令将对grep的结果进行行数统计
  • 反引号
    被反引号包起来的命令,可以得到命令的结果,而不是命令本身
``(反引号)
例子1,
echo `pwd`
echo是输出内容到屏幕的命令,这里输出的是pwd命令运行的结果
  • 重定向符
>	将符号左侧命令的结果,覆盖写入到文件中
>>	将符号左侧命令的结果,追加写入到文件中

例子1,
echo "Hello world" > test.txt
表示将echo执行的命令结果覆盖写入到文件test.txt中

例子2,
echo "Hello world" >> test.txt
表示将echo执行的命令结果追加写入到文件test.txt中
  • 通配符
    通配符可以实现文件的模糊匹配
*(通配符)
例子1,
find /home/pyc -name "test*"
表示查找的起始路径为/home/pyc,查找以test开头的文件

总结

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1812963.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始利用MATLAB进行FPGA设计(七)固化程序

FPGA开发板:AX7020;Xilinx 公司的 Zynq7000 系列的芯片XC7Z020-2CLG400I,400引脚 FBGA 封装。 HARDWARE PLATFORM在2019以后的vivado中已经没有了。本期实际上已经与MATLAB无关,主要介绍通过VITIS等方法进行程序固化。 目录 ZY…

光伏+储能,势在必行!

随着全球对可再生能源需求的不断增长,光伏行业正迎来前所未有的发展机遇。然而,光伏发电的间歇性和不稳定性特点,使得储能技术成为解决其并网难题、提高能源利用效率的关键。因此,“光伏储能”的组合,已成为行业发展的…

老生常谈!程序员为什么要阅读源代码?

大家好,我是码农先森。 阅读源码这是一个老生常谈的话题了,但又是很多人想做又没有付出行动的事情。前段时间我研究了 Swoole 的源代码,并且输出了系列的源码分析文章「感兴趣的朋友可以翻阅以前的文章」。虽然这个过程很枯燥和艰难&#xf…

c++ 6.11

作业: 思维导图: 作业题: 搭建一个货币的场景,创建一个名为 RMB 的类,该类具有整型私有成员变量 yuan(元)、jiao(角)和 fen(分),并且…

VMware Workstation虚拟机进入U盘PE系统

注意事项 VMware Workstation虚拟机版本不能高于16.1.2版本!!! 本实验使用的版本如下 实际操作 在已安装好的虚拟机处右键,点击设置。虚拟机安装win10教程请参考VMware Workstation安装win10操作系统-CSDN博客 在弹出的窗口点击…

卷产品 、卷生态,百度这款AI产品卷到了第一

万万没想到,最先跑出来的AI杀手级应用竟然是百度文库。 6月7日,“AI产品榜”(aicpb.com)发布了最新的5月国内总榜榜单,百度文库AI功能以6536万的月访问量一骑绝尘,连续两个月霸榜第一。 乍看有些不可思议&…

2-1基于matlab的拉普拉斯金字塔图像融合算法

基于matlab的拉普拉斯金字塔图像融合算法,可以使部分图像模糊的图片清楚,也可以使图像增强。程序已调通,可直接运行。 2-1 图像融合 拉普拉斯金字塔图像融合 - 小红书 (xiaohongshu.com)

docker安装elasticsearch8和kibana,带ik分词器

全文目录,一步到位 1.前言简介1.1 专栏传送门 2. elasticsearch和kibana安装2.1 准备工作2.1.1 下载elasticsearch2.1.2 下载kibana镜像 2.2 创建并运行es容器2.2.1 创建es网络2.2.2 创建es容器2.2.3 放行端口2.2.4 访问查看结果> 步骤一: 点击高级, 然后继续访问> 步骤二…

使用#sortablejs插件对表格中拖拽行排序#Vue3#后端接口数据

使用#sortablejs对表格中拖拽行排序#Vue3#后端接口数据 *效果&#xff1a; 拖动表格行排序 首先安装插件sortable npm install sortablejs --save代码&#xff1a; <template><!-- sortable.js 进行表格排序 --><!-- 演示地址 --><div class"dem…

我要成为算法高手-双指针篇

目录 什么是双指针?问题1&#xff1a;移动零问题2&#xff1a;复写零问题3&#xff1a;快乐数问题4&#xff1a;盛最多水的容器问题5&#xff1a;有效三角形个数问题6&#xff1a;查找总价格和为目标值的两个商品(两数之和)问题7&#xff1a;三数之和问题8&#xff1a;四数之和…

Nextjs 集成TinyMCE实现富文本编辑器

目录 一、导入依赖 二、动态导入 三、完整案例 四、参考文档 一、导入依赖 yarn add tinymce/tinymce-react二、动态导入 import dynamic from next/dynamic;const Editor dynamic(() > import(tinymce/tinymce-react).then(mod > mod.Editor),{ssr: false} ); 三…

力扣hot100:394. 字符串解码(递归/括号匹配,字符串之间相对顺序)

LeetCode&#xff1a;394. 字符串解码 本题容易想到用递归处理&#xff0c;在写递归时主要是需要明确自己的递归函数的定义。 不过我们也可以利用括号匹配的方式使用栈进行处理。 1、递归 定义递归函数string GetString(string & s,int & i); 表示处理处理整个numbe…

Django CreateView视图

CreateView是Django提供的一个基于类的视图&#xff0c;用于处理创建新对象的操作。它可以帮助你轻松地创建一个表单页面&#xff0c;用户可以通过这个页面创建新的对象。 1&#xff0c;添加视图 Test/app3/views.py from django.shortcuts import render# Create your views…

汇聚荣科技有限公司实力如何?

汇聚荣科技有限公司实力如何?在科技日新月异的今天&#xff0c;一个公司的实力往往体现在其技术创新能力、市场占有率、团队专业度、客户满意度以及财务健康状况等多个维度。针对“汇聚荣科技有限公司”这一话题&#xff0c;我们将从这五个方面进行深入探讨。 一、技术创新能力…

易舟云财务软件:数字化时代的财务管家

在数字化浪潮的推动下&#xff0c;财务软件成为了企业提升财务管理效率、实现数字化转型的关键工具。易舟云财务软件&#xff0c;正是这样一款深受企业喜爱的财务管理系统。本文将带你详细了解易舟云财务软件的特点、版本区别以及如何使用它来优化财务工作。 易舟云财务软件的特…

2024050901-重学 Java 设计模式《实战访问者模式》

重学 Java 设计模式&#xff1a;实战访问者模式「模拟家长与校长&#xff0c;对学生和老师的不同视角信息的访问场景」 一、前言 能力&#xff0c;是你前行的最大保障 年龄会不断的增长&#xff0c;但是什么才能让你不慌张。一定是能力&#xff0c;即使是在一个看似还很安稳…

格式化输出相关

格式化输出 使用print() %格式化 语法 “%[零个或一个或多个辅助指令]<格式化符号>”%(一个或多个变量、表达式、值) 格式化符号 %c 格式化为字符&#xff0c;整数或字符 %r 使用repr()函数格式化字符串 %s 使用str()函数格式化为字符串 %d 格式化为整数 %u…

Mybatis05-一对多和多对一处理

多对一和一对多 多对一 多对一的理解&#xff1a; 多个学生对应一个老师 如果对于学生这边&#xff0c;就是一个多对一的现象&#xff0c;即从学生这边关联一个老师&#xff01; 结果映射&#xff08;resultMap&#xff09;&#xff1a; association 一个复杂类型的关联&…

扩展学习|风险管理的文献综述汇总(持续更新向)

一、风险管理发展历程和趋势综述&#xff08;2007年发表&#xff09; 文献来源&#xff1a;[1]严复海,党星,颜文虎.风险管理发展历程和趋势综述[J].管理现代化, 2007(2):4.DOI:CNKI:SUN:GLXX.0.2007-02-009. 简介&#xff1a;该文以风险管理发展历程中的大事件为线索, 对风险管…

设计模式-享元模式(结构型)

享元模式 享元模式是一种结构型模式&#xff0c;它主要用于减少创建对象的数量&#xff0c;减少内存占用。通过重用现有对象的方式&#xff0c;如果未找到匹配对象则新建对象。线程池、数据库连接池、常量池等池化的思想就是享元模式的一种应用。 图解 角色 享元工厂&#xf…