Linux目录
linux系统中,一切都是文件,都是从根目录(/)开始的,按照文件系统层次化标准采用树形结构来存放文件
注意:Linux文件和目录是严格区分大小写的
1.一般来说,我们使用Linux都有个约定俗成的规矩,什么文件夹存什么文件要遵守,不能乱存放文件
目录名称 应放置文件的内容
/boot 开机所需文件,即引导加载程序相关的文件 --内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口
/etc 包含所有程序所需的配置文件,也包含了用于启动/停止单个程序的启动和关闭shell脚本
/home 普通用户家目录(其中root用户的家目录在/root)主要用于存储个人档案
/root 系统管理员root的家目录
/bin 单用户模式下可操作性的命令
/sbin 开机过程中可能用到的命令
/lib 开机时用到的函数库,包含支持位于/bin和/sbin下的二进制文件的库文件。
/opt 放置第三方的软件,现在一般装在/usr/local下
/var 放置经常变化的文件,如日志和数据库
/mdedia 用户挂载设备文件的目录
/tmp 任何用户均可使用的“共享”目录
/srv 一般网络服务的数据文件目录
/mnt 挂载 (mounted) 文件系统,用户临时挂载其他的文件系统,系统管理员可以挂载文件系统
/sys 跟proc一样虚拟文件系统,记录核心系统硬件信息
/usr 包含绝大部分所有用户(users)都能访问的应用程序和文件,包含二进制文件,库文件。文档和二级程序的源代码
/usr/local 用户自行安装的软件
/usr/sbin Linux系统开机时不会使用到的命令或脚本
/usr/share 帮助与说明文件,也可放置共享文件
/lost+found 在根 (/) 目录下提供一个遗失+查找(lost+found) 系统,当文件系统发生错误时,将一些丢失的文件片段存放在这里
2.物理设备的命名规则
常见的硬件设备及其文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0 /dev/ht0
一般硬盘设备都会以/dev/sd开头,a-p代表16块不同的硬盘(默认从a开始分配),硬盘的分区也很讲究:
(1)主分区或扩展分区的分号从1开始,到4结束
(2)逻辑分区从编号5开始
例如:/dev/sda5 表示编号是5的分区,不能判断sda上已经有五个分区了
硬盘设备的组成
每个扇区的容量为512字节,其中第一个扇区最重要,它里面保存着主引导记录与分区表的信息。第一个扇区主引导记录需要占446字节,分区表占64字节,结束符2字节。
其中总6k字节的分区表中,每个分区表占16字节,这样一来最多只有4个分区可以写到第一个扇区中,这四个就是4大主分区。
为了解决分区个数不够,将第一个扇区分区表中的16个字节拿出来指向另外一个分区即扩展分区,这个不算真正的分区,是一个指向另外一个分区的指针
一般用户会选择4个主分区和1个扩展分区的方法,在扩展分区中创建数个逻辑分区,从而满足多分区(>4)的需求
文件系统
ext3、ext4、xfs等
**ext3**:是一款旧的文件系统,能够在系统发生宕机时避免文件系统文件资料丢失,并能自动修复数据的不一致性。
**ext4**:是ext3的改进版,作为rhel6系统中默认的文件管理系统,最大支持存储容量1EB(大约10亿GB),能拥有无限的子目录,能够批量分配block块,极大提高了读写效率
**xfs**:是一种高性能的日志文件系统,rhel7系统默认的文件管理系统,发生宕机时能够快速地恢复可能被破坏的文件,只需要花费极低的计算和存储性能,最大支持18EB
计算机系统在发展过程中产生了众多的文件系统,为了使用用户在读取或写入文件时不用关心底层的硬盘结构,Linux内核中的软件层为用户程序提供了一个VFS(virtual File System)接口,这样用户实际上在操作文件时就是统一对这个虚拟文件系统进行操作了。
挂载硬件设备
1.mount 命令 本次有效,重启后则失效
格式:mount 文件系统 挂在目录
-a表示挂载所有在/dev/fstab中定义的文件系统
-t表示制定文件系统类型
eg: mount /dev/sdb2 /backup (只需要填设备和目录,系统自动判断挂载文件的类型)
* 但是用mount命令只是一次性的,重启就失效了
2.vim /etc/fstab,永久有效
[root@test217 /]# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri May 4 23:36:45 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=bc210332-ddd0-472b-8bf6-603f2acba91b /boot xfs defaults 0 0
/dev/mapper/centos-home /home xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
#UUID=bef22cf9-cc89-4d78-aed6-a4c0813b60b5 /data1 ext3 noatime,nobarrier 0 0
#UUID=f0633ad0-b382-4bb0-8d6e-a7196a3bef88 /data2 ext3 noatime,nobarrier 0 0
#UUID=0a7ab6eb-dd11-44f6-9f22-9a55e9b4246a /data3 ext3 noatime,nobarrier 0 0
#UUID=5dd471f1-c218-469f-ae2f-760d7843c8cc /data4 ext3 noatime,nobarrier 0 0
#UUID=8a8b8565-c178-400b-ab1d-d84e64b0ec6f /data5 ext3 noatime,nobarrier 0 0
#UUID=bb03fbcd-04f5-4cfd-ad45-78d9a84ef593 /data6 ext3 noatime,nobarrier 0 0
UUID=9f89520e-d34d-435e-b88b-df33134441ba /data7 ext3 noatime,nobarrier 0 0
UUID=121369cb-2261-42dd-a226-3d0e73dda5ec /data8 ext3 noatime,nobarrier 0 0
UUID=f7fbfd9c-6c50-4f40-839c-bcbe855b28e7 /data9 ext3 noatime,nobarrier 0 0
UUID=22b08134-48da-443c-8bc3-7102bc8c010c /data10 ext3 noatime,nobarrier 0 0
UUID=6b696087-6f43-4e20-9005-ee36ad64989a /data11 ext3 noatime,nobarrier 0 0
UUID=8896122b-e5dc-44d8-ae49-452167eef6d6 /data12 ext3 noatime,nobarrier 0 0
*** 参数说明
第一列:设备文件,一般为设备的路径+设备名称,也可以写唯一识别码(UUID)
第二列:挂载目录,指定要挂载到的目录,需在挂在前创建好
第三列:格式类型,指定文件系统的格式,比如:Ext3、Ext4、XFS、SWAP、iso9660等
第四列:权限选项,若设置为defaults,则默认权限为:rw,suid,dev,exec,auto,nouser,async
第五列:是否备份,若为1开机后使用dnmp进行磁盘备份,为0则不备份
第六列:是否自检,若为1开机后进行磁盘自检,为0则不自检
添加硬盘设备
首先需要添加一块新的硬盘存储设备,然后进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态。
1.分区 fdisk命令
eg:fdisk /dev/sbd
参数:
m 查看全部可用参数
n 添加新分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区类型
p 查看分区信息
w 保存并退出
q 不保存直接退出
2.对硬盘分区后必须格式化 mkfs命令
格式化xfs文件系统命令:mkfs.xfs /dev/sdb1
3.文件数据占用量 du命令
du -sh /* 查看跟木下所有一级目录分别占用多大空间
添加交换分区
swap(交换分区)是一种通过在硬盘中预先划分一定的空间,然后把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间,让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。速度比物理内存慢,只有当物理内存耗尽后才使用这个交换分区的资源。
*** 在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍
swap分区格式化命令是 mkswap /dev/sdb2
swap分区设备挂载的命令是 swapon /dev/sdb2
在挂载命令的前后两次使用命令: free -m 查看交换分区的大小变化
eg:从sdb中取出一个大小为10GB的主分区作为交换分区资源
fdisk /dev/sdb
n p 回车 +5G p w
free -m
软硬方式连接
1.硬链接:每添加一个硬链接,该文件的inode连接数就会增加1,而且只有当该文件的iNode连接数为0时,才算彻底将其删除
2.软连接:仅仅包含所链接文件的路径名,因此能链接目录文件。原始文件一旦删除,链接文件也将失效(类似Windows的快捷方式)
3.命令:ln
-s 创建“符号链接”(如果不带-s则默认创建硬链接)
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程