欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux系统目录结构和相对、绝对路径详解

程序员文章站 2022-04-12 21:40:22
系统目录结构 在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录 在WIN中,它是多根 c:\ d:\e:\ Linux只有一个根目录 使用tree命令查看linu...

系统目录结构

在WIN系统中,查看文件先进入相应的盘符,然后进入文件目录

在WIN中,它是多根 c:\ d:\e:\

Linux只有一个根目录

使用tree命令查看linux目录结构,这个命令默认是没有安装的,需要手工安装一下

[root@xuegod63~]# mount /dev/sr0 /media/

mount:/dev/sr0 写保护,将以只读方式挂载

[root@xuegod63~]# rpm -ivh /media/Packages/tree-1.6.0-10.el7.x86_64.rpm

查看/tmp目录结构

[root@xuegod63~]# tree /tmp/

查看根下有哪些文件:

根下的目录作用说明:

目 录

说 明

/

处于linux系统树形结构的最顶端,它是linux文件系统的入口,所有的目录、文件、设备都在 / 之下

/bin

bin是Binary的缩写。常用的二进制命令目录。比如 ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gnu工具

/boot

存放的系统启动相关的文件,例如:kernel.grub(引导装载程序)

/dev

dev是Device的缩写。设备文件目录,比如声卡、磁盘……在Linux中

一切都被看做文件。终端设备、磁盘等等都被看做文件

设备文件: /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/cdrom

/etc

常用系统及二进制安装包配置文件默认路径和服务器启动命令目录

passwd 用户信息文件

shadow 用户密码文件

group 存储用户组信息

fstab 系统开机启动自动挂载分区列表

hosts 设定用户自己的IP与主机名对应的信息

/home

普通用户的家目录默认存放目录

/lib

库文件存放目录,函数库目录

/lost+found

只在centos6中有

默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件) 当系统非法关机后,这里就会存放一些文件。

在centos6版本下,每个分区的挂载点下会有些目录

/mnt

/media

一般用来临时挂载存储设备的挂载目录,比如有cdrom、U盘等目录

在CENTOS7中会挂载到/run下面

/opt

表示的是可选择的意思,有些软件包也会被安装在这里

/proc

操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里

查看咱们的CPU信息

cat /proc/cpuinfo

/sys

系统目录,存放硬件信息的相关文件

/run

运行目录,存放的是系统运行时的数据,比如进程的PID文件

/srv

服务目录,存放的是我们本地服务的相关文件

/sbin

大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的

/tmp

该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是相似的,不能存放重要数据,它的权限比较特殊

[root@xuegod63 ~]# ls –ld /tmp

drwxrwxrwt 10 root root 12288 Oct 3 20:45 /tmp/ à粘滞位(sticky bit)目录的sticky位表示这个目录里的文件只能被owner和root删除

/var

系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如/var下有/var/log目录用来存放系统日志的目录,还有mail、/var/spool/cron

/usr

存放应用程序和文件,
/usr/bin 普通用户使用的应用程序
/usr/sbin 管理员使用的应用程序
/usr/lib 库文件Glibc(32位)
/usr/lib64 库文件Glibc

/lib

/lib64

都在/usr/目录下

这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库

注:lib***.a是静态库
lib***.so是动态库

静态库在编译时被加载到二进制文件中
动态库在运行时加载到进程的内存空间中

简单的说:这些库是为了让你的程序能够正常编译运行的

其实类似于WIN中.dll文件,几乎所有的应用程序都需要用到这些共享库

绝对路径和相对路径

路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径

绝对路径:在Linux中,绝对路径是从”/”开始的,比如/usr、/etc/passwd。如果一个路径是从根(/)开始的,它一定是绝对路径.

相对路径:相对路径是以 . 或 .. 开始的,

[root@xuegod63 etc]# pwd #判断用户当前所处的位置

绝对路径: 从/开始的路径 /home/mk

相对路径: 相对于当前目录开始,a.txt ./a.txt ../miao/b.txt当前目录在/etc

[root@xuegod63~]# cd /etc/

[root@xuegod63etc]# ll passwd

-rw-r--r-- 1root root 2116 11月 1614:57 passwd

[root@xuegod63etc]# ll /etc/passwd

-rw-r--r-- 1root root 2116 11月 1614:57 /etc/passwd