7-4 UOS Linux文件和目录管理

Linux文件管理

Linux系统所有设备都对应一个文件,使用索引节点记录文件信息,每个索引节点有编号,称为inode。

多级目录树形层次结构,最上层是根目录,用“/”表示。

  • Linux:/etc/host 只有一个根目录

  • Windows:E:\test\test.txt 每个磁盘分区都是单独的树

Linux文件挂载:将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使他们成为一个整体。

  1. 挂载点必须是一个目录,而不能是一个文件。

  2. 一个分区挂载在一个已知的目录节点上,这个目录可以不为空,挂载后这个目录以前的内容不可用。

    1
    mount /dev/sda1 /mnt  #将/dev/sda1设备挂载到/mnt 目录

Linux文件类型

七种文件类型:普通文件、目录文件、链接文件、设备文件、字符、管道文件和套接字文件。

  • -:普通文件:文本、程序等
  • d:文件夹
  • I:链接文件:类似快捷方式
  • b:设备文件:以块为单位进行读写操作,用于存储设备,如 硬盘、光盘
  • c:字符文件:按字节流(字符)进行读写操作,用于终端设备,如键盘、鼠标
  • p:管道文件:用于进程间通信
  • s:套接字文件:用于网络编程

四类权限:读(r)、写(w)、执行(x)、无访问权限(-)。

三类用户:文件所有者、与文件所有者同组用户和其他用户。

例题

image-20250310205909945

Linux文件权限

UNIX/Linux系统中用9bit表示访问控制权限。

例如某个文件信息:-rwxr-xr-- 1 test test 4月9日17:50 sample.txt

用户test对文件sample.txt的访问权限有”读、写、执行”,而test组的其他用户只能“读、执行”

除此以外的其他用户只有“读”权限。

image-20250310210049095

Linux文件权限可以用数字表示,对应下表。

比如:s-rwxr-xr--可以写为:754

image-20250310210116270

例题

例题1

image-20250310210207807

例题2

image-20250310210240054

解析:chmod-R xxx /home/abc这里的-R 或 --recursive表示递归地更改目录及其下所有文件和子目录的权限。

13个Linux基础命令

文件读取命令

cat

cat:用来在屏幕上滚动显示文件的内容,cat命令也可以同时查看多个文件的内容,还可以用来合并文件

命令格式:cat [-选项] fileName [filename2] … [fileNameN]

more

more:如果文本文件比较长,一屏显示不完,这时可以使用more命令将文件内容分屏显示

less

less:less命令的功能与more命令很相似,也是按页显示文件,不同的是less命令在显示文件时允许用户可以向前或向后翻阅文件。

  • 按B键向前翻页显示;
  • 按P键向后翻页显示;
  • 输入百分比显示指定位置;
  • 按Q键退出显示

文件操作命令

cp

cp命令:复制文件,相当于复制粘贴

命令格式:cp[-选项] sourcefileName | directory destfileName | directory

  • a:整个目录复制。它保留链接、文件属性,并递归地复制子目录
  • -f:删除已经存在于目标目录中的同名文件且不提示,即强制覆盖掉目标目录中的重名文件
  • -i:和-f相反,同名时覆盖文件之前提示用户确认
  • -l:不做复制,只是链接文件
mv

mv命令:移动文件

  • -i:交互方式操作

  • -f:禁止交互操作

rm

rm命令:删除文件

命令格式:rm [-选项] fileName|directory

  • -f:force 强制删除,忽略不存在的文件,从不给出提示。

  • -r:指示rm将参数中列出的全部目录和子目录均递归地删除。

删库跑路:rm -rf /*

目录操作命令

mkdir和rmdir

创建/删除目录命令mkdir rmdir

cd

切换目录命令cd

pwd

显示当前目录命令pwd

示例:[root@redhat-64-] # pwd显示的路径名为/home/sun

ls

列目录命令ls

  • -a:显示指定目录下所有子目录与文件,包括隐藏文件

  • -c:按文件的修改时间排序

  • -d:如果参数是目录,只显示其名称而不显示其下的各文件

  • -i:在输出的第一列显示文件的i节点号

  • -l:以长格式来显示文件的详细信息,这是Is命令最常用的参数

    image-20250310211032638

chmod

文件访问权限命令chmod,示例:

1
chmod g+rw test.txt     # 为同一个用户组的用户添加对test.txt的读写权限

chmod 是 Unix 和类 Unix 系统(如 Linux)中用于更改文件或目录权限的命令。它允许用户修改文件或目录的访问权限,以控制谁可以读取、写入或执行这些文件和目录。权限管理是操作系统安全模型的重要组成部分,确保只有授权用户才能访问敏感数据。

基本语法
1
chmod [选项] 模式 文件...
  • [选项]:可选参数,用于指定特殊行为。
  • 模式:指定新的权限设置,可以通过符号模式或八进制数表示。
  • 文件…:一个或多个要修改权限的文件或目录。
权限类型

Unix 文件系统中的权限分为三类:

  1. 用户(User, u):文件所有者。
  2. 组(Group, g):文件所属组的成员。
  3. 其他(Others, o):不属于上述两类的所有其他用户。

每类权限又包括三种操作权限:

  1. 读(Read, r):查看文件内容或列出目录内容。
  2. 写(Write, w):修改文件内容或在目录中创建/删除文件。
  3. 执行(Execute, x):运行文件(如果它是可执行文件)或进入目录。
设置权限的方式
  1. 符号模式

符号模式使用字母和符号来设置权限。基本格式如下:

1
chmod [who][operator][permission] 文件...
  • who:指定哪类用户(u 用户,g 组,o 其他,a 所有,a可以省略)。
  • operator:指定操作(+ 添加权限,- 移除权限,= 设置权限)。
  • permission:指定权限(r 读,w 写,x 执行)。

示例:

  • 给文件 example.txt 的所有者添加执行权限:

    1
    chmod u+x example.txt
  • 移除文件 example.txt 的所有用户的写权限:

    1
    chmod a-w example.txt
  • 设置文件 example.txt 的权限为用户可读写,组和其他用户只读:

    1
    chmod u=rw,g=r,o=r example.txt
  1. 八进制模式

八进制模式使用数字来表示权限。每个权限位用三位二进制数表示,转换为一位八进制数。具体如下:

  • 读(r) = 4
  • 写(w) = 2
  • 执行(x) = 1

对于用户、组和其他用户,权限分别用三个八进制数字表示。例如,chmod 755 file 表示用户具有 rwx 权限,组和其他用户具有 r-x 权限。

示例:

  • 设置文件 example.txt 的权限为用户可读写执行,组和其他用户可读执行:

    1
    chmod 755 example.txt
  • 设置文件 example.txt 的权限为用户可读写,组和其他用户不可访问:

    1
    chmod 600 example.txt
常用选项
  • -R 或 --recursive:递归地更改目录及其下所有文件和子目录的权限。

    1
    chmod -R 755 directory/
  • -v 或 --verbose:显示详细信息,包括每个文件权限的更改情况。

    1
    chmod -v 644 file.txt
  • -c 或 --changes:仅在发生更改时显示详细信息。

    1
    chmod -c 755 file.txt
ln

文件链接命令ln 。ln 命令的功能是在文件之间创建链接,相当于快捷方式。

例题

例题1

image-20250310211146798

解析:cp命令相当于复制,mv命令相当于剪切

例题2

image-20250310211156774

例题3

image-20250310211208068

解析:Linux系统中外部设备文件目录是/dev。

  • /bin:存放可执行文件,一般都是一些小程序比如ls、cp、mv、rm等。

  • /etc:存放配置文件,比如网络配置、DNS配置、用户名和密码配置等,一般操作最多的就是这个目录下的配置文件;

  • /lib:存放共享库和内核模块,一般不去操作;

  • /dev:存放设备文件,对应系统中的硬件设备(如硬盘、光驱、键盘、鼠标)或虚拟设备(如环回接口)。

设备文件可以分为两大类:

  • 字符设备文件:这些文件按字节流(字符)进行读写操作,如终端、串口设备。字符设备文件的名字通常以c标识。
  • 块设备文件:这些文件以块为单位进行读写操作,用于存储设备,如硬盘、光盘。块设备文件的名字通常以b标识。

站内搜索

没有找到内容!