目录
一、Linux文件系统
1、核心概念:
2、 文件系统类型
3、目录结构
4、权限与所有权
5、 符号链接与硬链接
二、文件系统相关linux命令
1、 ls
2、 cd
3、 pwd
4.、mkdir
5、rmdir
6、rm
7、mv
8、cp
9、 mount
10、 umount
一、Linux文件系统
Linux文件系统是Linux操作系统中用于组织和管理文件的一种结构。它遵循UNIX文件系统层次标准,设计原则在于简单、灵活且高效。Linux文件系统不仅仅指一个特定的文件系统类型(如EXT4、Btrfs等),而是一个更广泛的概念,涵盖了文件存储、组织、访问以及权限控制等方面。下面详细介绍几个关键方面:
1、核心概念:
- 一切皆文件: Linux 将几乎所有资源,包括硬件设备、分区和目录,都视为文件。这使得用户可以使用统一的方式访问和管理系统资源。
- 层级结构: 文件系统从根目录 (/) 开始,然后分支到各种子目录,形成一个树状结构。
- 目录: 目录是包含其他文件和子目录的容器。
- 文件: 文件包含各种类型的数据,如文本、图像、程序等。
- 路径: 路径描述了文件或目录在文件系统中的位置,从根目录开始,使用斜杠 (/) 分隔每个目录级别。例如,
/home/user/documents
表示根目录下的 home 目录下的 user 目录下的 documents 目录。
2、 文件系统类型
Linux支持多种文件系统类型,常见的有:
- EXT2/EXT3/EXT4:EXT系列是Linux的传统文件系统,EXT4是当前最广泛使用的Linux文件系统之一,支持大文件、日志记录等功能。
- Btrfs:是一种现代的文件系统,提供了写时复制(COW)、快照、数据校验和等多种高级功能。
- XFS:适用于大型文件存储和数据吞吐量要求高的场景,常见于企业级服务器。
- ZFS:虽然原生为Solaris系统开发,但通过FUSE可以在Linux上使用,以其强大的数据完整性保护和高级管理特性著称。
- VFAT/NTFS:这些主要是为了兼容Windows系统的文件系统。
3、目录结构
Linux文件系统采用单一的目录树结构,从根目录/
开始。主要的目录及其用途包括:
- /: 根目录,所有其他目录的起点。
- /bin: 存放用户可执行的基本命令(二进制)文件。
- /sbin: 存放系统管理员可执行的基本命令。
- /usr: 包含用户程序、库文件和文档等,是最大的目录之一。
- /etc: 存放系统配置文件。
- /home: 普通用户的主目录默认存放位置。
- /var: 存放经常变化的文件,如日志、邮件、数据库等。
- /tmp: 临时文件存放处。
- /dev: 设备文件所在目录,每个设备在该目录下都有一个对应的特殊文件。
- /proc 和 /sys: 虚拟文件系统,不占用实际磁盘空间,提供关于内核和硬件状态的信息。
4、权限与所有权
Linux文件系统严格控制文件和目录的访问权限,主要有读(r)、写(w)、执行(x)三种基本权限,分别对应文件内容的读取、修改和执行,以及目录的进入、列出和搜索权限。权限分为三组,分别针对文件所有者、所属组和其他用户。
- 所有者:文件或目录的创建者。
- 所属组:包含多个用户的组,文件可以被设置为属于某个组。
- 其他用户:不属于前两者的所有用户。
使用chmod
和chown
命令可以修改文件的权限和所有权。
5、 符号链接与硬链接
- 符号链接(symlink):类似于Windows下的快捷方式,实际上是一个特殊的文件,指向另一个文件或目录的实际位置。
- 硬链接:硬链接创建的是源文件的另一个入口,与原文件共享inode(索引节点),因此删除原文件不会影响硬链接的访问。
二、文件系统相关linux命令
1、 ls
功能:列出目录的内容,包括文件和子目录。
常用选项:
-l
:以长格式显示,包含文件权限、所有者、大小、修改时间等详细信息。-a
:显示所有文件,包括以.
开头的隐藏文件。-h
:配合-l
使用,以人类可读的格式显示文件大小(如KB, MB)。
示例:
ls -l
:在当前目录下以长格式列出所有文件和目录。ls -a
:显示当前目录下的所有文件,包括隐藏文件。
2、 cd
功能:改变当前工作目录。
用法:
cd 目录名
:进入指定的目录。cd ~
或cd
:回到用户的家目录。cd ..
:返回上一级目录。
示例:
cd Documents
:进入名为“Documents”的目录。
3、 pwd
功能:打印当前工作目录的绝对路径。
示例:
pwd
:直接执行会显示出当前所在的完整目录路径。
4.、mkdir
功能:创建新的目录。
选项:
-p
:可以创建多级目录,如果没有父目录,会一并创建。
示例:
mkdir newFolder
:创建名为“newFolder”的目录。mkdir -p folder1/folder2
:递归创建“folder1”和其下的“folder2”。
5、rmdir
功能:删除空目录。
注意:只能删除空目录。
示例:
rmdir emptyDir
:删除名为“emptyDir”的空目录。
6、rm
功能:删除文件或目录。
选项:
-f
:强制删除,不提示确认。-r
或-R
:递归删除目录及其内容。
示例:
rm file.txt
:删除名为“file.txt”的文件。rm -r myFolder
:递归删除“myFolder”及其内部所有文件和子目录。
7、mv
功能:移动或重命名文件和目录。
用法:
mv source destination
:移动文件或目录。mv oldName newName
:重命名文件或目录。
示例:
mv file.txt /path/to/newLocation
:将“file.txt”移动到“/path/to/newLocation”。mv oldFile.txt newFile.txt
:将“oldFile.txt”重命名为“newFile.txt”。
8、cp
功能:复制文件或目录。
选项:
-r
或-R
:递归复制目录。-i
:如果目标文件已存在,会提示是否覆盖。
示例:
cp file.txt /path/to/destination
:复制“file.txt”到指定目录。cp -r myFolder /backup
:递归复制“myFolder”及其内容到“/backup”。
9、 mount
功能:挂载文件系统,即将一个设备(如硬盘分区)的文件系统挂载到一个目录(挂载点)上。
用法:
mount 设备路径 挂载点
:例如,mount /dev/sdb1 /mnt/usb
10、 umount
功能:卸载已经挂载的文件系统。
用法:
umount 挂载点
:例如,umount /mnt/usb
以上就是这些基本Linux命令的介绍和示例,它们是日常管理和操作Linux系统的基础。