1、描述GPT是什么,应该怎么使用。
2、创建一个10G的分区,并格式化为ext4文件系统。要求:
(1)block大小为2048,预留空间20%,卷标为MYDATA,
(2) 挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
(3)可开机自动挂载。
3、创建一个大小为1G的swap分区,并启用。
4、编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和。
5、将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com
6、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
7、lvm基本应用以及扩展缩减实现。
壹、描述GPT是什么,应该怎么使用。
GUID磁盘分区表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一64bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。MBR分区表不支持容量大于2TB的分区,GPT分区表支持最多128PB的硬盘和分区。GPT 磁盘能够实现巨大的容量。GPT 磁盘上的分区数量不受临时方案(比如 MBR Extended Boot Record (EBR) 定义的容器分区)的限制。GPT 磁盘分区定义明确并能够完全自动识别。平台操作的关键数据被放置在分区中而不是未分区或“隐藏”扇区中。GPT 磁盘使用原始的、备份的分区表存储冗余和 CRC32 字段,以提高分区数据结构的完整性。GPT 分区格式使用版本号和容量字段支持进一步的扩展。每个 GPT 分区都有独特的标识 GUID 和分区内容类型,所以不需要协调即可防止分区标识符冲突。每个 GPT 分区都有一个 36 字符的 Unicode 名称,这意味着任何软件都能够呈现一个人工可读的分区名称,而无需了解分区的其他内容。
对于总容量大于2TB的硬盘,必须选择GPT分区表,才能识别所有的硬盘容量。分区表必须是UEFI BIOS环境。
贰、创建一个10G的分区,并格式化为ext4文件系统。要求:
(1)block大小为2048,预留空间20%,卷标为MYDATA,
(2) 挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
(3)可开机自动挂载。
步骤如下: 先分区,后格式化
------分区------
新增一个硬盘 并查看新增硬盘信息:
~]# fdisk -l
sdb为新添加的硬盘:
fdisk /dev/sdb
对新加硬盘分区
输入m可以查看帮助
新建10G磁盘空间 ,再输入 w 保存配置
------格式化------
mkfs
用于在设备上(通常为硬盘)创建Linux文件系统。mkfs本身并不执行建立文件系统的工作,而是去调用相关的程序来执行。
【语法】
mkfs(选项)(参数)
【选项】
fs:指定建立文件系统时的参数;
-t<文件系统类型>:指定要建立何种文件系统,文件系统是要指定的,比如 ext3 ;reiserfs ;ext2 ;fat32 ;msdos 等;
-v:显示版本信息与详细的使用方法;
-V:显示简要的使用方法;
-c:在制做档案系统前,检查该partition是否有坏轨。
mkfs.ext4
(选项)(参数)
【选项】
-c 坏块测试
-L 设置volume 标签,最长为16个byte
-m 指定保留空间百分比,为root用户
-M 设置最后挂载目录
-n 不真正创建文件系统,只是显示创建的信息
-S 只写超级块和块组描述符。(当超级块和备份超级块错误后,可以用来恢复数据。因为它不会touching inode表和bitmap)
挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
可开机自动挂载
ls -l /dev/disk/by-uuid
查询新增硬盘uuid
/etc/fstab
中添加以下内容
UUID=bd6e7c18-1071-4962-a071-febddabc4d49 /mydata ext4 defaults,noatime,noexec 0 0
叁、创建一个大小为1G的swap分区,并启用。
采用分区创建
此时/dev/下没有新增的分区,运行 partprobe 即可. partprobe-----用于重读分区表,当出现删除文件后,出现仍然占用空间。可以partprobe在不重启的情况下重读分区。
=====================================
采用文件创建
肆、编写脚本计算/etc/passwd文件中第10个用户和第20个用户id号之和。
#!/bin/bash
users1=$(cat /etc/passwd|wc -l)
[ $users1 -lt 20 ] && echo "less than 20users" && exit 2
userid10=$(head -n 10 /etc/passwd | tail -n 1 | cut -f 3 -d ":")
userid20=$(head -n 20 /etc/passwd | tail -n 1 | cut -f 3 -d ":")
usersum=$[$userid10+$userid20]
echo "the 10th user id is $userid10"
echo "the 20th user id is $userid20"
echo "the sum is $usersum"
运行结果如下
伍、将当前主机名保存至hostName变量中,主机名如果为空,或者为localhost.localdomain则将设置为www.magedu.com
#!/bin/bash
hostName=$(hostname)
[ "$hostName" == "localhost.localdomain" -o -z "hostName" -o -n "hostname" ] && hostnamectl set-hostname www.magedu.com;echo 'hostName='$hostName || echo "nothing to be change"
陆、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
#!/bin/bash
#第四周陆、编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
read -p "Enter a username: " usename
id=$(cat /etc/passwd |grep $username |cut -f3 -d:)
echo "The user \"$username\" id is $id"
[ `expr $id % 2` -eq 0 ] && echo "this id is even number" || echo "this id is odd number"
柒、lvm基本应用以及扩展缩减实现。