学习LINUX第3天

article/2025/8/27 16:33:55

今日任务:

基本文件属性、文件与目录管理、用户和用户组管理

[root@localhost ~]#   

分别代表:
1、用户名:root
2、主机名:localhost
3、当前路径:~当前用户的home目录
4、权限源标志位:
#代表root,$代表普通用户


基本文件属性

在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。

对于一个文件来说,用户可以分为三种类型:文件所有者、文件所属组的同组用户、其他用户

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

输入下面的命令,可显示文件属性及不同用户的权限

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

解释:

 

第0位代表属性

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

 rwx 的三个参数为一组。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 这三个权限的位置不会改变,如果没有权限,就会出现减号 - 。

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


    更改文件属性

    1、chgrp:更改文件属组

    chgrp [-R] 属组名 文件名
    

    参数选项

    • -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。

    2、chown:更改文件所有者(owner),也可以同时更改文件所属组。

    chown [–R] 所有者 文件名
    chown [-R] 所有者:属组名 文件名
    

    3、chmod:更改文件属性

    • 数字法

    文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的,可以利用二进制来代表各个权限。

    举例:-rwxr-xr--

    owner:rwx,4+2+1=7

    group:r-x,4+1=5

    others:r--,4

    则这个权限可以用数字754表示

     chmod [-R] xyz 文件或目录

    选项与参数:

    • xyz : 就是数字类型的权限属性。
    • -R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

    举例:将 .bashrc 这个文件所有的权限都设定启用

    [root@www ~]# ls -al .bashrc
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    [root@www ~]# chmod 777 .bashrc
    [root@www ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc
    

    复习:如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件

    • 符号法

    user:用户

    group:组

    others:其他

    使用 u, g, o 来代表三种身份的权限,a表示all,即全部

    chmodu
    g
    o
    a
    +(加入)
    -(除去)
    =(设定)
    r
    w
    x
    文件或目录

    举例:将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 

    #  touch test1    // 创建 test1 文件
    # ls -al test1    // 查看 test1 默认权限
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
    # chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
    # ls -al test1
    -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
    

    如果要将权限去掉而不改变其他已存在的权限,例如要拿掉全部人的可执行权限,则:

    #  chmod  a-x test1
    # ls -al test1
    -rw-r--r-- 1 root root 0 Nov 15 10:32 test1

    什么是挂载?

    Linux系统中“全部皆文件”,一切文件都放置在以根目录为树根的树形目录结构中。在 Linux 看来,任何硬件设备也都是文件,它们各有自己的一套文件系统(文件目录结构)。因而发生的问题是,当在 Linux 系统中运用这些硬件设备时,只要将Linux本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的进程称为“挂载”。挂载,指的就是将设备文件中的尖端目录连接到 Linux 根目录下的某一目录(最好是空目录),拜访此目录就等同于拜访设备文件。并不是根目录下任何一个目录都能够作为挂载点,因为挂载操作会使得原有目录中文件被躲藏,因而根目录以及系统原有目录都不要作为挂载点,会形成系统异常甚至崩溃,挂载点最好是新建的空目录。

    挂载后变成:

    此时就可以通过 Linux 文件系统拜访U盘。

    回答来源:(37 封私信 / 1 条消息) 能否通俗易懂,深入浅出地解释一下linux中的挂载的概念? - 知乎

    作者:云叔


    inode索引节点

    文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。

    操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个”块”(block)。这种由多个扇区组成的”块”,是文件存取的最小单位。”块”的大小,最常见的是4KB,即连续八个 sector组成一个 block

    文件数据都储存在”块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点”。

    每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

    inode也会消耗硬盘空间,所以硬盘格式化的时候,操作系统自动将硬盘分成两个区域。一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode所包含的信息。每个inode节点的大小,一般是128字节或256字节。inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。

    每个inode都有一个号码,操作系统用inode号码来识别不同的文件。

    这里值得重复一遍,Unix/Linux系统内部不使用文件名,而使用inode号码来识别文件。对于系统来说,文件名只是inode号码便于识别的别称或者绰号。

    表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。

    Unix/Linux系统中,目录(directory)也是一种文件。打开目录,实际上就是打开目录文件。目录文件的结构非常简单,就是一系列目录项(dirent)的列表。每个目录项,由两部分组成:所包含文件的文件名,以及该文件名对应的inode号码。

    ls命令只列出目录文件中的所有文件名,ls -i命令列出整个目录文件,即文件名和inode号码

    来源:剖析Linux内核文件系统之(inode) - 知乎


    链接

    链接分为硬链接(hard link) 和软连接(又称符号链接,即 soft link 或 symbolic link)

    直观感受区别:

    硬链接

    一般情况下,文件名和inode号码是”一一对应”关系,每个inode号码对应一个文件名。但是,Unix/Linux系统允许,多个文件名指向同一个inode号码

    这意味着,可以用不同的文件名访问同样的内容;对文件内容进行修改,会影响到所有文件名;但是,删除一个文件名,不影响另一个文件名的访问,直到删除所有硬链接和源文件,才能删除改文件。这种情况就被称为”硬链接”(hard link)。

    Hard link(硬链接)还具有以下特性:

    1。只能对已存在的文件进行创建(必须事先要有一个原始文件)

    2。 硬链接必须在同一个文件系统里创建,无法跨分区

    3。不能对目录进行创建

    当我们把所有硬链接和源文件删除后,原inode指针所指向的数据块设置为空闲状态,告诉系统可以被再次使用,但是里面的内容却不会被删除 ,直到被新的数据覆盖。linux中被删除的文件数据是可以被找回的,只要相应的数据块没有被再次覆盖使用。

    目录文件的”链接数”:创建目录时,默认会生成两个目录项:”.”和”..”。前者的inode号码就是当前目录的inode号码,等同于当前目录的”硬链接”;后者的inode号码就是当前目录的父目录的inode号码,等同于父目录的”硬链接”。所以,任何一个目录的”硬链接”总数,总是等于2加上它的子目录总数(含隐藏目录)

    软链接

    软链接本身是一个单独的文件,拥有自己的inode和数据块,因此拥有自己的文件属性和权限。它相当于 Windows 中的快捷方式,其数据块中的内容是另一个文件的路径,因此当系统读取软连接的文件时,会自动将访问导向另一个文件。删除软链接并不影响被指向的文件,但若被指向的原文件被删除,软链接仍然存在,但指向的是一个无效链接。

    软链接还有如下特性:

    1。 可对不存在的目录和文件创建软链接

    2。 可以对存在的文件或目录建软链接

    3。 可以跨文件系统创建软链接

    4。 软链接创建时原文件的路径指向使用绝对路径较好,相对路径的话原文件移除后可能会成为无效链接。

    来源:一图详解硬链接和软连接、剖析Linux内核文件系统之(inode) - 知乎


    文件与目录管理

    处理目录的常用命令:

    • ls(英文全拼:list files): 列出目录及文件名
    • cd(英文全拼:change directory):切换目录
    • pwd(英文全拼:print work directory):显示目前的目录
    • mkdir(英文全拼:make directory):创建一个新的目录
    • rmdir(英文全拼:remove directory):删除一个空的目录
    • cp(英文全拼:copy file): 复制文件或目录
    • rm(英文全拼:remove): 删除文件或目录
    • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

    可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。


    ls

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

    选项与参数:

    • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
    • -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
    • -l :长数据串列出,包含文件的属性与权限等等数据;(常用)

    举例:将目录下的所有文件列出来(含属性与隐藏档)

    [root@www ~]# ls -al ~

    cd

    #使用绝对路径切换到 runoob 目录
    [root@www ~]# cd /root/runoob/#使用相对路径切换到 runoob 目录
    [root@www ~]# cd ./runoob/# 表示回到自己的家目录,亦即是 /root 这个目录
    [root@www runoob]# cd ~# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思;
    [root@www ~]# cd ..
    

    pwd

    显示目前所在目录

    [root@www ~]# pwd [-P]

    选项与参数:

    • -P :显示出确实的路径,而非使用链接 (link) 路径。

    mkdir

    创建新的目录

    mkdir [-mp] 目录名称
    

    选项与参数:

    • -m :配置文件的权限,直接配置,不需要看默认权限 (umask) 
    • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!

    举例:创建权限为rwx---x--x的目录

    [root@www tmp]# mkdir -m 711 test2
    [root@www tmp]# ls -l
    drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test
    drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1
    drwx--x--x  2 root  root 4096 Jul 18 12:54 test2

    创建递归目录

    [root@www ~]# cd /tmp
    [root@www tmp]# mkdir test    <==创建一名为 test 的新目录
    [root@www tmp]# mkdir test1/test2/test3/test4
    mkdir: cannot create directory `test1/test2/test3/test4': 
    No such file or directory       <== 没办法直接创建此目录啊!
    [root@www tmp]# mkdir -p test1/test2/test3/test4 <== 加了这个 -p 的选项,可以自行帮你创建多层目录!
    

    不行了……实在是太多了,明天再看吧


    http://www.hkcw.cn/article/fDFldkSPve.shtml

    相关文章

    JavaScript实现备忘录的增删改操作

    最终实现目标效果&#xff1a; ​添加任务​&#xff1a;用户输入内容后点击“add”&#xff0c;创建包含任务和操作按钮的新行。每个任务分配唯一index标识&#xff08;通过flag自增实现&#xff09;。标记完成/未完成​&#xff1a;点击“mark”切换任务文本的中划线样式和颜…

    从认识AI开始-----卷积神经网络(CNN)

    前言 在上一篇文章里&#xff0c;我们手写了多层感知机&#xff0c;细心地小伙伴们可能会发现一个问题&#xff0c;对于MLP&#xff0c;有两个突出的问题&#xff0c;尤其是处理图像任务时&#xff1a; 参数太多&#xff1a;例如一个28*28的图像扁平化为784维后&#xff0c;连…

    从“固定“到“流动“:移动充电如何重塑用户体验?

    在传统充电模式中&#xff0c;"固定"不仅是技术的特征&#xff0c;更成为用户行为的枷锁——人们需要规划行程、寻找插座、等待电量填满&#xff0c;这种被动适配正在被移动充电技术颠覆。当充电设备从墙面解放&#xff0c;化身可携带的能源胶囊&#xff0c;甚至嵌入…

    π0基于自己的数据集微调,convert_libero_data_to_lerobot.py 各种报错的解决方法

    π0 github地址 在做&#xff1a;π0基于自己的数据集微调 Fine-Tuning Base Models on Your Own Data 的时候遇到各种报错&#xff0c;记录一下。 推荐教程&#xff1a;π0的微调——如何基于各种开源数据集、以及私有数据集微调通用VLA π0(含我司七月的微调实践及在机械臂上…

    在哈佛演讲25岁中国女生发声 签证不确定性影响未来规划

    5月30日,哈佛大学毕业典礼上,中国学生蒋雨融身穿中国传统服饰发表了一段动情演讲。25岁的蒋雨融来自中国青岛,获得了哈佛大学国际发展方向的公共行政硕士学位。她提到,特朗普政府威胁遣返学生签证持有者,这给她的未来规划带来了极大的不确定性。蒋雨融表示自己也开始考虑去…

    半导体B2B分销中台如何与ERP集成

    在半导体B2B分销领域&#xff0c;高效的销售链管理和精准的数据流转是企业竞争力的核心。随着市场需求的快速变化和业务规模的持续扩张&#xff0c;传统的人工下单销售模式已难以满足实时协同、动态定价、库存优化等关键需求。如何将半导体B2B分销中台与企业核心ERP系统深度集成…

    普通遥控器竟牵出10亿元大案 27名嫌疑人落网

    涉及河南、四川、浙江等16省市,涉案交易金额达10.3亿元。随着最后一名境外逃犯投案,内蒙古自治区鄂尔多斯市杭锦旗这起利用流量计调节流量、篡改数据非法牟利的合同诈骗案成功告破,27名犯罪嫌疑人全部落网。2024年3月,一封匿名举报信打破了平静:某石油工程有限公司通过更改…

    CCleaner:高效免费系统清理软件指南

    本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;免费系统清理软件是旨在帮助用户清除计算机中的无用文件以优化性能和释放硬盘空间的应用程序。它们通常包含临时文件删除、注册表清理和无用程序卸载等功能。本文将探讨CCleaner等系统清理工具如何通过清理临时…

    C语言—扫雷项目

    一、扫雷游戏分析和设计 &#xff08;1.1&#xff09;扫雷游戏功能说明 • 使⽤控制台实现经典的扫雷游戏 • 游戏可以通过菜单实现继续玩或者退出游戏 • 扫雷的棋盘是9*9的格⼦ • 默认随机布置10个雷 • 可以排查雷 ◦ 如果位置不是雷&#xff0c;就显⽰周围有⼏个雷 ◦ 如…

    [蓝桥杯] 挖矿(CC++双语版)

    题目链接 P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷 题目理解 我们可以将这道题中矿洞的位置理解成为一个坐标轴&#xff0c;以题目样例绘出坐标轴&#xff1a; 样例&#xff1a; 输入的5为矿洞数量&#xff0c;4为可走的步数。第二行输入是5个矿洞的坐标。输出结果为在要求步数…

    【C语言】 —— 预处理详解(下)

    【C语言】 —— 预处理详解&#xff08;下&#xff09; 前言七、# 和 \##7.1 # 运算符7.2 ## 运算符 八、命名约定九、# u n d e f undef undef十、命令行定义十一、条件编译11.1、单分支的条件编译11.2、多分支的条件编译11.3、判断是否被定义11.4、嵌套指令 十二、头文件的包…

    C/C++ 内存管理深度解析:从内存分布到实践应用(malloc和new,free和delete的对比与使用,定位 new )

    一、引言&#xff1a;理解内存管理的核心价值 在系统级编程领域&#xff0c;内存管理是决定程序性能、稳定性和安全性的关键因素。C/C 作为底层开发的主流语言&#xff0c;赋予开发者直接操作内存的能力&#xff0c;却也要求开发者深入理解内存布局与生命周期管理。本文将从内…

    VS Studio2022安装教程(保姆级教程)

    1.下载 官网下载&#xff1a; Visual Studio 2022 IDE - 适用于软件开发人员的编程工具 (microsoft.com)https://visualstudio.microsoft.com/zh-hans/vs/ 1.点击下载Community2022(社区版),等待下载完成之后,运行安装包&#xff08;VisualstudioSetup.exe&#xff09; 2.等待…

    【CSAPP】【attacklab】实验三 Attack lab 详解

    前置知识 call 指令 ret 指令 寄存器rip 栈 小端模式 栈向下生长&#xff0c;栈顶在低地址&#xff0c;栈底在高地址 指令寄存器&#xff08;RIP&#xff09;包含下一条将要被执行的指令的逻辑地址。 通常情况下&#xff0c;每取出一条指令后&#xff0c;RIP会自增指向下一…

    【C/C++】字符函数和字符串函数

    文章目录 前言字符函数和字符串函数1.字符分类函数2.字符转换函数3.strlen的使用和模拟实现3.1 代码演示3.2 strlen返回值3.3 strlen的模拟实现 4.strcpy的使用和模拟实现4.1 代码演示4.2 模拟实现 5.strcat的使用和模拟实现5.1 代码演示5.2 模拟实现 6.strcmp的使用和模拟实现…

    C/C++之内存管理

    1. 内存分布 我们定义的变量对于电脑来说也叫数据&#xff0c;同时电脑也会把这些数据分为不同的类型&#xff0c;分别是局部数据&#xff0c;静态数据&#xff0c;全局数据&#xff0c;常量数据和动态申请数据。 在 C 中&#xff0c;各类数据存储位置如下&#xff1a; • 局…

    C++从入门到实战(十一)详细讲解C/C++语言中内存分布与C与C++内存管理对比

    C从入门到实战&#xff08;十一&#xff09;详细讲解C/C语言中内存分布与C与C内存管理对比 前言一、C/C语言中内存分布1.内核空间2.栈3.堆4.数据段5.代码段 二、例题带练巩固C/C语言中内存分布的知识题目讲解题目答案 三、C语言动态内存分配&#xff08;知识回顾&#xff09;3.…

    Educational Codeforces Round 175 (C.二分 D.树形结构、dp)

    文章目录 2025.3.3C. Limited Repainting(二分)题意思路代码 D. Tree Jumps(树形结构、dp)题意思路代码 2025.3.3 Educational Codeforces Round 175 (Rated for Div. 2) C. Limited Repainting(二分) 题意 给出一个字符串a由“R”B“组成&#xff0c;不同位置对应一个惩罚…

    老太突然倒地吓坏路人民警紧急相救 家属感激救命之恩

    “谢谢你们帮我父亲‘捡’回一条命,再晚一会儿后果不堪设想!”5月21日,市民刘女士接到民警电话时再次表达了对紧急救援的感激之情。她的父亲76岁,患有阿尔兹海默病,下午扛着锄头出门后一直未归,家人找了3个多小时都没找到。5月19日傍晚6时许,大冶市公安局还地桥派出所接…

    53岁男子诱骗侵害幼女被判刑 深挖彻查揭露更多罪行

    5月29日,江苏省人民检察院召开新闻发布会,介绍了近年来加强未成年人网络司法保护的工作情况及典型案例。如皋市检察院副检察长卢海琴介绍了一起典型案例,通过深挖彻查,案件从1名被告人追到3名被告人、从1个罪名查到5个罪名、从1起强奸事实挖到19起犯罪事实、从1名被害人增加…