2,Linux文件基本属性(基于Ubuntu示例进行讲解)

创建文件

  • 创建文件touch命令
  • 创建文件夹mkdir命令
  • 写入文件内容echo命令
bash 复制代码
# 创建文件夹,文件夹名称为demo_001
mkdir demo_001

# 创建文件,文件名称为demo_file_001.py
touch demo_file_001.py

# 写入内容到文件中,例如写入print("hello world")到demo_file_001.py文件中
echo 'print("hello world")' > demo_file_001.py

查看文件属性

查看文件属性,文件类型,文件主人的权限、文件所属组成员的权限、其他人的权限

bash 复制代码
# 写法1
ls -l

# 写法2(简写)
ll

至于这边的内容怎么看,网上都是例子,就不详细解释了(直接搜索Linux中ll内容含义即可)。

更改文件权限

  • chgrp更改文件所属组,将文件所属组修改为其他组
bash 复制代码
# 命令执行时,如果说没权限,则在命令行前面加上sudo尝试,仅限个人Linux系统哈



# chgrp命令实现修改文件所属组,将demo_file_001.py文件的所属组修改为ubuntu组

chgrp ubuntu demo_file_001.py




# 如果是目录文件,则使用-R参数将该目录下的所有文件全部都修改到对应组中

mkdir demo    # 创建目录文件夹

touch demo/demo_file_002.py    # 在demo文件夹下创建demo_file_002.py文件

chgrp -R ubuntu demo    
# 此时demo目录和目录下的所有文件(包括demo_file_002.py)全部都修改所属组为ubuntu
  • chown:更改文件所有者(owner),也可以修改文件所属组
bash 复制代码
# 基础语法
chown [-R] 文件所有者 文件名    # 修改"文件名"的主人为"文件所有者"
chown [-R] 文件所有者:所属组 文件名    # 修改"文件名"的主人为"文件所有者",同时组修改为"所属组"


# 执行命令
touch backend.log    # 创建backend.log文件
chown ubuntu backend.log    # 将backend.log文件的主人修改为ubuntu
chown ubuntu:ubuntu backend.log    # 将backend.log文件的主人修改为ubuntu、所属组修改为ubuntu

# 查看,通过ls -l命令查看文件的所属组和所有者
ls -l
  • chmod:更改文件权限属性,文件所有者的权限、文件所属组内成员的权限、其他人的权限【均指操作当前文件时,拥有的权限】
权限 对应字母 对应权重
r 4
w 2
执行 x 1
bash 复制代码
'''
    linux最基础的权限就9个:
        1,文件所有者(对该文件)的读、写、执行的权限;
        2,文件所属组内成员(对该文件)的读、写、执行的权限;
        3,其他人(对该文件)的读、写、执行的权限
'''

## 语法
chmod [-R] xyz 文件或目录

[-R]:进行递归操作,权限将在"文件或目录下全部更改"
xyz:分别是文件所有者、文件所属组成员、其他成员的权限权重相加(顺序固定)


## 修改权限


chmod 777 demo_file_002.py    
# 修改demo_file_002.py文件的权限为都可以读、写、执行


chmod 700 demo_file_002.py    
# 修改demo_file_002.py文件的权限为只有文件所有人可以读、写、执行,所属组内成员 和 其他人都不可以读、写、执行



## 举例
761:
文件所有者的权重为7=4+2+1=r+w+x,所以文件所有者的权限是可以读、写、执行;
文件所属组内成员的权限为6=4+2=r+w,所以文件所属组内成员的权限是可以读、写,不能执行该文件;
其他人的权限为1=x,所以其他人的权限是可以执行该文件,不可以读、写。

| 身份 | user用户 | group组 | others其他 |

对应字母 u g o
bash 复制代码
# 通过对应身份的字母设置权限

chmod u=rwx,g=rx,o=x demo_file_002.py

1,设置用户U的权限为rwx,即可以读、写、执行;
2,设置所属组内成员的权限为rx,即可以读、执行,不可以写;
3,设置其他权限为x,即可以执行,不可以读、写。
相关推荐
RisunJan6 小时前
Linux命令-rlogin(远程登录)
linux·运维
深圳恒讯6 小时前
菲律宾云服务器与传统VPS的架构差异
运维·服务器·架构
蓝天下的守望者7 小时前
svt_apb_if里的宏定义问题
运维·服务器·数据库
小林ixn7 小时前
从“玩具工具”到“跨语言利器”:MCP 协议实战解析
运维·服务器·网络
2603_954708318 小时前
全维度容错设计,打造微电网安全运行屏障
服务器·网络·数据库·人工智能·分布式·安全
其实防守也摸鱼9 小时前
蓝队相关知识学习(1)---常用堡垒机和服务器
服务器·功能测试·学习·网络安全·网络攻击模型·攻防对抗·蓝队
大飞记Python9 小时前
Linux命令速查手册(测试开发4年实战总结,附PDF)
linux·网络·pdf
拥抱太阳061611 小时前
HarmonyOS 应用开发《掌上英语》第2篇:ArkTS 模块化开发:Index.ets 统一导出模式深度解析
pytorch·ubuntu·harmonyos
顾喵11 小时前
PetaLinux 2017.4 实操指南:PREEMPT_RT实时补丁移植+Zynq PL中断UIO用户态配置(超完整避坑版)
linux
小樱花的樱花11 小时前
Linux 线程的创建
linux·c语言·开发语言