linux系统目录结构介绍(代码片段)

sx66 sx66     2022-12-05     416

关键词:

linux目录:一切从“根”开始,“/”是所有目录的起点(定点)

linux每个目录可以挂载在不同的设备(磁盘)上。

在逻辑上所有目录(包括目录下的子目录)都在最高级别的目录“/”下,根(“/”)目录是linux系统中所有目录的起始点(丁点),根下面的目录及目录的子目录是一个有层次的树状结构,很像颗倒挂着的一颗大树,这和Windows系统按照硬盘分区(C:D:E:)分割的目录结构是不同的(windows系统可以理解为多棵树,每个分区就是一颗独立的小树)。
linux系统中的这些不同的目录也是很特别的,不同的目录可以分布在不同的硬盘分区以及不同的硬盘设备上,这是windows的系统难以做到的,windows系统的不同分区都是独立存在的。

技术图片

linux下面设备不挂载是看不到入口的,没有窗口没门的监狱,如果要设备被访问就必须有一个入口,这个入口就是挂载点,挂载点实质就是目录

技术图片

技术图片

linux系统中的所有目录内容按照类别组织。例如,Linux下的应用程序,它的可执行程序可能在/usr/bin,而它的数据文件和帮助在/usr/share下,运行时加载的配置文件和服务启动命令却在/etc/下。

内容小结

linux系统的所有目录是一个有层次的倒着的树状目录结构,“/”根是所有目录的顶点。
不同的目录数据可以跨越不同的磁盘分区或不同的磁盘设备
所有的目录都是按照一定的类别有规律的组织和命名的
技术图片
Unix系统目录结构的历史典故

提示:学习目录结构的历史典故,目的是让大家能够清晰的了解linux的目录结构。

1969年,Ken Thompson和Dennis
Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11.

当时,他们使用一种叫做RK05的存储盘,盘的容量大约是1.5MB。

由于硬盘的容量很小,因此没多久,操作系统存储盘数据(根目录)变的越来越大了,导致一块盘已经装不下数据了。
于是,他们加上了第二盘RK05,并且作了规定,第一块盘专门用来存放系统程序相关,第二块盘专门存放用户自己的程序,
因此,挂载的目录点取名为/usr。也就是说,根目录“/”挂载在第一块盘,“/usr”目录挂载在第二块盘。
除此之外,两块盘里面的其他的目录结构是完全相同的,例如:第一块盘的目录(/bin,/sbin/lib/tmp...)都在/usr目录下重新出现一次(/bin,/sbin,/lib)
技术图片

tmp 思想: 不要轻易删除东西,可以放在tmp目录下面。过1个月后再删除。

时间不长,第二块存储盘也满了,他们只好又加了第三盘RK05,挂载的目录取名为/home,并且做了规定,/usr用于存放用户的程序,/home用于存放用户的数据。
此后,这种目录结构起名和定义就这样延续了下来。随着设备的发展,硬盘的容量也越来越大,那么,各个目录的含义进一步得到了明确。

技术图片

技术图片
Linux 目录结构

目录层次标准FHS

  • FHS全称(Filesystem Hierarchy Standard),中文意思是目录层次标准,是linux的目录规范标准。
  • 详细点击查看
  • FHS定义了两层规范
  • 第一层:“/”目录下的各个目录应该放什么文件数据,例如:/etc目录下放置系统的配置文件,例如:/etc/exports,/etc/hosts,而/bin和/sbin放置程序及系统命令。
  • 第二层:是针对/usr(unix software resource|Secondary hierarchy)和/var(Variable data)这两个目录的子目录来定义。例如:/var/log下放置系统日志文件等
  • 提示:/var分区单独分出来,硬盘足够大。我们都有监控,剩余20%报警。

linux系统的目录结构最顶端是“/”,一切目录从根开始。 我们可以通过tree命令得到根(/)下的目录结构。

技术图片

技术图片

技术图片

技术图片

 

技术图片
小结:重要目录回顾

/dev 设备目录
/etc/ 系统配置及服务配置文件,服务启动命令目录/etc/init.d
/proc 显示内核及进程信息的虚拟文件系统
/tmp 临时文件目录,
/home 普通用户家目录
/root 超级管理员家目录
/var 变化的目录,一般是日志文件(/var/log),cache目录。/var/log/messages,/var/log/secure
/usr 用户程序及数据,帮助文件,二进制命令等目录(usr/local/)
/bin 普通用户命令的目录
/sbin 和/usr/sbin/:超级用户命令的目录
重要子目录说明
技术图片

 

 

技术图片
重要子目录说明

必须要掌握的linux目录路径知识

修改网卡配置文件

etc/sysconfig/network-scripts/ifcfg-eth0
查看eth0(第二块eth1)
通过setup===>"network configuration"修改网卡配置就是再改这个文件
固定IP地址
重启网卡/etc/init.d/network restart(影响所有网卡)
ifdown eth0 && ifup eth0只针对eth0网卡
注意

设置文件ifcfg-interface-name包含了初始化接口所需要的大部分周详的信息。其中interface-name将根据网卡的类型和排序而不同,
一般名字为eth0,eth1,ppp0等,其中eth表示以太(eth0)类型网卡,0表示第一块网卡,1表示第二块网卡
,而ppp0则表示第一个point-to-poirt protocol网络接口。在ifcfg文件中定义 的各项目取决于接口类型。 下面的值较为常见: DEVICE=name,其中,name是物理设备名 IPADDR=addr,其中addr是IP地址 NETMASK=mask,其中,mask是网络掩码值 GATEWAY=addr,其中addr是网关地址 ONBOOT=answer,其中answer是yes(引导时激活设备)或no(引导时不激活设备) USERCTL=answer,其中,answer是yes(非root用户能控制该设备)或no BOOTPROTO=proto,其中,proto取下列值之一:none,引导时不使用协议;static静态分配地址;bootp,使用BOOTP协议,或dhcp,使用DHCP协议
技术图片

技术图片

上图设置实际上修改的是/etc/resolv.conf这个文件

技术图片

小结

 1、linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)

2、linux客户端DNS也可以在/etc/resolv.conf里设置

3、网卡里的设置DNS优先于/etc/resolv.conf,如果重启网络网卡的dns会覆盖/etc/resolv.conf的设置
4、/etc/hosts:设定用户IP与名字(域名)的对应解析表,相当于本地LAN局域网内的DNS解析文件
5、/etc/sysconfig/network:可修改主机名及网卡启动,网关等配置。永久更改主机名,需同时修改以下两项:
(1)vi /etc/sysconfig/network
(2)hostname 主机名

/etc/目录下的重要目录和文件

  • /etc/issue(/etc/issue.net):记录用户登录前显示的系统版本等信息
  • /etc/motd:登录提醒(里面写的任何东西都会在所有用户登录前显示出来)
  • /etc/redhat-release:包括一行声明RedHat版本号和名称的信息。
  • /etc/group:设定用户的组名与相关信息
  • /etc/passwd:用户账号信息文件
  • /etc/shadow:用户密码信息文件
  • /etc/gshadow:组密码文件
  • /etc/sudoers:可以执行使用sudo命令的配置文件(权限提升)
  • /etc/securetty:设定哪些中断可以让root登录
  • /etc/login.defs:所有用户登陆时的缺省配置
  • /etc/modprobe.conf:内核模块额外参数设定
  • /etc/rsyslog.conf:日志设置文件(仅限centos6.x)

在开机时,linux会把/etc/rc.local里的内容执行一遍

其他目录

  • /lib:系统会使用到的函数库
  • /lib/modules:kernel的相关模块
  • /var/lib/rpm:rpm套件安装处
  • /usr/bin:这个目录是可执行程序的目录;当我们从系统自带的软件包安装一个程序时,他的可执行文件大多会放在这个目录。
  • lib64:库文件存放目录
  • /usr/sbin:这个目录也是可执行程序的目录,但大多存放涉及系统管理的命令;相似目录是/sbin或/usr/local/sbin或/usr/X11R6/sbin等;
  • /usr/local:这个目录一般用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。
  • /usr/local/bin:用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号连接
  • /usr/local/sbin:系统全局环境目录,可放置一些不需要加路径执行的脚本
  • /usr/share:系统共用的东西存放地,比如/usr/share/doc和/usr/share/man帮助文件
  • /usr/src:内核源码存放目录,比如下面有内核源码目录,比如linux,linux-2.xxx.xx目录等。

1,rpm -ivh(存在rpm包,又无法使用yum的时候)

2,yum install
(习惯:线上对外的服务器很少安装apache,nginx,mysql,功能性软件会用yum)
3,源码(./configure,make,make install),定制。大中小企业重要服务。
门户:源码---定制RPM包---制作yum仓库----yum安装

  • /usr/bin:使用者可执行的binary file目录
  • /usr/local/bin:使用者可执行的binary file目录
  • /usr/lib:系统会使用到的函数库
  • /usr/local/lib:系统会使用到的函数库

 /var目录下的路径知识

  • /var:日志文件
  • /var/log:各种系统日志存放地
  • /var/log/messages:系统信息默认日志文件,非常重要。按周自动轮循
  • /var/log/secure:记录登入系统存取信息的文件,按周自动轮循,例如:pop3,ssh,telnet,ftp都会记录在此。系统安全的日志文件。
  • /var/spool:定时任务默认路径,按用户名命名的文件(/var/spool/cron/root)
  • var/spool/clientmqueue:sendmail 临时邮件文件目录,有很多原因会导致这个目录碎文件很多,比如crontab定时任务命令不加>/dev/null等。工作中偶尔会因为该目录文件太多,导致/var所在的分区inode数量被消耗尽,无法写入文件的情况(centos6.x不会装sendmail,所以不会有这个问题)

/proc下的重要路径知识

top:看cpu等

  • /proc:虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
  • /proc/version:内核版本
  • /proc/sys/kernel:系统内核功能
  • /proc/sys/net/ipv4:修改proc的配置时临时生效。
  • (/etc/sysctl.conf内核参数里配置才是永久生效。两个路径的修改效果是一样的。net.ipv4.tcp_tw_reuse=1实际上就是修改/proc/sys/net/ipv4/tcp_tw_reuse的内容)
  • /proc/cpuinfo:关于处理器的信息,如类型,厂家,型号和性能等
  • /proc/meminfo:系统内存信息,free -m
  • /proc/devices:当前运行内核所配置的所有设备清单
  • /proc/dma:当前正在使用的DMA通道
  • /proc/filesystems:当前运行内核所配置的文件系统
  • /proc/initerrupts:正在使用的中断,和曾经有多少个中断。
  • /proc/ioports:当前正在使用的I/O端口。
  • /proc/loadavg:系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标),uptime的结果。(负载值不要超过CPU的核数。看负载top,uptime,w)

技术图片

  • /proc/mounts:设备的挂载信息,df -h类似

必须掌握的路径及文件

  • /etc/sysconfig/network-scripts/ifcfg-eth0(第一块网卡配置文件)
  • /etc/resolv.conf(DNS的配置文件,网卡配置文件优先resolv.conf)
  • /etc/hosts(ip与域名(主机名)解析表)
  • /etc/sysconfig/network(主机)
  • /etc/fstab(开机自动挂载列表)
  • /etc/rc.local(开机自启动文件,自启动命令,脚本)
  • /etc/inittab (Linux开机运行级别配置文件)
  • /etc/init.d(服务启动命令脚本目录)
  • /etc/profile(全局环境变量)
  • /etc/bashrc(别名)
  • /usr/local(编译安装软件默认安装目录)
  • /var/log/message(系统日志)
  • /var/log/secure(系统安全日志)
  • /var/spool/cron/root(定时任务,root目录)
  • /proc/cpuinfo(系统cpu信息)
  • /proc/meminfo(系统内存信息)
  • /proc/loadavg(系统cpu负载程度)
  • /proc/mounts(系统挂载信息)

讨论:cpu什么情况下算是负载很繁忙?

当cpu平均负载率大于CPU的核数的时候,我们就可以说,服务器cpu的负载已经很繁忙了。

 

linux下的目录结构(代码片段)

文章目录Linux系统的目录结构Linux下主要目录介绍相对路径和绝对路径Linux命令提示符解析Linux系统的目录结构Linux系统的目录结构是一个倒立的树状结构,根目录用/表示,对比windows目录结构理解linux的目录结构。Linux下主要目... 查看详情

linux:linux系统和系统目录介绍(代码片段)

对Linux做个简单介绍,内容不多目录Linux系统1.操作系统2.Linux和windows的区别3.终端介绍系统目录1.目录结构2.家目录3.绝对路径与相对路径Linux系统1.操作系统Linux就是一组软件,而软件分为操作系统软件和应用软件,Linux... 查看详情

linux目录结构,路径,系统目录作用及指令介绍,文件管理基本命令,查看文件内容命令,vim编辑器(代码片段)

linux系统的目录结构windows系统:多跟结构 C:\\a\\b\\c\\d.txt D:\\xxx\\yyy\\zzz\\1.txtlinux系统:单根结构 /a/b/c/d.txt /是根 一切文件和文件夹在/内创建绝对路径与相对路径从跟开始写的路径就是绝对路径,否则就是相对路径/a/b/c/1.txtcd/a/b(... 查看详情

01新的开始(代码片段)

Linux介绍与基本必知命令1.系统结构介绍1.Linux由来Linux操作系统是基于UNIX操作系统的,其内核主要是由C程序编写。Linux是自由和开放的,任何组织和个人只要遵循GNU通用公共许可证协议都可以自由免费地使用Linux的所有底层源代... 查看详情

2.系统的目录结构(代码片段)

1.系统的目录结构1.1linux目录结构? 一切从根开始,一个倒挂的树1.2windows目录结构? 按照盘符进行划分C盘:2.linux系统中的挂载mountlinux系统中的挂载技术???让用户可以将一个目录作为一个存储设备的挂载点,通过挂载点可以看... 查看详情

linux--目录结构介绍登录root用户添加和删除用户linux远程登录和远程文件上传下载(finalshell)(代码片段)

1.目录结构介绍linux目录结构:具体目录结构介绍:1.1登录root用户首先输入suroot,回车,然后输入密码。1.2添加和删除用户(需要root用户)/home目录存放普通用户的主目录,在Linux中每个用户都有一个自... 查看详情

linux文件目录结构(代码片段)

文件和目录目标理解Linux文件目录的结构01.单用户操作系统和多用户操作系统(科普)单用户操作系统:指一台计算机在同一时间只能由一个用户使用,一个用户独自享用系统的全部硬件和软件资源WindowsXP之前的版本都是单... 查看详情

linux文件及目录结构(代码片段)

Linux文件及目录结构1.什么是文件在Linux系统上,文件被看作是字节序列。这种概念使得所有的系统资源有了统一的标识,这些资源包括普通文件或目录、磁盘设备、控制台(键盘、显示器)、打印机等。对这些资... 查看详情

linux文件及目录结构(代码片段)

Linux文件及目录结构1.什么是文件在Linux系统上,文件被看作是字节序列。这种概念使得所有的系统资源有了统一的标识,这些资源包括普通文件或目录、磁盘设备、控制台(键盘、显示器)、打印机等。对这些资... 查看详情

linux基础篇——linux操作系统目录结构运行级别介绍

目录一、Linux系统目录结构介绍二、Linux操作系统运行级别1.级别切换2.指定运行级别一、Linux系统目录结构介绍        Linux的文件系统是采用层级形式的树状目录结构,最上层为根目录“/”,然后在根目录下创建其他... 查看详情

linux系统的目录结构及作用说明(代码片段)

文章目录前言Linux操作系统常用目录根目录(/)binbootdevetchomelibmediaoptrootusrmntprocsbintmpvarrun总结前言在Windows操作系统中,主分区和逻辑分区也被称为驱动器,会被分配一个驱动器字母(如C、D、E),每个驱动... 查看详情

[linux]文件系统和目录结构详解

...结常见区别本文主要写了linux的文件结构介绍、linux文件系统的介绍、linux文件系统的基本操作,快捷键,通配符等等下篇文章会写都文件的具体操作命令目录一、linux文件结构介绍1、Linux目录结构的特点2.Linux目录结构常... 查看详情

linux目录结构文件属性及高频操作命令(代码片段)

目录1、Linux简介2、Linux和windows系统区别3、Linux的目录结构3.1系统启动相关的目录(boot、etc、lib、sys)3.2指令集合目录(bin、sbin)3.3外部文件管理目录(dev、media、mnt)3.4 临时文件目录(run、lost+fou... 查看详情

linux(二)(代码片段)

...程上传下载文件Xftp5Vi和Vim编辑器Linux目录结构Linux的文件系统采用级层的树状目录,最上层是根目录“/”,然后在此目录下面再创建其他的目录在Linux中,一切都是文件Linux目录结构简介[root@CentOS桌面]#/bas 查看详情

linux系统目录结构和相对/绝对路径(代码片段)

绝对路径和相对路径路径:在我们平时使用计算机时要找到需要的文件就必须知道文件的位置,而表示文件的位置的方式就是路径绝对路径:在Linux中,绝对路径是从”/”开始的,比如/usr、/etc/passwd。如果一... 查看详情

2.系统目录介绍(代码片段)

1.变量与PS1[[email protected]~]#echo$PS1[\[email protected]\h\W]\$\u用户名\h主机名\W当前路径,相对路径[[email protected]~]#PS1=‘[\[email protected]\h\W\t]\$‘2.linux的优化1.添加普通用户2.关闭selinux3.关闭iptables 查看详情

linux系统根下常见目录功能简介(代码片段)

Linux的文件系统分层结构FHS文件系统层次标准:FHSFilesystemHierarchyStandard文件和目录被组织成一个单根倒置树结构文件系统从根目录下开始,用“/”表示根文件系统(rootfs):rootfilesystem标准Linux文件系统(如:ext4&... 查看详情

linux常用命令总结(代码片段)

...用命令总结目录Linux常用命令总结服务器关机相关命令2.系统目录结构介绍3.文件操作相关命令4.文件的基本属性5.文件的内容查看6.Vim7.进程相关命令服务器关机相关命令关机指令为:shutdown;sync#将数据由内存同步到硬盘... 查看详情