目录
[1. 目录结构](#1. 目录结构)
[1.1 基本概念](#1.1 基本概念)
[1.2 具体的目录结构](#1.2 具体的目录结构)
[2. 路径](#2. 路径)
[2.1 绝对路径和相对路径](#2.1 绝对路径和相对路径)
[2.2 特殊路径符](#2.2 特殊路径符)
1. 目录结构
1.1 基本概念
Linux的目录结构是一个树形结构。
Windows系统可以拥有多个盘符,如 C盘、D盘、E盘。Linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面。
在Windows系统中,路径之间的层级关系,使用\来表示。如,D:\data\work\hello.txt
在Linux系统中,路径之间的层级关系,使用/来表示。如,/usr/local/hello.txt
- 开头的/表示根目录
- 后面的/表示层级关系
1.2 具体的目录结构
- /bin [常用] (/usr/bin、/usr/local/bin)
是binary的缩写,这个目录存放着最经常使用的命令。
- /sbin (usr/sbin、/usr/local/sbin)
s就是super user的意思,这里存放的是系统管理员使用的系统管理程序。
- /home [常用]
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。
- /root [常用]
该目录为系统管理员,也称作超级权限者的用户主目录。
- /lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
- /lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
- /etc [常用]
所有的系统管理所需要的配置文件和子目录,比如安装mysql数据库my.conf
- /usr [常用]
这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与Windows下的 Program Files目录。
- /boot [常用]
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
- /proc [不能动]
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。
- /srv [不能动]
service缩写,该目录存放一些服务启动之后需要提取的数据。
- /sys [不能动]
这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
- /tmp
这个目录是用来存放一些临时文件的。
- /dev
类似于Windows的设备管理器,把所有的硬件用文件的形式存储。
- media [常用]
Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux会把识别的设备挂载到这个目录下。
- /mnt [常用]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里面的内容了。
- /opt
这是给主机额外安装软件所存放的目录。如安装Oracle数据库就可放到该目录下。默认为空。
- /usr/local [常用]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。
- /var [常用]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
- /selinux [security-enhanced linux]
SELinux是一种安全子系统,它能控制程序只能访问特定文件,有三种工作模式,可以自行设置。
2. 路径
2.1 绝对路径和相对路径
绝对路径:以根目录为起点,描述路径的一种写法,路径描述以/开头。
相对路径:以当前目录为起点,描述路径的一种写法,路径描述无需以/开头。
如图,通过pwd得知当前目录为/usr,通过cd命令切换工作目录到/usr/local/lib:
- cd /usr/local/lib
- cd local/lib
以上两种写法都可以切换工作目录到/usr/local/lib
2.2 特殊路径符
- . 表示当前目录
- .. 表示上一级目录
- ~ 表示家目录(普通用户为/home/×××,root用户为/root)
-
- 表示上一次所在目录