根目录
根目录:"/"
在Linux系统中,根目录指的是整个文件系统的最顶级目录,用符号"/"表示。根目录是文件系统的起点,所有其他目录和文件都嵌套在根目录下面。在根目录下通常会有一些常见的子目录,例如/bin、/etc、/home、/lib等,它们用于存放系统所需的各种二进制程序、配置文件、用户主目录等。根目录是Linux文件系统的基础,所有目录和文件的绝对路径都是从根目录开始的。
常见子目录
下面是根目录下的一些常见子目录及其功能的列举:
/bin
:存放系统核心命令和可执行文件(二进制),例如ls
、cp
、rm
等。/boot
:包含启动相关的文件,如内核文件和启动配置文件。/dev
:包含设备文件,每个硬件设备都被表示为一个特殊文件。/etc
:存放系统的配置文件,如网络配置文件、用户权限配置文件等。/home
:包含用户的个人目录,每个用户在此目录下都有一个以用户名命名的子目录。/lib
:存放系统所需的共享库文件。/media
:用于挂载可移动介质(如USB闪存驱动器和CD/DVD驱动器)的挂载点。/mnt
:临时挂载点,可以临时挂载其他文件系统或网络资源。/opt
:用于存放可选软件的安装目录(测试)。/proc
:虚拟文件系统,提供了有关内核和进程的信息。/root
:超级用户root的主目录。/run
:存放系统运行时的临时文件,如pid文件和套接字文件。/sbin
:存放系统管理员使用的基本系统管理命令。/srv
:用于存放某些服务的特定数据目录。/sys
:虚拟文件系统,提供了有关系统硬件
和内核
的信息。/tmp
:用于存放临时文件,系统会定期清理其中的文件。/usr
:包含用户安装的程序和文件。/var
:包含变化的文件,如日志文件、数据库文件等。
这些只是根目录下的一些常见子目录,实际上可以根据需要创建更多的子目录来组织文件和程序。
文件类型
在 Linux 系统中,常见的七种文件类型包括:
普通文件(Regular File):存储着实际的数据。可以是文本文件(ASCII文本或Unicode文本)或二进制文件。普通文件的类型标识为 -
。
目录文件(Directory):用于组织和存放其他文件和目录的特殊文件类型。目录文件的类型标识为 d
。
符号链接文件(Symbolic Link):类似于 Windows 系统中的快捷方式,它是一个指向另一个文件或目录的特殊类型文件。符号链接文件的类型标识为 l
。
设备文件(Device File):用于表示系统中的硬件设备,分为字符设备文件和块设备文件。
- 字符设备文件(Character Device File):用于对字符设备进行直接访问,如终端设备(tty)或串口(serial)设备。字符设备文件的类型标识为
c
。 - 块设备文件(Block Device File):用于对块设备进行直接访问,如硬盘驱动器或USB闪存驱动器。块设备文件的类型标识为
b
。
套接字文件(Socket):用于进程间的通信,进程可以通过套接字进行网络通信或本地进程间通信。套接字文件的类型标识为 s
。
管道文件(FIFO):用于进程间的通信,也称为命名管道,通过文件系统进行数据传输。管道文件的类型标识为 p
。
共享库文件(Shared Object):用于存储共享库,这些库可由多个可执行文件共享和使用。共享库文件通常以 .so
扩展名结尾。(静态库 .a)
这些文件类型通过文件系统中的文件类型标识来区分。在终端中使用命令 ls -l
可以查看文件列表并显示其类型标识。
静态库和动态库
动态库和静态库在 Linux 系统中通常有不同的后缀名。
动态库(Dynamic Library):动态库在 Linux 系统中通常使用 .so
(Shared Object)作为后缀,例如 libexample.so
。
静态库(Static Library):静态库在 Linux 系统中通常使用 .a
(Archive)作为后缀,例如 libexample.a
。
这些库文件用于在编译和链接过程中与可执行文件进行静态或动态链接。静态库在编译时被完整地嵌入到可执行文件中,而动态库则在运行时由操作系统动态加载。后缀名的区别有助于标识库的类型和使用方式。
绝对路径和相对路径
绝对路径(Absolute Path)和相对路径(Relative Path)是用于定位文件或目录在文件系统中位置的两种不同方式。
-
绝对路径:绝对路径指的是从文件系统的根目录开始一直到目标文件或目录的完整路径。在 Linux 系统中,根目录表示为
/
,绝对路径以根目录开始,通过一级一级的目录层次来定位文件或目录的位置。例如,/home/user/folder/file.txt
就是一个绝对路径。 -
相对路径:相对路径指的是相对于当前工作目录的路径,它不需要从根目录开始,而是通过参照当前目录来定位目标文件或目录的位置。相对路径可以是当前目录下的路径,或者通过上级目录
..
来表示上一级目录。例如,在当前目录为/home/user/
的情况下,folder/file.txt
是相对于当前目录的路径。
使用绝对路径可以准确地指定文件或目录的位置,无论当前工作目录在哪里。而相对路径则是根据当前工作目录的位置来进行定位,更具有灵活性和简洁性。在使用命令行或编程中,根据实际需要选择合适的路径方式来定位文件或目录。