Linux的基本目录

在根路径通过ls可以看到顶级的目录,如下所示(这里用的是centos7的环境):


image.png

还有就是可以通过tree命令查看
查看根目录下第一级的目录,使用命令:tree -L 1 /


image.png
/bin:

bin 是 Binaries (二进制文件) 的缩写,这个目录存放着最经常使用的命令,是所有二进制命令所在的目录。

/boot:

这里存放的Linux内核及引系统程序所需的目录,是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

/dev :

dev 是 Device(设备) 的缩写, 该目录是所有设备文件的目录,里面存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

/etc:

etc 是 Etcetera(等等) 的缩写,这个目录是二进制安装包(yum,rpm)配置文件默认路径,服务启动命令存放目录。
用来存放所有的系统管理所需要的配置文件和子目录。这个目录比较重要,如果误删或者更改了其中的某个文件可能导致系统不能启动。

/home:

用户的主目录,这个是默认的用户数据存放目录。
在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,比如 alice、bob 和 eve。

/lib:

lib 是 Library(库) 的缩写,这个目录是库文件存放目录。
里面存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:

这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

/media:

Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。

/mnt:

系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。

/opt:

opt 是 optional(可选) 的缩写,这是用户自行安装的软件包存放目录。
主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。

/proc:

proc 是 Processes(进程) 的缩写,他是进程及内核信息存放目录。
/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

/root:

该目录为系统管理员,也称作超级权限者的用户主目录。

/sbin:

s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,他是系统管理命令存放目录。这里存放的是系统超级管理员使用的系统管理程序。

/selinux:

这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

/srv:

该目录存放一些服务启动之后需要提取的数据。

/sys:

这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

/tmp:

tmp 是 temporary(临时) 的缩写,这个目录是用来存放一些临时文件的。

/usr:

usr 是 unix shared resources(共享资源) 的缩写,这是系统存放程序的目录。
他是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
其中又有如下几个重要的子目录
1)/usr/bin:
用于存放系统用户可执行文件目录(应用程序)。

2)/usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序,比如一些网络管理工具的软件目录。

3)/usr/src:
内核源代码默认的放置目录。

/var:

var 是 variable(变量) 的缩写,这个目录中存放着内容常变动的文件目录。
这个是不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

/run:

是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

需要注意的是,/bin, /sbin, /usr/bin, /usr/sbin这些都是是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。其中/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。

几个比较重要的子目录

网卡配置目录

目录地址:/etc/sysconfig/network-scripts/ifcfg-enp2s0,其中ifcfg-enp2s0这个是网卡名称,不同的机器环境名称可能不同,一台机器还可能有多个网卡或者无线网卡。
这里我们再来看一下一个典型的网卡配置文件,如下:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp2s0"
UUID="3382078f-9f8f-45a4-82d5-c42ff5938e31"
DEVICE="enp2s0"
ONBOOT="yes"
IPADDR=172.16.16.39
GATEWAY=172.16.16.1
NETMASK=255.255.255.0
DNS1=202.96.134.133
DNS2=119.29.29.29
ZONE=public

我们要改网卡参数,可以直接改上面的文件,然后重启网卡生效,也可以通过setup命令去修改。

/etc/resolv.conf

这个是设置本地DNS的文件,我们来看一个示例配置,如下:

# Generated by NetworkManager
search monitor6
nameserver 202.96.134.133
nameserver 119.29.29.29
/etc/hosts

用户IP与名称(域名)的对应解析的配置文件,这个在实际的生产环境中,主要用于服务器迁移。

/etc/sysconfig/network

这个目录用来记录修改机器名及网卡启动、网关配置文件。

/etc/fstab

这个目录用来记录开机要挂载的文件系统的文件。

/etc/inittab

用于设定系统启动时init进程,将把系统设置成什么样的运行级别及加载相关的启动文件设置的文件。

/etc/init.d

安装的软件启动服务(系统的启动服务)所在目录。

/etc/profile

系统全局环境变量的配置文件,和windows里面的环境变量设置作用类似。

/etc/issue

显示用户登陆前的信息。

/etc/motd

用户登陆提示信息,修改该文件,重新登录后显示新的提示信息。

/etc/group

用户组名相关的信息。

/etc/passwd

系统所有用户账号信息文件。

/etc/shadow

系统所有用户密码信息文件。

/var/log/secure

登陆系统存取信息文件(系统安全日志文件)。

/var/spool/cron

定时任务配置文件,系统所有的定时任务都存放此目录下面。

你可能感兴趣的:(Linux的基本目录)