系统目录结构

几乎所有的计算机操作系统都是使用目录结构组织文件。具体来说就是在一个目录中存放子目录和文件,而在子目录中又会进一步存放子目录和文件,以此类推形成一个树状的文件结构,由于其结构很像一棵树的分支,所以该结构又被称为目录树。

windows:以多根的方式组织文件,系统目录与磁盘是强对应的。C盘下目录文件不可能与D盘下目录有关联或交集

Linux:以单根的方式组织文件。Linux系统目录与磁盘等设备是不直接关联的,每个目录都可以挂载在不同的设备上。访问/、/etc、/boot时可能是在访问完全不同的分区和磁盘。

Linux下的设备(如磁盘)如果不挂载,则看不到入口,无法使用。如要访问则需开个口,即挂载点(实质是一个目录)。开口的过程即挂载。开机会加载/etc/fstab文件,实现对系统分区的自动挂载。

简单历史:最早/挂载在第一块硬盘上(井盖那么大,容量才1.5M),很快满了,后来就搞第二块,而且规定系统放1,用户放2,即/usr挂载在第二块上....如此延续

诞生后做了个标准:目录层次标准。FHS 网站可查 www.pathname.com/fhs/

做了两层规定:/下放啥 ;/usr和/var这俩下放啥

用tree命令查看根目录下的内容

[root@localhost ~]# tree -L 1 /
/
├── bin -> usr/bin    英文二进制binaries的缩写,存储二进制文件命令(普通用户和超级用户可以执行) 比如ls cp等
├── boot               存放Linux的内核及系统引导程序 开机加载文件
├── dev                Device 设备文件
├── etc                存放系统所有的配置文件;Cent6服务启动命令存放目录
├── home               普通用户的家目录
├── lib -> usr/lib     libraries 库   启动系统和运行命令所需的共享库文件和内核模块
├── lib64 -> usr/lib64    64位的
├── media            多媒体文件存放目录
├── mnt              临时挂载点。比如U盘往里一插
├── opt              存放应用程序
├── proc             进程
├── root             root用户的家目录
├── run              正在进行进程相关信息的文件
├── sbin -> usr/sbin   system binaries 存储二进制文件命令(只有超级管理员才能使用)
├── srv
├── sys
├── tmp          临时文件
├── usr          系统软件和用户相关程序
└── var          存放系统可变文件(系统日志等)
​
19 directories, 0 files
​
//注意:在Linux7系统中, /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下,例如:
/bin --> /usr/bin
/sbin --> /usr/sbin
lib -> usr/lib
lib64 -> usr/lib64
​

重点掌握

/etc     系统重要配置文件, 以及常用服务配置文件
/var     存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件
/run     系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等
/home    普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME
/root    超级管理员的主目录, 普通用户无权操作
/tmp     存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限
/boot    存放系统引导时候需要的文件
/dev     存放设备文件
/usr     安装的软件, 共享库, 重要的子目录有
/usr/bin      用户命令目录
/usr/sbin     管理员命令目录
/usr/local    本地自定义安装的软件
​

/etc目录

/etc/sysconfig/network-scripts/ifcfg-ens33
# 配置网卡信息  Cent7 我们执行的nmtui图形化配置上网 本质就是修改上述文件里的东西  以后就可以用vim直接改这个文件
​
/etc/hosts #本地域名解析文件
比如系统输入网址www.baidu.com后 优先找hosts,hosts文件里没有再找公网DNS
“自己打井吃水”
DNS Domain Name System域名系统
作用:把浏览器里输入的域名解析为服务器的IP地址,然后才能找到服务器
​
早起上网就是直接输IP,不方便,后来就发明了DNS,公网公共解析服务资源,谁想解析请求他就行了
“你告诉他域名,他告诉你ip”
“公用电、自来水服务”
​
/etc/resolv.conf ***** #DNS服务器配置
/etc/hostname 主机名配置文件
/etc/sysconfig/network ***** #IP、掩码、网关、主机名配置
​
/etc/fstab ***** #开机自动挂载。所有分区开机都会自动挂载
设备要挂载才能用。系统开机时运行此文件,自动挂载了安装时的分区。
比如插个u盘 希望下次开机能直接访问 就需要在此配置
​
/etc/rc /etc/rc.d ***** #/etc/rc*.d 启动、或改变运行级时运行的scripts或scripts的目录.
​
/etc/inittab ***** # Cent6 修改runlevel
[root@web01 ~]#cat /etc/inittab
# inittab is no longer used when using systemd.(Cent 7不再使用了)
​
/etc/exports ***** #设置NFS系统用的配置文件路径
/etc/init.d/ ***** #这个目录来存放系统启动脚本
​
/etc/profile ***** #全局系统环境配置变量
/etc/csh.login, /etc/csh.cshrc
​
/etc/issue ***** #用户登录输密码前的内容,默认输出版本内核信息
/etc/motd #设置认证后的输出信息
/etc/mtab #当前安装的文件系统列表.由scripts初始化,并由mount 命令自动更新.需要一
个当前安装的文件系统的列表时使用,例如df 命令
/etc/group ***** #类似/etc/passwd ,但说明的不是用户而是组.
/etc/passwd ***** #用户数据库,其中的域给出了用户名、真实姓名、家目录、加密的口令和用户的其他信息.
/etc/shadow ****** #在安装了影子口令软件的系统上的影子口令文件.影子口令文件
将/etc/passwd 文件中的加密口令移动到/etc/shadow 中,而后者只对root可读.这使破译口令更困难.
/etc/sudoers ***** #sudo命令的配置文件
/etc/syslog.conf ***** #系统日志参数配置
/etc/login.defs #设置用户帐号限制的文件
/etc/securetty #确认安全终端,即哪个终端允许root登录.一般只列出虚拟控制台,这样就不可能
(至少很困难)通过modem或网络闯入系统并得到超级用户特权.
/etc/printca #类似/etc/termcap ,但针对打印机.语法不同.
/etc/shells #列出可信任的shell.chsh 命令允许用户在本文件指定范围内改变登录shell.
提供一台机器FTP服务的服务进程ftpd 检查用户shell是否列在 /etc/shells 文件中,如果不是将不允许
该用户登录.
/etc/xinetd.d #如果服务器是通过xinetd模式运行的,它的脚本要放在这个目录下。有些系统没有这个目录,比如Slackware,有些老的版本也没有。在Redhat Fedora中比较新的版本中存在。
/etc/opt/ #/opt/的配置文件
/etc/X11/ #X_Window系统(版本11)的配置文件
/etc/sgml/ #SGML的配置文件
/etc/xml/ #XML的配置文件
/etc/skel/ ***** #默认创建用户时,把该目录拷贝到家目录下
​

说明:*的多少代表重要程度

/usr目录

默认软件都会存于该目录下。用于存储只读用户数据的第二层次;包含绝大多数的用户工具和应用程序。

​
/usr 目录 相当于windows下的 C:\Windows目录
/usr/local 软件安装目录 相当于C:\Program
/usr/bin 普通用户使用的应用程序(重要)
/usr/sbin 管理员用户使用的应用程序(重要)
/usr/lib 库文件Glibc 32bit
/usr/lib64 库文件Glibc 64bit
/usr/X11R6 #存放X-Windows的目录;
/usr/games #存放着XteamLinux自带的小游戏;
/usr/doc #Linux技术文档;
/usr/include #用来存放Linux下开发和编译应用程序所需要的头文件;
/usr/lib #存放一些常用的动态链接共享库和静态档案库;
/usr/man #帮助文档所在的目录;
/usr/src #Linux开放的源代码,就存在这个目录,爱好者们别放过哦;
/usr/bin/ #非必要可执行文件 (在单用户模式中不需要);面向所有用户。
/usr/lib/ #/usr/bin/和/usr/sbin/中二进制文件的库。
/usr/sbin/ #非必要的系统二进制文件,例如:大量网络服务的守护进程。
/usr/share/ #体系结构无关(共享)数据。
/usr/src/ #源代码,例如:内核源代码及其头文件。
/usr/X11R6/ #X Window系统版本 11, Release 6.
/usr/local/ #本地数据的第三层次,具体到本台主机。通常而言有进一步的子目录,例如:bin/、lib/、share/.这是提供给一般用户的/usr目录,在这里安装一般的应用软件;

/var目录

/var/log/message ***** #系统日志信息,按周自动轮询 (一周记一个 按时间命名)
/var/spool/cron/root ***** #定时器配置文件目录,默认按用户命名
/var/log/secure ***** #记录登陆系统存取信息的文件,不管认证成功还是认证失败都会记录
/var/log/wtmp #记录登陆者信息的文件,last,who,w命令信息来源于此
/var/spool/clientmqueue/ #当邮件服务未开启时,所有应发给系统管理员的邮件都将堆放在此
/var/spool/mail/ #邮件目录
/var/tmp #比/tmp 允许的大或需要存在较长时间的临时文件. (虽然系统管理员
可能不允许/var/tmp 有很旧的文件.)
/var/lib #系统正常运行时要改变的文件.
/var/local #/usr/local 中安装的程序的可变数据(即系统管理员安装的程序).
注意,如果必要,即使本地安装的程序也会使用其他/var 目录,例如/var/lock .
/var/lock #锁定文件.许多程序遵循在/var/lock 中产生一个锁定文件的约定,
以支持他们正在使用某个特定的设备或文件.其他程序注意到这个锁定文件,将不试图使用这个设备或文件.
/var/log/ ***** #各种程序的Log文件,特别是login (/var/log/wtmp
log所有到系统的登录和注销) 和syslog (/var/log/messages 里存储所有核心和系统程序信息.
/var/log 里的文件经常不确定地增长,应该定期清除.
/var/run #保存到下次引导前有效的关于系统的信息文件.例如,
/var/run/utmp 包含当前登录的用户的信息.
/var/cache/ #应用程序缓存数据。这些数据是在本地生成的一个耗时的I/O或计算结
果。应用程序必须能够再生或恢复数据。缓存的文件可以被删除而不导致数据丢失。

/dev目录

/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序,这一点和windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。我们可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。

设备文件分为两种:块设备文件(b)和字符设备文件(c) 设备文件一般存放在/dev目录下,

sda 系统的第一块磁盘
sda1 系统第一块磁盘的第一个分区
sda2 系统第一块次磁盘的第二个分区
sda3 系统第三块磁盘的第三块分区
sdc 系统的第三块磁盘
sdc3 系统第三快磁盘的第三个分区
sde2 系统第五块磁盘的第二个分区
dev/cdrom 光驱
dev/random 随机数
​
eg
/dev/sdb1   系统第二块磁盘的第一个分区
​
特殊设备
​2 /dev/null 它是空设备,也称为位桶(bit bucket)或者黑洞(black hole)。你可以向它输入任何数据,3 但任何写入它的数据都会被抛弃。通常用于处理不需要的输出流。(当然,它也可以作为空的输入流)4  5 /dev/zero 该设备无穷尽地提供空字符(ASCII NUL, 0x00),可以使用任何你需要的数目。6 它通常用于向设备或文件写入字符串0,用于初始化数据存储。(当然,也可作为输出流的接受容器)
​

/ proc 目录

虚拟文件系统,将内核与进程状态归档为文本文件(系统信息都存放这目录下)。

例如:uptime、 network。在Linux中,对应Procfs格式挂载。该目录下文件只能看不能改(包括root)

/proc/meminfo           ***** #查看内存信息
/proc/loadavg           ***** #查看负载(系统繁忙程度指标)对应命令uptime
当负载的数字和cpu核数相当的时候就是负载的一个临界点 如一颗2核cpu 到2 的时候就是临界点
三个数字分别对应是 1分钟   5   15分钟 的负载
/proc/uptime            ***** #就是用 uptime 的时候,会出现的资讯啦!
/proc/cpuinfo           ***** #关于CPU的信息,如类型、厂家、型号和性能等。

特殊目录“.”和“..”

​
在每个目录下, 都会固定存在两个特殊目录, 分别是.和..的目录。
一个点代表当的是当前目录, 两个点代表的是当前目录的上层目录。
注意: 在Linux下所有以点开始的文件都是"隐藏文件", 对于这类文件, 只使用命令ls -l是看不到的, 必须要使用ls -la才可以看到,如下所示:
​
[root@localhost ~]# ll -la
total 72
dr-xr-x---.  3 root root 4096 Aug 27 13:56 .
dr-xr-xr-x. 17 root root  224 Aug 17 15:27 ..
-rw-r--r--.  1 root root   23 Aug 25 09:24 001
-rw-r--r--.  1 root root    0 Aug 27 13:56 1
.....
​
​

文件路径定位

在我们开始操作文件前,首先需要对文件进行定位,比如: 你要在哪,创建什么文件? 你要将文件复制到什么地方? 你要删除什么地方的文件?

那什么是定位?

比如:下面messages所在的路径是?

绝对路径和相对路径

Linux系统采用了目录树的文件组织结构, 在Linux下每个目录或文件都可以从根目录处开始寻找, 比如: /usr/bin目录。

这种从根目录开始的全路径被称为"绝对路径", 绝对路径一定是以 “/” 开头的。

就好比,咱们在中国写快递地址的时候 ,如果你往外省邮寄,北京-上海

绝对路径 得写具体地址:上海市/浦东新区/创智良仓/3207

相对路径 那你在叫外卖的时候呢:浦东新区/创智良仓/3207

相对路径, 关键点在于当前在什么路径下。假设当前目录在/usr/local下, 那么它的上层目录(/usr目录)可以用../表示, 而/usr/local的下层目录(src)则可以用./src表示。所谓的(.)和(..)目录实际上也是属于相对路径#进入/opt目录
[root@db04 ~]# cd /opt/
[root@db04 opt]# ls -la
总用量 1048592
drwxr-xr-x.  3 root root       4096 5月  31 06:05 .          //当前目录
dr-xr-xr-x. 23 root root       4096 5月  21 11:11 ..         //上层目录
drwxr-xr-x.  2 root root       4096 11月 22 2013 rh
-rw-r--r--   1 root root 1073741824 5月  31 06:05 test.txt#进入当前目录
[root@db04 opt]# cd .
[root@db04 opt]# pwd
/opt#进入当前目录的上层目录
[root@db04 opt]# cd ..
[root@db04 /]# pwd
/

Linux文件管理(一)系统目录结构相关推荐

  1. Linux下文件系统目录结构

    Linux 文件系统目录结构简介 对于Linux来讲它的树型结构与Windows不同,Windows可以有多个分区,每个分区都有根,但Linux 只有一个根,其他的所有文件.目录或硬盘分区.软盘.光盘 ...

  2. linux根文件系统目录结构

    一.介绍 linux根文件系统也就是我们平时所说的rootfs,所有的文件都要在文件系统下才能被识别,包括所有的配置文件,这里介绍一下根文件系统目录结构 二.总统结构 /bin:linux的常用命令 ...

  3. Linux和Windows系统目录结构对比

    一.简介 Windows是大家最常用的操作系统,但可能很多人都没有去研究过 Windows 系统盘(默认C盘)的目录结构.如果使用 Linux 系统,我们就很有必要认真了解它的系统目录结构,本文将拿 ...

  4. Linux 根文件系统目录结构与功能,4.Linux根文件系统和目录结构及bash特性

    4.1Linux目录结构和根文件系统全面讲解 Linux文件系统: Linux:glibc 程序编译方式: 动态链接 静态编译 进程的类型: 终端:硬件设备, 关联一个用户接口 与终端相关:通过终端启 ...

  5. Linux/Unix操作系统目录结构的来历

    [IT168 资讯] Unix(包含Linux)的初学者,常常会很困惑,不明白目录结构的含义何在. 举例来说,根目录下面有一个子目录/bin,用于存放二进制程序.但是,/usr子目录下面还有/usr/ ...

  6. Linux入门笔记——系统目录结构

    目录 评论 / 根目录,万物起源. /bin 包含系统启动和运行所必须的二进制程序. /boot 包含 Linux 内核,最初的 RAM 磁盘映像(系统启动时,由驱动程序所需),和 启动加载程序. 有 ...

  7. linux 往文件写4k大小,[svc]为何linux ext4文件系统目录默认大小是4k?

    linux ext4普通盘为什么目录大小是4k? Why does every directory have a size 4096 bytes (4 K)? To understand this, ...

  8. Linux的文件系统目录说明(FHS)

    1.Linux的文件系统目录依据什么? 依据:FHS(filesystem hierarchy standard). 2.Linux 的文件系统目录结构? /bin :(binary)存放单人维护和操 ...

  9. Linux文件管理(基础):文件的时间、文件的扩展名、系统目录结构与作用、绝对路径与相对路径、文件管理、vi\vim

    文章目录 一. Linux系统的单根目录结构 文件的时间 文件的扩展名 二. 系统目录结构与作用 三. 绝对路径与相对路径 四. 文件管理 4.1 文件管理之:基本命令 4.2 文件管理之:创建/复制 ...

  10. linux 列出目录结构6,Linux系统目录结构及文件管理命令

    Linux目录结构及文件管理命令 目录结构 1.图示 2.目录功能 文件管理命令 1.创建文件 2.创建目录 3.复制 4.移动 5.删除 6.查看文件内容 7.修改文件内容 8.光标定位命令(命令模 ...

最新文章

  1. 如何理解机器学习中的嵌入 (Embeddings)?
  2. C#操作WMI文章汇总
  3. python语言及其应用-Python语言及其应用.PDF
  4. SpringBoot v2.2.6版本遇到的坑------Thymeleaf的sec:authorize标签无效
  5. glide默认的缓存图片路径地址_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...
  6. 使用多线程会加快文件读取速度吗?
  7. 帮设计师与工程师更好沟通的实用技巧
  8. Delete Edges
  9. activiti 文档_免费、开源、多平台的PDF文档处理软件——PDFsam Basic
  10. python game_Python游戏
  11. 散列技术之链地址法(基于无序链表)
  12. python中bar是什么_python-如何添加一个单独的colobar,它将显示来...
  13. 阿里再度开源重磅技术!95% 程序员都需要了解
  14. myeclipse里html添加背景颜色,myeclipse怎么设置主题-设置myeclipse主题背景颜色的教程 - 河东软件园...
  15. jquery.validate动态更改校验规则
  16. Kotlin typealias属性
  17. B/S网页在线版仓库管理软件的意义何在
  18. 山西计算机专业三本大学排名,2021山西三本院校排名 最新大学排行榜
  19. 【性能测试】Loadrunner12.55(二)-飞机订票系统-脚本录制
  20. 美亚杯第二届(2016)-个人赛

热门文章

  1. Java控制器controller_详解springMVC—三种控制器controller
  2. 特征工程特征预处理归一化与标准化、鸢尾花种类预测代码实现
  3. 福州大学matlab实验3郭里婷,郭里婷 - 福州大学 - 物理与信息工程学院
  4. 服务器上打开pdb文件,VS“没法查找或打开PDB文件”是怎么回事?如何解决
  5. C++写一个立方体类
  6. 时代在进步 环境在破坏
  7. win10打开虚拟机就蓝屏重启
  8. 【PPD09】文件输入和输出
  9. it企业实习_全美国最佳IT类十大实习公司
  10. python文件第三关