本文主要归纳了《鸟哥的Linux私房菜(第四版)》第二、六、七、八、十四和二十二章的重点知识点。
第二章、主机规划与磁盘分区
磁盘命名:SATA硬盘:实体机/dev/sd[a-p][1-128];虚拟机/dev/vd[a-p][1-128];注意是使用侦测到的顺序来决定设备文件名;
开机流程: BIOS:开机主动执行的固件,会认识第一个可开机的设备;MBR:第一个可开机设备的第一个扇区内的主要开机记录区块,内含开机管理程序; 开机管理程序(boot loader):一支可读取核心文件来执行的软件;核心文件:开始操作系统的功能...开机的流程由:BIOS-->MBR-->-->boot loader-->核心文件
传统BIOS和UEFI BIOS的对比
Linux镜像包版本识别:CentOS-7-x86_64-Everything-1503- 01.iso x86_64是64位操作系统;Everything是包山包海的版本-完整版;1503是15年3月发布的;01是匹配centos7,意思为centos7.1;
磁盘规划:一般是先划分/boot分区500M+,/swap交换分区,最后所有的留给/分区。
磁盘分区:主分区可以直接使用,扩展分区不能直接使用,需要分为逻辑分区后使用,一个扩展分区可以分为多个逻辑分区;
第六章、Linux文件与目录管理
绝对路径和相对路径区别:路径的起始点是否为/,相对于当前工作目录;
相关命令:cd、pwd、mkdir、cp、rm、mv、cat(tac反向列出,-n加行号)、less(翻页)、head/tail(头/尾几行)、touch
Umask:默认去除的权限比如:0022代表u=rwx,g=rx,o=rx;文件的默认最大权限是666(可读可写不可执行),目录的默认最大权限是777(可读可写可执行)
文件查找:whereis 文件名;find / -name 关键词
找出特殊权限的文件(-perm,suid和sgid分别是4和2,所以用/6000处理)find /usr/bin /usr/sbin -perm /6000 -exec ls -l {} \;
红色为额外操作。
第七章、Linux磁盘与文件系统管理
- Linux 操作系统的文件权限(rwx)与文件属性(拥有者、群组、时间参数等),分别存放在不同的区块,权限与属性放置到 inode 中,至于实际数据则放置到 data block 区块,还有一个超级区块 (superblock) 会记录整个文件系统的整体信息,包括 inode 与 block 的总量、使用量、剩余量等。
- 文件系统:传统文件系统为ext2,索引式文件系统;EXT家族支持度广但格式化较慢;xfs是日志式文件系统,几乎ext4所有功能它都有;
- Df -h:列出所有文件系统的整体磁盘使用量;du:列出当前目录下所有文件大小
- 软硬连接:
- 磁盘分区:lsblk列出系统上所有磁盘以及其上所有分区;blkid查看设备UUID;parted /dev/xxx print列出磁盘相关数据;分区软件:MBR 分区表使用 fdisk 分区, GPT 分区表使用 gdisk 分区。
- 磁盘格式化:mkfs.xfs /dev/vda4(格式化为xfs文件系统,其实也是创建xfs文件系统);mkfs.ext4 /dev/vda5(格式化为ext4文件系统)
- 文件系统挂载:挂载点应该是空目录,该目录为进入该文件系统的入口;单一文件系统不该被挂在多个挂在点上;一个目录不该挂多个文件系统。
Blkid /dev/sda
mount UUID="" /data/xfs
#blkid找到设备的UUID,用该UUID将文件系统挂到/data/xfs目录。
Mount -o usb设备 /挂载点
卸载:umount
8.开机自动挂载:/etc/fstab
第八章、文件与文件系统的压缩,打包与备份
1、压缩:gzip -v 文件名;解压:gzip -d 文件名(或者gunzip)—gzip、bzip2、xz三者用法类似,但是后者压缩比更高,日常使用的话还是gzip更顺手;
2、打包:tar -jpcv -f /root/etc.tar.bz2 /etc(j代表通过支持bzip2方式压缩/解压缩,后缀为*.tar.bz2;p是保存文件原有属性;cv是创建打包文件并查看被打包的文件;-f后面接被打包的文件名;原文件);
解压缩:tar -jxv -f 打包档.tar.bz2 待解开文件名
个人使用心得:一般打包和解包-jcv和-jxv足矣。
3、备份:xfsdump 命令可备份文件系统或单一目录,若针对文件系统备份时,可进行 0-9 的 level 差异备份!其中 level 0 为完整备份;xfsrestore 指令可还原被 xfsdump 创建的备份文件;
cpio备份(可以备份任何文件,包括设备文件,但是需要用find先找到文件):find / | cpio -ocvB > /dev/st0;还原:cpio -idvc < /dev/st0
*还有个dd命令,用它备份就有点笨重了,它不管扇区有没有用、不管认不认识文件系统都会去做备份,最后的结果就是备份文件会和原本磁盘一样大。
例: dd if=备份目录 of=输出目录
第十四章、磁盘配额(Quota)与进阶文件系统管理,重点是逻辑卷管理
磁盘阵列(RAID):
Raid0:等量,性能最佳
Raid1:映射,完整备份
Raid0+1或者raid1+0:基于性能和安全的综合考虑,厂商推荐
Raid5:性能与数据备份的均衡考虑;用一块磁盘容量存同位检查码,仅允许损坏一颗磁盘
Raid6:比raid5 更优,用两块磁盘容量存同为检查码,允许损坏两块磁盘。
Lvm(逻辑卷管理)
Pv物理卷:把物理磁盘/分区(只要是快设备就行)做成pv。
Vg卷组:是物理卷的集合,大小取决于有多少物理磁盘,不可直接使用必须要在上面创建逻辑卷;一个vg可以划分出多个lv出来,但是总大小不超过vg。
Vg不够用的话再创建新的PV加进来,vg随之扩展,
Lv逻辑卷:才是真正意义上可以动态扩展和收缩的;有物理边界(卷组的边界)和逻辑边界(文件系统的边界),每一个逻辑卷是一个独立的文件系统,相当于独立的分区
注意:要想给卷创建快照,必须在他所在的卷组中预留出一定的空间
PE(物理盘区):vg划分出许多PE,这些PE会被分到逻辑卷中。把pv加进vg之后就会出现PE。
LE(逻辑盘区):事实上也是PE,但是站在逻辑卷的角度上说。
注意:扩展lvm实际上是往lvm里面加PE,对应的缩小lvm是从里面取出PE。
在逻辑卷看来,是没有物理卷的,只有卷组和卷组中一个个的PE。
命令:
Fdisk /dev/sda >> n >>+10G >>p(查看)>> t(调整类型) >>10(分区号)>>8e(lvm标识) >> w >>partprobe /dev/sda >>cat /proc/partitions
###fdisk最多支持15个分区。
创建pv:pvcreate /dev/sda10
查看pv:pvs/pvdisplay/pvscan(创建的pv大小与设定的大小误差在20%以内就行)
创建vg:vgcreate 卷组名 /dev/sda10
####可以加-s 10M ,不加单位的话默认是4M。
缩小vg:实际上是把pv移除,需要提前把该pv上的数据转移到其他pv上。
Vgreduce vg名 /dev/sda11 #sda11是要移除的pv
Pvremove pv路径 #删除此磁盘
扩展vg:添加vg,pvcreate /dev/sda12 ;vgextend vg名 /dev/sda12;
创建lv:lvcreate -L 100M -n lv名 ##-L是指定大小,-n是指定名称
查看lv:lvs
最后一步:mke2fs -j /dev/vg名/lv名 ;挂载:mount /dev/vg名/lv名 /mnt
移除lv:首先取消挂载,再用lvremove /dev/vg/lv
注意:真正的设备文件在/dev/mapper,而/dev/vg名下的是一个链接文件,指向前者。命名规则:卷组名-lv名
扩展lv:需要两次扩展(先扩展物理边界,再扩展逻辑边界)
Lvextend -L 5G /dev/vg/lv #把lv扩展到5G,在此之前vgs查看vg空余空间;
Resize2fs -p /dev/vg/lv #扩展逻辑边界,用df -lh查看
缩减lv:也是需要两次缩减(先缩减逻辑边界,再缩减物理边界;不能在线缩减,先卸载;不能缩减的比原来还小;缩减前先强行检查文件和文件系统是否处于一致性状态。)
Df -lh #查看容量
Umount /mnt #卸载
e2fsck -f /dev/vg/lv #-f强行检查文件系统
Resixe2fs /dev/vg/lv 3G #缩减逻辑边界,到3G
Lvreduce -L 3G /dev/vg/lv #缩减物理边界,到3G
再重新挂载
快照卷:和原卷在同一卷组内;快照卷应该是只读的;生命周期应该是整个数据时长,在这个时间段内,数据增长量不能超过快照卷的大小,最安全的方法是快照卷和原卷一样大。
Lvcreate -L 3G -n 快照卷名 -s -p r /dev/vg/lv
#-L是快照卷的大小,-s是快照卷,-p是权限,r是只读,w是写权限;
快照卷创建以后,原卷的操作不会影响快照卷的内容。
第二十二章、软件安装RPM、SRPM与YUM,重点是RPM和YUM
yum、rpm、以及dpkg、apt对比
RPM -ivh 安装包 ##显示进度信息安装
RPM -qa ##列出所有已安装软件(yum list)
Rpm -e 软件名 ##卸载
Yum的配置文件:/etc/yum.repos.d/CentOS-Base.repo
更改yum源、软件库名字、数码签章(保持默认)
列出目前 yum server 所使用的软件库有哪些:yum repolist all
本地yum源和网络yum源的区别和配置参考此博主博文
【转载自https://blog.csdn.net/Running_free/article/details/77640752】