基本介绍
1、Linux文件系统是采用层级式的树状目录结构,根目录是“/”。
2、在Linux的世界里:一切皆文件(包括硬件)。
3、Linux的各个目录存放的内容是规划好的,不要乱放文件。
/ – 根目录
根目录,位于Linux文件系统目录结构的顶层,
Linux的目录结构就像大树,先是树干(/),然后是分支,层层细分。
任何内容都位于根目录之下,根目录通过一个路径符号/表示。
可以将根目录理解为Windows下面的C:\目录。但是严格来说并不一样,Linux下的"/"是所有内容(包括文件目录、设备和文件等)的根,而Windows下的C:\并不是,因为可能有多个磁盘或者多个分区,Windows下可能还有D:\或者E:\。(可以修改盘符,定义到C盘目录下)
一般根目录下只存放目录,不要存放文件。
我们可以通过执行命令cd /将当前工作路径切换到根目录。并通过命令tree -L 1显示根目录的所有下一级目录。本例中只显示了一级子目录,也可以通过-L 2显示二级子目录,但结果可能会占满整个屏幕。
[root@centos7 /]#ll
total 28
drwxr-xr-x. 4 root root 119 Nov 30 18:01 app
lrwxrwxrwx. 1 root root 7 Aug 1 04:14 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Nov 7 23:26 boot
drwxr-xr-x. 19 root root 3360 Nov 19 21:24 dev
drwxr-xr-x. 141 root root 8192 Nov 30 21:34 etc
drwxr-xr-x. 15 root root 205 Nov 30 21:34 home
lrwxrwxrwx. 1 root root 7 Aug 1 04:14 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Aug 1 04:14 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 3 root root 16 Aug 1 04:23 opt
dr-xr-xr-x. 327 root root 0 Oct 24 22:23 proc
dr-xr-x---. 15 root root 4096 Nov 30 21:11 root
drwxr-xr-x. 43 root root 1300 Dec 1 10:02 run
lrwxrwxrwx. 1 root root 8 Aug 1 04:14 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Oct 24 22:23 sys
drwxrwxrwt. 20 root root 4096 Dec 1 11:42 tmp
drwxr-xr-x. 13 root root 155 Aug 1 04:14 usr
drwxr-xr-x. 20 root root 4096 Nov 6 17:21 var
[点击并拖拽以移动]
/bin:
bin 是 Binary(二进制文件) 的缩写, 该目录为命令文件目录,也称为二进制目录。
这个目录存放着最经常使用的命令,包含了供系统管理员及普通用户使用的重要的linux命令。
可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。
/boot:
该目录中存放的是启动 Linux 时使用的一些核心文件,系统的内核文件和引导装载程序文件。该目录中存放系统的内核文件和引导装载程序文件,包括一些连接文件以及镜像文件。
开机时载入开机管理程序(bootloader),并映像到内存中
建议单独分区,分区大小100M即可。
/dev :
dev 是 Device(设备) 的缩写, 存放linux系统下的设备文件。如disk,、dvd、 floppy、stdin,包括字符设备和块设备等。
在 Linux 中访问设备的方式和访问文件的方式是相同的。访问该目录下某个文件,相当于访问某个设备。类似于Windows的设备管理器,把所有的硬件以文件的形式存储;
常用的是挂载光驱mount /dev/cdrom/mnt。
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的重要配置文件和子目录等。
包括的配置文件有/etc/inittab、/etc/fstab、/etc/init.d、/etc/X11(X Window系统有关)、/etc/sysconfig(与网络有关)、/etc/xinetd.d等等。
可以通过文本编辑器修改配置项,修改配置文件之前记得备份。
不建议在此目录下存放可执行文件。
/etc/passwd 口令和用户的其他信息。
/etc/shadow 在安装了影子口令软件的系统上的影子口令文件.影子口令文件将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读
/etc/shells 文件中,如果不是将不允许该用户登录.
/etc/sysconfig 网络配置相关目录
/etc/DIR_COLORS 设定颜色
/etc/hostname 设定用户的节点名
/etc/host.conf 文件说明用户的系统如何查询节点名
/etc/hosts 设定用户自已的IP与名字的对应表
/etc/networks 设定网络的配置文件
/etc/fstab 记录开机要mount的文件系统
/etc/syslog.conf 系统记录程序syslogd的配置文件
/etc/nologin 系统在shutdown时不希望用户登录就产生这个文件
/etc/termcap 设置系统终端信息的
/etc/ttys 设定系统的终端类型
/etc/login.access 控制用户登录权限的文件
/home:
系统默认的用户宿主目录,在 Linux 中,每个用户都有一个自己的目录,用户的宿主目录都存放在此目录下。
一般该目录名是以用户的账号命名的。例如:/home/zhangsan
/lib:
lib 是 Library(库) 的缩写。这个目录里存放着系统最基本的动态连接共享库,系统使用的函数库的目录需要调用一些额外的参数时需要函数库的协助。
其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/media:
linux 系统会自动识别一些设备,例如U盘、光驱(cdrom)等等,当识别后,Linux 会把识别的设备挂载到这个目录下。用户挂在本地磁盘或者其他存储设备。
/mnt:
mnt字符是mount的缩写,系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容。
/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
自行安装(第三方)的非常规软件通常会安装在该目录。
/proc:
proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存放的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里。比较重要的目录有/proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/*等。
/proc/cpuinfo 本机的 CPU 的相关资讯,包含时脉、类型与运算功能等
/proc/filesystems 目前系统已经加载的文件系统。
/proc/ioports 目前系统上面各个装置所配置的 I/O 位址。
/proc/kcore 这个就是内存的大小,但是不要读他。
/proc/meminfo 使用 free 列出的内存资讯,在这里也能够查阅到。
/proc/mounts 系统已经挂载的数据,就是用 mount 这个命令呼叫出来的数据。
/proc/partitions 使用 fdisk -l 会出现目前所有的 partition
/proc/pci 在 PCI 汇流排上面,每个装置的详细情况,可用 lspci 来查阅。
/proc/uptime 就是用 uptime 的时候,会出现的资讯。
/proc/version 核心的版本,就是用 uname -a 显示的内容。
/proc/bus/* 一些汇流排的装置,还有 U盘 的装置也记录在此。
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
目录/root是root用户的主目录。root用户的主目录并不是在/home下面,而是在根目录下面。
/run:
是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
用于应用程序存储经常变化的文件,比如文件锁、进程ID或者套接字等等。
/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
包含一些重要的命令,如shutdown、dump等
/srv:
service的缩写,该目录存放一些服务进程启动之后需要提取的数据文件。
通常该目录是空的。这个目录中的数据通常是提供给外部的,比如Web网站存储的用户信息。这里需要注意与/var和/tmp的区别,前者是提供给外部用户的,而两者则是应用自己使用的,
/sys:
service缩写,该目录存放一些服务启动之后需要提取的数据。sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr:
usr 是 unix shared resources(共享资源) 的缩写,应用程序存放目录。这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下。
/usr/bin:存放应用程序,
/usr/share 存放共享数据,
/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。
/usr/share/doc: 系统说明文件存放目录。
/usr/share/man: 程序说明文件存放目录。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
/var:
var 是 variable(变量) 的缩写,变量文件--在正常运行的系统中其内容不断变化的文件。这个目录中存放着在不断扩充着的东西,经常被修改的目录放在这个目录下。包括各种日志文件、脱机文件、临时电子邮件文件/var/log/。有时候是一个单独的分区。
总结:
在 Linux 系统中,有几个目录是特备重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 这个目录很重要,这个是系统中的配置文件,开机与系统数据文件均在这个目录之下,因此当这个目录被破坏,会很严重!在 /etc/rc.d/rc.local 这个文件是开机的执行档。如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 root 常常使用的 userconf, netconf,, gcc, c++ 等等的数据都放在这几个目录中。其中, /bin, /usr/bin 是给系统使用者使用的指令(除 root 外的通用用户),而 /sbin, /usr/sbin 则是给系统管理员(root)使用的指令。 ls 就是在 /bin/ls 目录下的。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,包括登录、登出等,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,当系统有问题时,可以查看这个目录记录的文件数据中察看问题的所在另外。mail 的预设放置也是在这里。
/usr/share/man, /usr/local/man: 这两个目录为放置各类套件说明档的地方,例如你如果执行 man man,则系统会自动去找这两个目录下的所有说明文件。