7-4 UOS Linux文件和目录管理
Linux文件管理
Linux系统所有设备都对应一个文件,使用索引节点记录文件信息,每个索引节点有编号,称为inode。
多级目录树形层次结构,最上层是根目录,用“/”表示。
Linux:
/etc/host只有一个根目录Windows:
E:\test\test.txt每个磁盘分区都是单独的树
Linux文件挂载:将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使他们成为一个整体。
挂载点必须是一个目录,而不能是一个文件。
一个分区挂载在一个已知的目录节点上,这个目录可以不为空,挂载后这个目录以前的内容不可用。
1
mount /dev/sda1 /mnt #将/dev/sda1设备挂载到/mnt 目录
Linux文件类型
七种文件类型:普通文件、目录文件、链接文件、设备文件、字符、管道文件和套接字文件。
-:普通文件:文本、程序等d:文件夹I:链接文件:类似快捷方式b:设备文件:以块为单位进行读写操作,用于存储设备,如 硬盘、光盘c:字符文件:按字节流(字符)进行读写操作,用于终端设备,如键盘、鼠标p:管道文件:用于进程间通信s:套接字文件:用于网络编程
四类权限:读(r)、写(w)、执行(x)、无访问权限(-)。
三类用户:文件所有者、与文件所有者同组用户和其他用户。
例题

Linux文件权限
UNIX/Linux系统中用9bit表示访问控制权限。
例如某个文件信息:-rwxr-xr-- 1 test test 4月9日17:50 sample.txt
用户test对文件sample.txt的访问权限有”读、写、执行”,而test组的其他用户只能“读、执行”
除此以外的其他用户只有“读”权限。

Linux文件权限可以用数字表示,对应下表。
比如:s-rwxr-xr--可以写为:754

例题
例题1

例题2

解析: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命令最常用的参数
chmod
文件访问权限命令chmod,示例:
1 | chmod g+rw test.txt # 为同一个用户组的用户添加对test.txt的读写权限 |
chmod 是 Unix 和类 Unix 系统(如 Linux)中用于更改文件或目录权限的命令。它允许用户修改文件或目录的访问权限,以控制谁可以读取、写入或执行这些文件和目录。权限管理是操作系统安全模型的重要组成部分,确保只有授权用户才能访问敏感数据。
基本语法
1 | chmod [选项] 模式 文件... |
- [选项]:可选参数,用于指定特殊行为。
- 模式:指定新的权限设置,可以通过符号模式或八进制数表示。
- 文件…:一个或多个要修改权限的文件或目录。
权限类型
Unix 文件系统中的权限分为三类:
- 用户(User, u):文件所有者。
- 组(Group, g):文件所属组的成员。
- 其他(Others, o):不属于上述两类的所有其他用户。
每类权限又包括三种操作权限:
- 读(Read, r):查看文件内容或列出目录内容。
- 写(Write, w):修改文件内容或在目录中创建/删除文件。
- 执行(Execute, x):运行文件(如果它是可执行文件)或进入目录。
设置权限的方式
- 符号模式
符号模式使用字母和符号来设置权限。基本格式如下:
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
- 八进制模式
八进制模式使用数字来表示权限。每个权限位用三位二进制数表示,转换为一位八进制数。具体如下:
- 读(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

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

例题3

解析:Linux系统中外部设备文件目录是/dev。
/bin:存放可执行文件,一般都是一些小程序比如ls、cp、mv、rm等。/etc:存放配置文件,比如网络配置、DNS配置、用户名和密码配置等,一般操作最多的就是这个目录下的配置文件;/lib:存放共享库和内核模块,一般不去操作;/dev:存放设备文件,对应系统中的硬件设备(如硬盘、光驱、键盘、鼠标)或虚拟设备(如环回接口)。
设备文件可以分为两大类:
- 字符设备文件:这些文件按字节流(字符)进行读写操作,如终端、串口设备。字符设备文件的名字通常以c标识。
- 块设备文件:这些文件以块为单位进行读写操作,用于存储设备,如硬盘、光盘。块设备文件的名字通常以b标识。
