Linux 目录详解

和 Windows 同样,Linux 也有目录的概念。系统中众多的文件须要借助到目录进行存储与管理。咱们下面对 Linux 系统中的目录结构以及常常使用到的概念进行一个完整介绍。


Linux 系统目录结构 html


在 Windows下,系统把硬盘划分为不一样的磁盘分区,每一个磁盘分配一个不一样的盘符,好比 C:\、D:\ 等等。每一个分区都单独存放本身的文件,有本身的根目录,好比 C:\、D:\ 就至关于 C 盘和 D 盘的根目录了。而 Linux 则是将整个硬盘统一管理,整个系统只有一个根目录 "/",全部的文件和目录都是在这个根目录下,它表示 Linux 文件系统的起点。另外要注意一点,Linux 中目录间的间隔使用的是斜线 (forward slash)"/",而 Windows中用的是反斜线 (back slash)"\"。 app


为了规范,绝大多数的 Linux 发行版本中 (参见 《这么多Linux版本,你究竟该怎么选择?》)系统目录的机构都保持了一致。以 CentOS 7 为例,下面介绍一下经常使用的系统目录和它们的做用。 spa



  • /root:超级用户 root 的家目录 日志

  • /bin:是 Binary 的缩写,用于存放系统中经常使用的命令,任何用户都有权限执行 htm

  • /boot:存放系统启动时所须要的文件,Linux 的内核就存放在这个目录中 blog

  • /dev:是 Device 的缩写,存放硬盘、光驱、鼠标等设备文件,在 Linux中访问设备和访问文件的方式是相同的 进程

  • /etc:存放系统和程序所需的配置文件,做用相似于 Windows 的注册表 内存

  • /home:普通用户的家目录。普通用户的家目录通常和用户帐号名相同,好比 user1 的家目录是 /home/user1 ci

  • /var:存放一些常常变化的文件,好比 /var/log 存放日志,/var/spool/mail 存放邮件 rem

  • /lib /lib64:存放链接共享库,做用相似于 Windows 的 dll 文件。它们本身不能被执行,须要被其余的程序调用,几乎全部的应用程序都须要用到共享库

  • /usr:软件默认的安装位置,存放用户应用程序和文件,相似于 Windows 下的 Program Files

  • /media:用于挂载 U 盘、光驱等系统自动识别的设备

  • /lost+found:存放系统崩溃或意外关机时产生的碎片文件,正常状况下是空的

  • /mnt:用于临时挂载别的文件系统,好比增长一块硬盘,须要手动挂载

  • /opt:用于安装额外软件所用的目录,默认是空的

  • /proc:虚拟文件系统,是系统内存的映射。访问这个目录能够获取不少有用的系统信息

  • /sbin:s 就是 super 的意思,存放只有系统管理员才有权限执行的命令

  • /srv:存放一些服务启动后所须要提取的数据

  • /sys:该目录下安装了文件系统 sysfs,该文件系统是内核设备树的一个直观反映

  • /tmp:存放临时文件,全部用户均可执行写操做

  • /run:存放进程产生的临时文件,系统重启之后,这个目录会被清空

 

绝对路径与相对路径


1) 绝对路径:将目录用完整的路径表示出来,从根目录“/”开始,好比 /user/bin,使用绝对路径能够很是准确的表示一个目录的位置,只不过路径较长的时候,输入会比较麻烦。


下面看一个例子,当以用户 user1 登陆后,使用 pwd (print working directory)命令来打印出当前的工做目录

$ pwd

/home/user1

/home/user1 就是当前工做目录的绝对路径,也是 user1 的家目录,如上面介绍,普通用户的家目录都是在 /home 下面。


2) 相对路径:顾名思义,就是不用绝对路径表示,而是用当前工做目录为起点来表示的相对路径,好比当前工做目录为 /home/user1,/home/user1/Desktop 用相对路径表示即为 ./Desktop 或者直接 Desktop,“.”表示当前工做目录,“..”表示上一级目录

$ cd Desktop

$ pwd

/home/user1/Desktop


经常使用的目录操做


1) cd:change directory 切换工做目录,语法格式为 

$ cd [目录名]


2) pwd:print working directory 打印当前工做目录,语法格式为 

$ pwd

如上面的例子演示,切换目录后能够再用 pwd 命令确认一下当前目录是否正确


3) ls:list,语法格式为 

$ ls [选项] [目录或文件名]

若是ls 命令后边是目录,会显示目录下包含的文件信息,若是是文件名则会显示该文件的信息,若是没有跟任何参数则显示当前工做目录下包含的文件信息。

经常使用选项: 

-a  显示全部文件,包括隐藏文件

-l   以长格式显示目录或文件的信息

-d  只显示目录自己的信息,不显示目录下包含的文件

-h  human readable,用人性化显示的形式查看,好比以 K (KB),M (MB),G(GB)表示文件大小


4) mkdir:make directory,建立目录,语法格式为 

$ mkdir [选项] 目录名

经常使用选项:

-p  能够用于建立嵌套的多级目录


5) cp:copy,复制文件或目录

语法格式为 

$ cp [选项] 源文件或目录 目标文件或目录

经常使用选项:

-r  若是复制的是一个目录,则必须使用这个选项,会把目录下全部的内容都复制到目标目录中去


6) mv:move,移动文件或目录

语法格式为 

$ mv [选项] 源文件或目录 目标文件或目录

若是移动的是一个目录,不须要加 -r 选项,能够直接将目录进行移动


7) rm:remove,删除文件或目录

语法格式为 

$ rm [选项] 文件或目录

经常使用选项:

-r  若是删除的是一个目录,则必须使用这个选项

-f  强制删除,无须用户确认

通常删除目录时,两个选项会同时使用 -rf,可是建议删除前先用 mv 命令将待删除的目录移动到一个指定的回收目录中去,等过一段时间确认再也不须要这些文件和目录,再使用 rm 命令将其删除。

 

最后


本文介绍了 Linux 系统目录的结构和它们的用途,目录相关的概念,以及最经常使用到的相关命令。结合以前的文章《虚拟机安装 Linux 最完整攻略》,你们能够在本身的虚拟机进行演练,注意系统目录不要删除,不然系统可能就崩掉了,最好在本身的家目录或者临时目录中进行操做。




相关阅读:

《这么多Linux版本,你究竟该怎么选择?》

《虚拟机安装 Linux 最完整攻略》

《Vi 和 Vim 的使用》





- The End -