Linux不同于windows系统,在linux中,一切都是文件,无论是普通的文件、目录、还是分区,都是以级层式的树状目录结构程现出来。学习linux,我们就要初步了解每个目录对应存放的内容,了解相应的目录结构。
常见目录说明:
/ 根目录,根目录在linux文件系统的最上层,所有的目录、文件、设备都是位于此目录下再创建的目录。
/bin bin是Binary的缩写。此目录一般存放一些常用命令。比如vi、cp、 dir 、rm等等;
/boot 存放着系统启动引导文件,例如:kernel.grub(引导装载程序)
/dev dev 是Device的缩写。设备文件目录,所有的硬盘,U盘等等在Linux中一切都被看做文件。
如设备文件:/dev/sda,/dev/sdb 等等
/etc 常用系统及二进制安装包配置文件默认路径和服务启动命令目录,如:/etc/passwd 等等、
/etc/passwd 用户信息文件
/etc/shadow 用户密码文件
/etc/group 用户组信息
/etc/fstab 系统开机启动自动挂载分区列表
/etc/hosts 设定用户自己的IP与主机名对应的信息
/home 普通用户的默认存放目录
/lib 库文件存放目录,函数库目录
/mnt与/media /mnt和/media一般用来临时挂载存储设备的挂载目录,比如有cdrom,U盘等目录
/mnt/hgfs 安装vmware-tools后,使用共享文件夹功能,可以共享虚拟机和真机目录,实现文件相互复制,一般这个功能没什么用,我们可以使用winscp或Xshell来上传文件。
/opt 表示的是可选择的意思,有些软件包也会被安装在这里。如:gitlab。
/proc Linux系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。proc并不是真正的文件系统,因此,这个目录是一个虚拟目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里。
查看咱们的CPU信息
cat /proc/cpuinfo
/sys 系统目录,存放硬件信息的相关文件
/run 运行目录,存放的是系统运行时的数据,比如进程的PID
/srv 服务目录,存放的是我们本地服务的相关文件
/sbin 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的。
/tmp 该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/var/tmp目录和该目录的作用是相似的,不能存放重要的数据,系统会定期删除这个目录下的没有被使用的文件。
/var 系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如/var下有/var/log目录用来存放系统日志的目录,还有mail、/var/spool/cron
/usr 存放应用程序和文件
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序
/usr/lib 库文件Glibc(32位)
/usr/lib64 库文件Glibc(64位)
/lib和/lib64 是/usr/lib和/usr/lib64的软链接,这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里DLL文件,几乎所有的应用程序都需要用到这些共享库。
注:lib***.a是静态库,lib***.so是动态库,静态库在编译时被加载到二进制文件中,动态库在运行时加载到进程的内存空间中。
简单的说:这些库是为了让你的程序能够正常的编译运行,其实类似于windows中的.dll文件,几乎所有的应用程序都需要用到这些共享库。
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
以上就是Linux 文件目录结构的一些基本介绍。我们要在脑海里有一个Linux结构的基本印象,记住linux是以文件的形式管理我们的设备 ,要大概了解每个目录所存放的内容。