1、系统目录结构
Linux只有一个根目录
使用tree命令查看linux目录结构
[root@fishman-160 /]# tree -L 1 #仅下降一级目录的深度。
.
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
临时挂载光驱
[root@fishman-160 dev]# mount /dev/sr0 /mnt #sr0是光驱 /dev/cdrom -> sr0
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@fishman-160 dev]# cd /mnt
[root@fishman-160 mnt]# ls
EFI images isolinux LICENSE TRANS.TBL
[root@fishman-160 mnt]# umount /mnt
umount: /mnt: target is busy. #需要退出cdrom的路径后才能卸载
[root@fishman-160 mnt]# cd ~
[root@fishman-160 ~]# umount /mnt #卸载成功
[root@fishman-160 ~]# ls mnt
ls: 无法访问'mnt': 没有那个文件或目录
[root@fishman-160 ~]#
目 录 | 说 明 |
---|---|
/ | 处于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并不是真正的文件系统。因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里** |
/sys | 系统目录,存放硬件信息的相关文件 |
/run | 运行目录,存放的是系统运行时的数据,比如进程的PID文件 |
/srv | 服务目录,存放的是我们本地服务的相关文件 |
/sbin | 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,凡是目录sbin中包含的命令都是root权限才能执行的 |
/tmp | 该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。/tmp就是用来存放临时文件的。/var/tmp目录和该目录的作用是相似的,不能存放重要数据,它的权限比较特殊 |
/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文件,几乎所有的应用程序都需要用到这些共享库** |
2、相对路径与绝对路径
[root@fishman-160 公共]# ls ../../etc #../表示相对路径
[root@fishman-160 ~]# ls ./
公共 模板 视频 图片 文档 下载 音乐 桌面 anaconda-ks.cfg initial-setup-ks.cfg #./表示绝对路径
3、tree
tree
命令是一个用于显示目录结构的实用工具。它以树状图的形式递归地列出指定目录下的所有文件和子目录,并提供有关它们的基本信息。tree
命令通常用于终端中,用于查看和分析目录结构,特别是在 Linux 和类Unix操作系统上非常常见。以下是 tree
命令的一般介绍:
命令格式:
tree [选项] [目录]
常用选项:
-
-a
:列出所有文件和目录,包括以.
开头的隐藏文件。 -
-d
:只显示目录,而不显示文件。 -
-f
:在文件和目录名称前面显示完整的路径。 -
-i
:不显示缩进线条,使输出更为简洁。 -
-l
或--follow-links
:跟踪符号链接指向的目标文件或目录,并显示其内容。 -
-L level
:限制递归深度,只显示指定层级的目录结构。 -
-R
:递归列出目录结构,显示所有子目录和文件(默认行为)。 -
-P pattern
:指定一个文件或目录名称的模式,只显示与模式匹配的文件和目录。 -
-I pattern
:排除指定的文件或目录名称的模式,不显示与模式匹配的文件和目录。 -
-s
:在每个子目录的顶部显示它的大小。 -
-h
:以人类可读的方式显示文件和目录的大小(例如,使用 K、M、G 表示文件大小)。 -
-p
:在输出中显示文件和目录的权限。 -
-u
:在输出中显示文件和目录的所有者。 -
-g
:在输出中显示文件和目录的组。 -
-F
:在目录名称后添加斜杠以区分目录。 -
-C
:在输出中使用彩色格式,以帮助区分文件类型。
示例用法:
-
显示当前目录的目录结构:
tree
-
显示指定目录的目录结构,包括子目录和文件:
tree /path/to/directory
-
显示指定目录的目录结构,只显示目录而不显示文件:
tree -d /path/to/directory
-
显示当前目录的目录结构,以人类可读的方式显示文件和目录大小:
tree -h
tree
命令对于查看文件和目录的布局、文件数量以及目录结构非常有用。它经常用于系统管理、文件管理和项目管理任务中,以帮助用户更好地理解和导航目录结构。
例
-
显示当前目录的目录结构内的所有目录,并显示其所有者和所有组
[root@localhost app]tree -d -u -g .
标签:文件,mnt,dev,系统目录,相对路径,usr,绝对路径,root,目录 From: https://www.cnblogs.com/kcloveworld/p/17984179