Linux之文档与目录结构

Linux文件系统结构

Linux目录结构的组织形式和Windows有很大的不同。首先Linux没有“盘(C盘、D盘、E盘)”的概念。已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写。

Linux不像Windows那样的系统目录,Linux使用正斜杠"/"而不是反斜杠"\"来标识目录。

Windows目录:

Windows目录:

Linux目录:

Linux首先是建立一个根"/"文件系统,所有的目录也都是由根目录衍生出来。

登录系统后,在当前命令窗口输入命令:

ls /

查看结果如下图:

在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树。

目录树的特点是什么呢?

  • 目录树的起始点是根目录(/,root);
  • 每一个目录不止能使用本地的文件系统,也可以使用网络上的文件系统,可以利用NFS服务器挂载特定目录。
  • 每一个文件在此目录树中的文件名,包含完整路径都是独一无二的。

目录树架构示意图

以下是对这些目录的解释:

    • /bin
      bin是Binary的缩写, 这个目录存放着最经常使用的命令。
    • /boot:
      这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
    • /dev :
      dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
    • /etc:
      这个目录用来存放所有的系统管理所需要的配置文件和子目录。
    • /home
      用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
    • /lib
      这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
    • /lost+found
      这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
    • /media
      linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
    • /mnt
      系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
    • /opt
       这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
    • /proc
      这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
      这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
      echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    • /root
      该目录为系统管理员,也称作超级权限者的用户主目录。
    • /sbin
      s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    • /selinux
       这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
    • /srv
       该目录存放一些服务启动之后需要提取的数据。
    • /sys
       这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

      sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

      该文件系统是内核设备树的一个直观反映。

    • 以下是对这些目录的解释:

      • /bin
        bin是Binary的缩写, 这个目录存放着最经常使用的命令。
      • /boot:
        这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
      • /dev :
        dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
      • /etc:
        这个目录用来存放所有的系统管理所需要的配置文件和子目录。
      • /home
        用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
      • /lib
        这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
      • /lost+found
        这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
      • /media
        linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
      • /mnt
        系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
      • /opt
         这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
      • /proc
        这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
        这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
        echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
      • /root
        该目录为系统管理员,也称作超级权限者的用户主目录。
      • /sbin
        s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
      • /selinux
         这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
      • /srv
         该目录存放一些服务启动之后需要提取的数据。
      • /sys
         这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。

        sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

        该文件系统是内核设备树的一个直观反映。

        • /tmp
          这个目录是用来存放一些临时文件的。
        • /usr
           这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
        • /usr/bin:
          系统用户使用的应用程序。
        • /usr/sbin:
          超级用户使用的比较高级的管理程序和系统守护程序。
        • /usr/src:内核源代码默认的放置目录。
        • /var
          这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

        在linux系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

        /etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

        /bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。

        值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

        /var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

        目录的相关操作

        我们知道切换目录的指令是cd,那么首先得知道如何切换目录,这个得用心记呀!

        .    当前目录
        ..    上一层目录
        -    前一个工作目录
        ~    当前【用户】所在的家目录

        需要注意的是,在所有目录底下都存在两个目录,分别是【.】和【..】,分别代表当前目录,上层目录!那么如何证明它的存在呢?

        命令: ls -la /查看命令解释:man ls  (Linux下的帮助指令)结论:ls - list directory contens (列出目录内容)ls -la /  以竖状格式化显示列出/目录所有内容

        接下来看一下常用的目录处理指令:

        cd : (change directory,更改目录)
        pwd:(显示当前目录)
        mkdir:(建立一个新目录)
        rmdir:(删除一个空目录)

        cd命令,变换目录

        cd是change directory的缩写,这是用来变换工作目录的命令,注意命令和目录之间有一个空格。

        mkdir,建立新目录

        mkdir是make directory的缩写,用来建立新目录,在默认情况下,目录得一级一级的建立。

        例如我要建立/home/oldboy/python目录,我就必须有/home,然后/home/oldboy,最后/home/oldboy/python,如果没有/home/oldboy,则不能建立python目录!

        可见高效的创建目录用上-p参数,可以直接执行命令【mkdir -p /home/oldboy/python】,系统会自动添加上/home,/home/oldboy,/home/oldboy/python依次建立目录,是不是很方便,^ ^

        rmdir,删除空目录

        当我想删除一个空目录时,就用rmdir吧,例如我想删除刚才建立的oldboy目录,以及/tmp/oldboy/python,那么可以使用【rmdir oldboy】,但是注意rmdir只能删除空目录。

        删除命令可以正确使用【rm -rf】

        Linux的路径PATH

        同学们应该都会配置windows下的环境变量(PATH),都知道系统会按照PATH的设定,去每个PATH定义的目录下搜索可执行文件。

        那么如何查看Linux下的PATH环境变量呢?

        执行命令:
        echo $PATH
        echo命令是有打印的意思
        $符号后面跟上PATH,表示输出PATH的变量

        PATH(一定是大写的)这个变量是由一堆目录组成,分隔符是":"号,而不同于windows的";"号。

        绝对路径与相对路径

        Linux中非常重要的概念--路径,路径用来定位如何找到某个文件。

        这里超哥先讲个例子,到底什么是相对路径,绝对路径

        比如一个老外,要来老男孩教育学习python,但是他找不到地点,因此向你问路,你可以告诉他:

            1.先坐飞机来中国北京,从北京机场坐地铁到沙河地铁站,然后走路800米到沙河汇德商厦,上四楼,找到超哥,结束寻路。

          2. 超哥就在汇德商厦403办公室,武佩奇后面坐着呢!!!

        Linux下特别注意文件名/路径的写法,可以将所谓的路径(path)定义为绝对路径(absolute)和相对路径(relative)。这两种文件名/路径的写法依据是这样的:

        • 绝对路径:由根目录(/)为开始写起的文件名或者目录名称,如/home/oldboy/test.py;
        • 相对路径:相对于目前路径的文件名写法。例如./home/oldboy/exam.py或../../home/oldboy/exam.py,简单来说只要开头不是/,就是属于相对路径

        因此你必须了解,相对路径是:以你当前所在路径的相对路径来表示的。

      • 例如你现在在/home 这个目录下,如要进入/var/log这个路径,如何写呢?
        1. cd /var/log (绝对路径)
        2. cd ../var/log(相对路径)

        结果如图:

        因为你在/home底下,因此你要回到上一层(../)之后,才能继续前往/var,特别注意:

        • .   :代表当前的目录,也可以用./ 来表示
        • ..  :代表上一层的目录,也可以用../来表示

        分割线----

        这个.与..目录概念非常重要,平时经常会看到cd ..或者python ../home/oldboy/exam.py 就是代表进入上一层与执行相对路径的python代码!

      • Linux的文件系统

        用户在硬件存储设备中执行的文件建立,写入,读取,修改,转存与控制等操作都是依赖文件系统完成的。文件系统的作用是合理规划硬盘,保证用户正常使用。

        Linux系统支持数十种文件系统,常见文件系统如下。

        • Ext3    是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能 自动修复数据的不一致与错误。
        • Ext4     Ext3 的改进版本,作为 RHEL 6 系统中的默认文件管理系统,它支持的存储容 量高达 1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4 文件系统能够批量分配 block 块,从而极大地提高了读写效率。
        • XFS     是一种高性能的日志文件系统,而且是 RHEL 7 中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的 日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为 18EB, 这几乎满足了所有需求。
        /etc/fstab是用来存放文件系统的静态信息的文件cat /etc/fstab #检查linux的文件系统

原文地址:https://www.cnblogs.com/wr13640959765/p/10040565.html

时间: 2024-11-11 10:30:51

Linux之文档与目录结构的相关文章

5,Linux之文档与目录结构

Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有"盘(C盘.D盘.E盘)"的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写. Linux不像Windows那样的系统目录,Linux使用正斜杠"/"而不是反斜杠"\"来标识目录. Windows目录: Linux目录: Linux首先是建立一个根"/"文件系统,所有的目录也都是由根目录衍生出来. 登录系统后,在当前

Linux文档与目录结构

Linux文件系统结构 Linux目录结构的组织形式和Windows有很大的不同.首先Linux没有"盘(C盘.D盘.E盘)"的概念.已经建立文件系统的硬盘分区被挂载到某一个目录下,用户通过操作目录来实现磁盘读写. Linux不像Windows那样的系统目录,Linux使用正斜杠"/"而不是反斜杠"\"来标识目录. Windows目录: Linux目录: Linux首先是建立一个根"/"文件系统,所有的目录也都是由根目录衍生出

swift api帮助文档中文 目录列表

欢迎来到 Swift    关于Swift    Swift之旅语言指南    基础知识    基本操作    字符串和字符    集合类型    控制流    函数    闭包    枚举    类和结构体    属性    方法     标     继承     初始化     反初始化     ARC     可选链接     类型转换     嵌套类型     扩展     协议     泛型     高级操作符 语言引用     关于语言引用     词法结构     类型     表

LINUX 内核文档地址

Set colors for man pages: 设置方法比较简单,打开/etc/bash.bashrc(需要root权限)或者~/.bashrc文件加入如下内容: # Set colors for man pagesman() {env \LESS_TERMCAP_mb=$(printf “\e[1;31m”) \LESS_TERMCAP_md=$(printf “\e[1;31m”) \LESS_TERMCAP_me=$(printf “\e[0m”) \LESS_TERMCAP_se=$

Linux常用文档操作命令--2

4.文档压缩与解压操作 在Linux中常见的压缩文件有:*.tar.gz.*.tgz.*.gz.*.Z.*bz2等.其每种不同的压缩文件对印的压缩和解压命令也不同. *.tar.gz :tar程序打包的文档,并且经过gzip的压缩. *.tgz :tar程序打包的数据,并没有经过压缩. //注:tar是打包程序,能将多个文档打包成一个文档 *.gz :gzip程序压缩的文档. *.Z :compress程序压缩的文档. *.bz2 :bzip程序压缩的文档. 1).compress:它是用来将文

Linux帮助文档

Linux帮助文档 Linux的命令是如此的多,我们只能记住常用的一些命令,而且没有一个教程会把所有的命令覆盖掉,授人以鱼不如授人以渔,当掌握如何查看Linux帮助文档时候,就能在拿到一个不知道的命令时,查看它的用途. 当我们记不清某个命令,或者想做某个操作的时候却不知道是否有这个命令的时候.我们可以去搜索引擎中去搜索. 当我们知道一个命令时候,但是不知道它有哪些选项,可以跟哪些参数的时候,可以使用命令man man man 命令的作用是 获取一个命令的帮助文档. > man ls 通过这个命令

SharePoint 2013/2010 在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变

本文讲述SharePoint 2013/2010 在一个列表或文档库内移动列表项.文档和目录位置而保持last modify by 等系统字段保持不变的解决方式. 近期遇到客户一个需求,在一个列表或文档库内移动列表项,文档和目录位置而保持last modify by 等系统字段保持不变. 研究出来了.不敢独享.特此共享出来给同鞋们做參考: using Microsoft.SharePoint; using System; using System.Collections.Generic; usi

linux学习之路之目录结构

FHS的产生 我们知道目前linux的发行版本很多,如果每一个发行版本,它的目录层次结构都不相同的话,那么当管理员去管理其他的linux主机时,就会不知多措了.而且在开发过程中,如果每一个程序员都按照自己的想法去存放的数据的话,那么其他的程序员想去查找别人的数据文件时,这是问题就来了,因为文件系统中存放了那么多的数据,谁知道你把数据存放在哪儿了?因此,需要一个标准来规范,这样每个人都按照这种规范去存放.查找数据等操作,这样,当其他人如果需要去查找的话,就会简单多了. FHS:全称为文件系统目录标

[Linux] Linux 中的基本命令与目录结构(待移除)

Linux 中的基本命令与目录结构 目录 一.Linux 基本目录结构 二.基本命令 三.浏览目录 四.中间命令 五.更改密码 六.环境变量和 shell 变量 七.命令路径 八.文本编辑器 九.获取在线帮助 十.shell 输入输出 十一.操作进程 十二.更改文件权限 十三.归档和压缩 一.Linux 基本目录结构 二.基本命令 1.shell 命令行界面,Unix 中最重要的部分之一. 2.shell 是运行命令行的应用程序,命令行是指用户输入的命令. 3.shell 脚本,也是 Unix