20260106Linux学习笔记
具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本在软 RAID 和硬 RAID 之间。MBR 记录用4个字节(1byte=8bit)存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,:所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率最低。:配备了专门的 RA
一、查找系统中文件
locate命令 根据文件名及其路径,在 mlocate 数据库中查找文件,并返回结果。
#安装软件包 yum install -y locate yum install -y httpd #更新mlocate数据库 updatedb #查找httpd.conf文件 locate httpd.conf /etc/httpd/conf/httpd.conf /usr/lib/tmpfiles.d/httpd.conf #指定只匹配路径的最后一级名称查找 locate -b httpd #忽略大小写查找 locate -i HTTPD #返回找到的数量 locate -b -c httpd #路径包含http且后续跟着任意字符、最后以conf结尾的所有文件/目录 locate -r 'http.*conf'
find命令 在本地文件系统中执行实时查找文件。
#根据文件名查找 find /etc/ -name passwd #从/etc目录(包括所有子目录)中,查找文件名包含passwd字符串的所有文件/目录 find /etc/ -name '*passwd*' #忽略大小写查找 find /etc/ -iname passwd
#根据文件类型查找 #查找普通文件 find /etc/ -type f -name passwd #查找目录 find /var/log -type d -name nginx
#根据文件所属者查找 #属于特定用户 id zhangzhe uid=1000(zhangzhe) gid=1000(zhangzhe) groups=1000(zhangzhe) find / -user zhangzhe find / -uid 1000 #属于特定组 grep wheel /etc/group wheel:x:10: find / -group wheel find / -gid 10 #查找系统中不属于任何用户或者不属于任何组的文件 find / -nouser -o -nogroup
#根据文件权限查找
#准备文件
mkdir lab;cd lab
touch file-{1..3}
chmod 764 file-1
ls -l file*
-rwxrw-r-- 1 root root 0 Jan 6 13:07 file-1
-rw-r--r-- 1 root root 0 Jan 6 13:07 file-2
-rw-r--r-- 1 root root 0 Jan 6 13:07 file-3
#查找文件权限为764的文件
find -perm 764 | xargs ls -l
-rwxrw-r-- 1 root root 0 Jan 6 13:07 ./file-1
chmod 777 file-1
chmod 764 file-2
chmod 760 file-3
#查找文件权限至少为764的文件
find -perm -764 | xargs ls -l
-rwxrwxrwx 1 root root 0 Jan 6 13:07 ./file-1
-rwxrw-r-- 1 root root 0 Jan 6 13:07 ./file-2
#查找系统中具有suid权限的文件
find / -perm -4000
#查找系统中同时具有特殊权限的文件:suid(4000)和sgid(2000)
find / -perm -6000 2>/dev/null |xargs ls -l
chmod a=- file-1
chmod uo=-,g=rwx file-2
chmod ug=-,o=r file-3
#查找文件在(主、组、其他)有任何一个权限符合的文件
find -perm /764 -name 'file-*' | xargs ls -l
----rwx--- 1 root root 0 Jan 6 13:07 ./file-2
-------r-- 1 root root 0 Jan 6 13:07 ./file-3
#查找系统中具有特殊权限的文件:suid或者sgid或者sticky
find / -perm /7000
#查找系统中具有特殊权限的文件:suid或者sgid
find / -perm /6000
#根据文件大小查找 #大小大于10G find -size +10G #大小小于10k find -size -10k #大小等于1M find -size 1M #注意:size会取整为1个单位,所以find -size 1M结果包含小于1M的文件 #可以使用1024k取代1M find -size 1024k
#根据文件时间查找 #10分钟前访问(正好10分钟) find -amin 10 #10分钟以前访问(大于10分钟) find -amin +10 #10分钟以内访问(小于10分钟) find -amin -10
#拓展
# -exec 找到相应文件后,执行相应的命令
find /etc/ -name passwd -exec echo haha \;
haha
haha
#根据inode编号查找文件/目录
find / -inum 67160130
/etc/fstab
#将inode编号为67160130的所有文件复制到当前目录
mkdir findfiles
find / -inum 67160130 -exec cp -a {} ./findfiles \;
ls ./findfiles
fstab
二、Linux硬盘分区管理
1.MBR分区方案
该方案支持最多4个主分区。
在 Linux系统上,管理员可以使用扩展分区和逻辑分区来创建最多 15个分区。
逻辑分区是可以格式化(format),扩展分区是不可以格式化。
MBR 记录用4个字节(1byte=8bit)存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能超过 2 TiB。
fdisk命令
#查看分区
fdisk -l /dev/sdb
#使用
fdisk /dev/sdb
#输入p,打印分区表
#输入q,退出管理页面
#输入n,创建一个新分区
#选择分区类型
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
#直接回车,选择默认分区类型:primary
Select (default p): `回车`
Using default response p
#直接回车,分区号,使用默认值1
Partition number (1-4, default 1): `回车`
#直接回车,设置分区起始位置为:默认值2048扇区,也就是1M位置
First sector (2048-41943039, default 2048): `回车`
Using default value 2048
#设置分区结束位置,输入+2G,也就是起始位置之后2G
Last sector, +sectors or +size{K,M,G} (2048-41943039, default
41943039): `+2G`
Partition 1 of type Linux and of size 2 GiB is set
#输入w,保存更改并退出
#输入q,不保存更改并退出
#验证分区表变化
lsblk /dev/sdb
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 5G 0 part
#输入d,删除分区
Command (m for help): d
Partition number (1-4, default 4): 1
Partition 1 is deleted
2.GPT分区方案
使用8个字节(1byte=8bit)存储分区的总扇区数,可支持最多18 ZiB(=264*512
Byte),即18亿太字节的分区和磁盘。
GPT分区方案最多可提供128个分区。
GPT 提供分区表信息的冗余
gdisk命令
#查看分区
gdisk -l /dev/sdb
#使用
gdisk /dev/sdb
#输入p,查看分区表
#输入o,将磁盘的分区管理方案由MBR转换成GPT
Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y
#输入w,保存更改并退出
#输入q,不保存更改并退出
#输入n,创建新分区
#设置分区ID号
Partition number (1-128, default 1): `回车`
#设置分区起始位置
First sector (34-41943006, default = 2048) or {+-}size{KMGTP}: `回车`
#设置分区结束位置
Last sector (2048-41943006, default = 41943006) or {+-}size{KMGTP}: `+2G`
Current type is 'Linux filesystem'
#设置分区类型,输入回车,选择默认分区类型
Hex code or GUID (L to show codes, Enter = 8300): `回车`
Changed type of partition to 'Linux filesystem'
#输入c,修改分区ID为1的分区名
Command (? for help): c
Using 1
#输入新名称
Enter name: data01
#输入i,查看分区详细信息
Command (? for help): i
Using 1
Partition GUID code: 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (Linux
filesystem)
Partition unique GUID: 19AE5CDC-1AB2-4EBA-B9E2-AE9E7BF42653
First sector: 2048 (at 1024.0 KiB)
Last sector: 4196351 (at 2.0 GiB)
Partition size: 4194304 sectors (2.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'data01'
#输入d,删除分区ID为1的分区
Command (? for help): d
Using 1
3.wipefs命令 清除磁盘分区表信息
#清除未挂载磁盘的分区表 wipefs -a /dev/sdb
4.parted工具
parted 工具既可以管理采用MBR分区方案的磁盘,又可以管理采用GPT分区方案的磁盘。
parted 命令 同时支持交互式操作和非交互式操作(编写脚本)。
#查看分区 parted /dev/sdb unit MiB print #设置磁盘分区管理方案 parted /dev/sdb mklabel gpt #创建分区 parted /dev/sdb unit MiB mkpart data01 1 5121 #删除分区 parted /dev/sdb rm 1
5.文件系统持久化挂载
#环境准备 parted /dev/sdb mklabel gpt parted /dev/sdb unit MiB mkpart data01 1 2049 mkfs.xfs /dev/sdb1 #如果格式化时候,提示存在文件系统,则需要-f选项强制格式化 mkfs.xfs -f /dev/sdb1 #持久化挂载 #查询/dev/sdb1分区关键信息 blkid /dev/sdb1 /dev/sdb1: UUID="f5c35f10-0274-45af-b044-73694989fe01" TYPE="xfs" PARTLABEL="data01" PARTUUID="432d7d79-1a08-4429-bf38-7ab1444a0ab9" mkdir /data01 vim /etc/fstab #在最后一行增加一个条目 UUID="f5c35f10-0274-45af-b044-73694989fe01" /data01 xfs defaults 0 0 #挂载分区 mount /dev/sdb1 /data01 #验证 df -h /data01 Filesystem Size Used Avail Use% Mounted on /dev/sdb1 2.0G 33M 2.0G 2% /data01 #重启系统验证 reboot df -h /data01 Filesystem Size Used Avail Use% Mounted on /dev/sdb1 2.0G 33M 2.0G 2% /data01 #取消持久化挂载 删除/etc/fstab中对应条目
三、Linux RAID 存储技术
RAID 主要分为:
软 RAID:所有功能均有操作系统和 CPU 来完成,没有独立的 RAID 控制 / 处理芯片和 I/O 处理芯片,效率最低。
硬 RAID :配备了专门的 RAID 控制 / 处理芯片和 I/O 处理芯片以及阵列缓冲,不占用 CPU 资源,成本很高。
软硬混合 RAID:具备 RAID 控制 / 处理芯片,但缺乏 I/O 处理芯片,需要 CPU 和驱动程序来完成,性能和成本在软 RAID 和硬 RAID 之间。
RAID 0:条带
RAID 1:镜像
RAID 5:单奇偶效验
RAID 6:双奇偶效验
RAID 10:镜像+条带
RAID 50:单奇偶效验+条带
RAID 60:双奇偶效验+条带
| RAID级别 | 最小磁盘数 | 容错能力 | 磁盘空间开销 | 读取速度 | 写入速度 | 硬件成本 |
|---|---|---|---|---|---|---|
| RAID 0 | 2 | 无 | 0% | 高 | 高 | 低 |
| RAID 1 | 2 | 单个磁盘 | 50% | 高 | 低 | 中 |
| RAID 5 | 3 | 单个磁盘 | 1/N | 中 | 低 | 中 |
| RAID 6 | 4 | 两个磁盘 | 2/N | 中 | 低 | 高 |
| RAID 10 | 4 | 多个磁盘 | 50% | 高 | 中 | 高 |
| RAID 50 | 6 | 多个磁盘 | 1/N | 高 | 中 | 高 |
| RAID 60 | 8 | 多个磁盘 | 50% | 高 | 中 | 高 |
更多推荐



所有评论(0)