Linux-树形结构-文件系统构建介绍、/etc、/var、/usr、/dev、/proc常用目录详细及作用、系统硬件基本信息、硬盘分区、常见文件系统、设备挂载

LinuxLinux文件系统构建介绍、系统硬件基本信息、硬盘分区、常见文件系统、设备挂载

    • 1、Linux文件系统构建介绍
    • 2、/etc目录
    • 3、/usr目录
    • 4、/var目录
    • 5、/dev目录
    • 6、/proc目录
    • 7、其他目录
    • 8、系统硬件基本信息
    • 9、硬盘分区
    • 10、挂载对象文件系统类型
    • 11、挂载常见设备

1、Linux文件系统构建介绍

对往Linux方向发展的运维工程师来说,或者对于需要用到Linux系统进行产品测试,售前,售后工程师可能对于Linux文件系统结构还比较陌生,不了解每个目录用来存放什么程序,哪些是程序文件,哪些是系统目录;相信看完这篇博客,能够揭开心中的疑惑,Linux系统设计最优秀的特征之一就是将所有内容都以文件的形式展现,通过一个树形结构统一管理,组织文件,如下图所示:Linux树形结构图;

1.1 树形目录图
从图中可以看出,整个文件系统类似于“树根”,简称”根“目录(root),整个根上面分出了许多“树杈,简称杈”,【杈:系统生成或自定义创建目录】每个"杈"下有分出了"杈",意思就是说每个"杈"下面还可以继续分"杈",当然,“杈"上面可以生出"叶子”【叶:可以创建目录和存放文件】
Linux-树形结构-文件系统构建介绍、/etc、/var、/usr、/dev、/proc常用目录详细及作用、系统硬件基本信息、硬盘分区、常见文件系统、设备挂载_第1张图片
整个系统以文件形式全部存放在根目录,同时将所有文件进行分类,分级分层进行组织,形成一个树形目录结构,给管理文件带来许多便利;

1.2 目录功能
大部分Linux发行版本基本上遵循FSSTND标准【Linux文件系统目录布局,全名为 File System STaNDard】,例如Centos,Red Hat,Ubuntu,Debian,Kali等等,FSSTND标准的特点主要体现在根目录非常简洁,只包含系统最基本的文件,有利于程序的编写,移植,系统管理,维护等;

2、/etc目录

etc目录位于/“根”目录,主要存放与系统管理相关的配置文件和子目录,比较重要的有系统初始化文件/etc/rc,用户信息文件/etc/passwd等等,网络配置,服务启动配置文件也在/etc目录中;

/etc目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
passwd 用户库文件,每一个用户的用户名,UID,GID,工作目录都存放在此目录
shadown 存放用户密码文件,每个用户的密码加密后存放在此目录
group 主要存放用户组信息
fstab 系统开机启动自动挂载分区列表,需要设置开机自动挂载的分区,可以在此文件中编写加入
systemd systemd是Centos7版本之后的新增目录,用于完成整个系统的基本初始化配置
hosts 设定自己IP与主机名的对应表,类似于Windows系统中C盘windows/System32/dirvers的Host文件
resolv.conf 客户端DNS配置文件
sysconfig/network-scripts/ifcfg-eth0 sysconfig:系统配置,network-scripts:网卡配置文本存放目录,ifcfg-eth0:eth0为网卡标识,网卡名称
Xll X-Windows 配置文件
rsyslog.conf 系统日志输出配置文件,5.x版本之前对应的文件是syslog.conf,6.x版本对应文件是rsyslog.conf
crontab 系统级别守护进程配置文件
sysctl.conf 系统内核参数配置文件,7.x版本之后,内核参数配置文件移动到了/usr/lib/sysctl.d目录,不过sysctl.conf配置文件同样生效,可以覆盖/usr/lib/sysctl.d文件中的配置
services 定义系统服务与端口的对应关系
profile 系统全局环境变量配置文件

3、/usr目录

/usr目录用于存放应用程序,文件。例如我们在系统安装时选择了许多软件包,这些软件包默认的安装目录是在/usr目录,通常/usr目录比较大,按照一些软件默认也会安装在/usr目录,类似于我们在Windows在装应用,默认在C:\Program Files;

usr目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
lib64 与 local /lib64 64位操作系统中的函数库目录
src 包含所有程序的源代码,主要以Linux核心程序源代码为主
local 存放本地安装的软件和其他文件,与系统没有关联
bin 与 local /bin 可执行二进制文件目录
lib 与 local /lib 32位操作系统使用的函数库目录
sbin 与 local /sbin 存放系统管理员与超级用户所执行的命令,普通用户及应用用户没有权限执行
include C语言的头文件,文件拓展名基本上.h
share 存放共享文件或目录,以及数据库,类似于Windows 网络共享

4、/var目录

/var用于存放系统运行,软件运行的日志信息

/var目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
log 存放各种应用程序的日志文件,(经常变动,需要定期清理)
lib 存放系统正常运行时需要改变的库文件
spool maill,new,打印机队列和其他队列输入,输出缓冲命令
tmp 存放比/tmp更大的危机
lock 存放被锁定的文件,大部分文件会在/var/lock产生锁文件,确保其他程序不会同时使用这个设备 或文件,类似占用
local 存放目录中所安装程序的可变数据
account 存放已经格式化的man页【man页:在线帮助,man page】
run 下次启动系统前的系统信息

5、/dev目录

/dev目录包含系统所有的设备文件信息

/dev目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
fd* 软盘设备,fd0为第一个软盘设备,fd1代表第二个软盘设备
audio* 声卡设备
hd* IDE硬盘设备,hda为第一块ide硬盘,hdb代表第二块ide硬盘,通过此方法类推
sd* SCSI设备,sda为第一块scsi硬盘,sdb代表第二块scsi硬盘,以此类推
lp* 并行接口
pty* 网络中登陆的远程终端设备
ram* 系统内存
ttyS* 串行接口,ttys0代表串行端口1,ttys1代表串行端口2,类似Windows系统中的COM1,COM2接口
Console 系统控制台,也可以理解为桌面控制台,可直接连接到显示器
null 输出空设备
tty* 虚拟控制台,tty1代表第一个虚拟控制台,tty2为第二个虚拟控制台,Linux一共有6个虚拟控制台,

6、/proc目录

/proc是一个虚拟目录,目录中的所有信息,包括目录都是通过内存映射,通过虚拟的内存映射目录可以和内核内部数据结构进行交互,获取关于进程的信息,同时可以在系统运行时修改内核参数,/proc与其他的目录不一样,它在内存中,而不是在硬盘

/proc目录文件作用详细介绍

文件名称 / 目录名称 主要作用 / 详细信息
cpuinfo CPU详细信息,CPU名称,型号,类型
meminfo 内存信息,物理内存与虚拟内存
filesystems 系统支持的文件和文件系统类型
device 内核中设备驱动程序列表
net 网络协议和状态信息
dma 当前使用的dma通道【直接存储器存取,全名为Direct Memory Access】
ioports 当前使用的 I/O 端口
modules 当前系统加载的内核模块信息
stat 系统的各种状态信息
uptime 系统总启动时间和空闲时间,基本上以秒为单位
version 内核版本信息
loadavg 系统平均负载
kcore 系统内存映像,与物理内存大小一致,实际不会占用这么大的空间
kmsg 内核输出信息,被输出到rsyslog

7、其他目录

  1. /boot目录:存放Linux启动时核心文件,例如:镜像文件,链接文件;较重要,遭到破坏或者黑客攻击将无法启动系统;
  2. /bin与sbin目录:两个目录存放的都是可执行的二进制文件,bin是binary缩写,基本上就是用来存放我们经常使用的linux命令,例如文件操作需要经常使用的ls(查看),cd(切换目录),cp(复制)命令,文本编辑需要使用的vi(vi,vim编辑器),ed(不常用,类似于vi,也是文件编辑器),磁盘操作需要使用的dd(指定大小块拷贝一个文件),df(查看文件系统磁盘空间占用情况),mount(挂载)等等;
  3. /sbin目录:s是super User的缩写,只有超级用户才能执行的命令目录,如检查磁盘修复命令fcsk,磁盘分区fdisk,创建目录mkfs,关机命令shutdown,poweroff,初始化命令init等等;
  4. /home目录:系统中每个用户的工作目录,一般由用户的账号名称命名,比如说用户是Acronis,那么他的默认目录就是/home/Acronis
  5. /lib目录:存放共享程序库和映像文件,通过共享映射,每个程序就不需要分别保存自己的库文件而占用磁盘空间,大部分Linux系统都会提供让所有程序使用的文件,包含引导进程需要的静态库文件等等;
  6. /root目录:超级用户root默认主目录,通过root账号登陆到系统,默认进入到/root目录,普通用户,应用用户无权限进入;
  7. /run目录:外在设备自动挂载目录,一般出现在Centos7.x版本,用于自动挂载外界硬盘,U盘,光盘等等
  8. /mnt目录:用于手动挂载外接的U盘,移动硬盘等设备;
  9. /lost+found目录:用于保存丢失的文件,比如说意外关机磁盘读写错误导致的文件丢失,默认临时存放在这里,当系统重启后,引导程序运行fsck进行修复,除了”/“根,每个分区都会多出一个lost+found;
  10. /tmp目录:临时目录,用于存放临时文件,随时会被删除,也可以随时清理,没有占用机制;

8、系统硬件基本信息

查看CPU信息
more /proc/cpuinfo

部分参数注解:
Cpu cores:内核
Mode name :CPU名称与类型
Physical ID:CPU的个数
Processor:逻辑CPU个数

查看系统内存信息
more /proc/meminfo

常用参数注解:
MemTotal:内存总大小
Memfree:可用内存大小
Buffers:缓冲内存大小
Cached:已使用内存大小

查看系统PCI设备(主板,声卡,显卡,网卡,USB设备)信息
lspci

Host bridge: 主板芯片
VGA compatible controller :显卡
Ethernet controller:网络适配器,网卡
PCI bridge:接口插槽
USB Controller:USB接口
Audio device:音频设备

9、硬盘分区

查看磁盘分区信息
fdisk -l

输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形。

dev/sda:dev是目录,sda是磁盘设备名称

输入 fdisk /dev/sda,可进入分割硬盘模式;

  1. 输入 m 显示所有命令列示;
  2. 输入 p 显示硬盘分割情形;
  3. 输入 a 设定硬盘启动区;
  4. 输入 n 设定新硬盘分割区;
  5. 输入 e 硬盘延伸分割区(extend);
  6. 输入 p 硬盘主要分割区(primary);
  7. 输入 t 改变硬盘分割区属性。(制作交换分区时会用到)
  8. 输入 d 删除硬盘分割区属性。
  9. 输入 q 结束不存入硬盘分割区属性。
  10. 输入 w 结束并写入硬盘分割区属性

添加分区的步骤

  • fdisk /dev/sda
  • p 列出当前分区表
  • n 添加新分区
  • 回车 选择开始块地址,直接回车默认
  • +2G 输入要添加分区的大小+200M,+1G这样都可以识别
  • 回车 确定
  • w 写入并退出
  • partprobe 更新当前分区表给内核,这一步比较重要, 否则分区信息重启才能看到
  • mkfs.ext3 /dev/sda6 格式化新建分区
  • mount /dev/sda6 /data 挂载
  • (t 参数支持对分区格式做转换,fd是raid的类型,e8是LVM时所用到的pv类型)

10、挂载对象文件系统类型

常见文件类型:

  • /proc/filesystems配置文件中可以查看当前Linux系统所支持文件类型: 命令:cat /proc/filesystems
  • vfat:支持长文件名dos分区文件系统类型,Windows常用FAT32文件系统,兼容FAT16系统;
  • hpfs:OS2文件系统;
  • ext2/ext3/ext4:Linux文件系统;
  • Xfs:linux高性能日志文件系统,Centos 7以后版本为默认文件系统;
  • iso9660:光盘格式文件系统;
  • msdos:dos文件系统类型;

11、挂载常见设备

挂载设备命令: mount
命令格式:【mount -t 文件系统类型 设备名称 挂载点】

设备通常在/dev目录,查看U盘,硬盘,外挂移动硬盘名称可使用fdisk -l命令

“hd” :hard disk,代表IDE硬盘;
“sd” : Scsi disk,代表SCSI硬盘;

例如:a 代表是第一个设备,如果服务器或者工作站电脑连接4块IDE硬盘,那么设备名称依次是hda、hdb、hdc、hdd;如果是 SCSI硬盘,那么设备名称为sda、sdb、sdc、sdd;

数字1 表示 a 硬盘的第一个分区,hda3:代表硬盘的第三个分区,通过这个方法一次类推,通过查看/var/log/messages来分辨设备名称,使用cat命令进行查看命令:cat /var/log/messages

  • 挂载外接硬盘:mount -t vfat /dev/hda1 /mnt/acronis-waijie
    (fdisk -l)查看外挂的硬盘分区设备号,假设为: /dev/hda1)

    例:
    mkdir /mnt/acronis-waijie 【建立挂载点】
    mount -t vfat/dev/hda1 /mnt/acronis-waijie 【将hda1挂载到/mnt/acronis-waijie目录】
    umount /mnt/acronis-waijie【卸载外接硬盘(卸载所挂载的目录)】

  • 挂载U盘:mount -t vfat /dev/sda1 /mnt/acronis-usb
    (注解:将U盘sda1挂载到/mnt/acronis-usb目录中;fdisk -l查看外挂闪存的设备号,一般为/dev/sda1;)
    例:
    mkdir /mnt/acronis-usb 【建立挂载点/mnt/acronis-usb】
    mount /dev/sda1 /mnt/aconis-usb【将U盘sda1挂载到 /mnt/acronis-usb 目录】
    umount /mnt/acronis-usb 【卸载挂载(同样也是卸载所挂载的目录)】

  • 挂载光盘:mount -t iso9660 /dev/hda /mnt/acronis-gp
    (注解:将光盘hda挂载到/mnt/acronis-gp目录;)
    例:
    mkdir /mnt/acronis-gp 【建立挂载点/mnt/acronis-gp】
    mount -t iso9660 /dev/cdrom /mnt/acronis-gp 【将光盘挂载到 /mnt/acronis-gp 目录】
    cd /mnt/cdrom【cd为切换目录命令,切换到/mnt/acronis-gp】
    ls 【显示内容】
    umount /mnt/acronis-gp 【卸载光盘】

你可能感兴趣的:(Linux)