第二章 Linux系统总览-2.4 Linux系统的目录和文件介绍

按照前面的建议,你将Ubuntu系统在虚拟机中安装好了,重新启动虚拟机,这个新安装的Ubuntu系统就会起来。

可以看到,在Windows系统上,通过虚拟机,又运行了一个Linux系统。这个Linux系统时全功能的,跟安装在一个实际的电脑上的功能是一样的。所以,你学习时,可以把这个Linux系统当做是安装在一台实际的物理PC的是一个Linux系统。

那这个Ubuntu系统默认有哪些常用软件可以用,这个我们下一个章节专门来进行介绍,这里,先讲接上一下Linux系统的主要目录结构,从总体上简单来了解一下Linux系统。

先来看一下Windows的目录,通常,我们打开我的电脑,就可以看到C盘,D盘等等,C盘,D盘是硬盘的不同的分区,每个分区下就是存放各种文件或者文件夹,一层一层的。通常, windows系统是安装在C盘,你打开C盘,就可以看到Windows的系统目录,如Windows目录,Program Files目录等,在这些目录中,安装着Windows系统和软件相关的文件,我们一般也不会去动这些文件,如果有些系统文件不小心给删除了,可能系统就启动不了了。

那在Linux下,其实也是类似的,也会有一堆目录和文件,有些目录是系统相关的,有些目录是安装软件的目录,有些目录是用户使用的,当然,用户也可以创建自己的目录。

但Linux和Windows相比,也有一些不同,比如,你会发现,没有C盘,D盘等,只能看到目录和文件。

让我们接下来详细来分析和说明:

打开Ubuntu系统的文件浏览器,选择我的电脑,就可以看到如下的目录结构

Linux文件浏览器查看Linux目录和文件

确定,Linux没有C盘,D,在Linux上,有个顶层的目录我们叫做根目录,用斜杠/表示,整个文件系统就是以/为根目录的一个树形结构,画出来就类似下图,不同的Linux发行版,可能会稍有不同,但都是大同小异:

Linux主要目录结构

当然,Linux也是支持多分区的,但它都是用目录来表示,所有的目录可以是一个分区,但也可以将其中一个分区作为其中的一个目录,不管是一个分区,还是多个分区,在Linux下看到的都是目录,所以,有些Linux书上也有提到,Linux上,一切皆文件和目录。

我们以下是对这些目录分别来进行一些解释说明,如果暂时没法完全理解,也没关系,等学到后来,可以再返回会来,反复看看,就会有越来越深刻的理解。要一个初学者,看了下面的介绍,完全理解和体会,其实也不太可能,先有个概念就好。另外,最重要的是,你不能光看底下的介绍文字,要实际在你的Ubuntu系统下去操作一下,看一下,里面到底有哪些文件,哪怕不理解,也比你光看文字要强,立刻行动起来,不要想着我等会再去操作,你大概现在就是这样想的吧,哈哈。

  • /bin:
    bin是Binary的缩写, 这个目录存放着最Linux经常使用的命令或者可执行程序。
  • /boot:
    这里存放的是启动Linux时使用的一些核心文件,比如最重要的Linux内核,启动配置文件等,一般都在这个目录下。后面我们再讲Linux启动过程时,会再讲到这个目录下的相关文件。
  • /dev :
    dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。后面我们会再详细讲。这里,你只要理解,Linux下,一切皆文件,一个U盘,一个磁盘,一个串口,都是文件,要访问这个外设,就是去访问这个设备文件。
  • /etc:
    这个目录用来存放所有的系统管理所需要的配置文件和相关子目录,系统的很多启动脚本,也是在这个目录下。
  • /home:
    用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账 命名的。假设系统有个叫james的用户,通常,就会存在一个/home/james的目录,这个/home/james的目录,就是james用户的主目录,我们也称之james的home目录。
  • /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

    当然,因为这个文件是存在内存中的,所以这个配置是无法永久保存的,当重启后,这个设置又恢复为之前的默认值。如果要每次启动都改变这个值,通常可以修改启动脚本,在启动脚本中去修改这个配置,这样系统每次启动后,其配置就是你想要的配置的,在Linux中,很多初始化都是通过启动脚本来进行的。

  • /root:
    该目录为系统管理员,我们通常称之为root用户或者Linux根用户,这个目录也就是root用户的目录,而其他非root用户的主目录,前面提到过,都在/home目录下,root用户是一个特例。
  • /sbin:
    s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
  • /selinux:
    这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
  • /sys:这个目录和/proc目录一样,也是存在在内存中,sys文件系统的主要作用,是对系统上的设备与总线进行组织与管理,以形成分级的文件。用户空间可以访问或配置这些文件,进而得知系统状态或者控制系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。对于上面的解释,你现在可能还不懂,没有关系。现在不懂是正常的,等看完本书,再回过头来看看,就知道我说的是什么意思了。
  • /tmp:
    这个目录是用来存放一些临时文件的。
  • /usr:
    这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
  • /usr/bin:
    系统用户使用的应用程序。
  • /usr/sbin:
    超级用户使用的比较高级的管理程序和系统守护程序。
  • /usr/src:
    内核头文件或者源代码默认的放置目录。一般编译驱动程序,就需要使用到内核的头文件,我们后面见到驱动开发的时候,会再进行说明。
  • /var:
    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
  • /run:
    是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  • 在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。

  • /etc:上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
  • /bin, /sbin, /usr/bin, /usr/sbin:这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
  • 值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

    看到这里,可能也有人有疑惑,哪些是系统的文件,不能删除的,哪些是用户的文件,比如在Windows下,我们一般系统安装在C,然后其他自己的文件放在D:盘等其他盘上,在Linux下,对于新手来说,的确不太好区分,我们一般把自己的文件放在home目录下对应的用户目录下,比如当前你是以James这个用户登录的,那你的问题一般就放在/home/james目录下,安装的一些软件,通常会放在/usr/local/, /opt等目录下,但linux下没有绝对规定,你可以放到任何目录下。至于系统启动配置和启动脚本,绝大部分是在/etc/目录下存放着,当然这些启动脚本,会用到一些命令,有些命令执行,又要用到一些系统的库文件,这些命令文件,很可能就存在/sbin/,/bin,/usr/bin/, /usr/sbin/等目录,而一些系统库文件,通常放在/lib/, /usr/lib/等目录,后面我会我会专门一个小结,来详细讲述Linux启动过程,等会看完那个小结,可以再回过头来看看这个目录结构的章节,可能有会有更多的理解了。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年10月19日
    下一篇 2022年10月19日

    相关推荐