1,描述GPT是什么,应该怎么使用
GPT:GUID(Globals Unique Identifiers) partitiontable 支持128个分区,使用64位,支持8Z(512Byte/block )64Z ( 4096Byte/block),使用128位UUID(Universally Unique Identifier) 表示磁盘和分区 GPT分区表自动备份在头和尾两份,并有CRC校验位,UEFI (统一扩展固件接口)硬件支持GPT,使操作系统启动。
gdisk 命令可创建GPT分区
2,创建一个10G的分区,并格式化为ext4文件系统。要求:
(1)block大小为2048,预留空间20%,卷标为MYDATA,
(2) 挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。
(3)可开机自动挂载。
fdisk /dev/sdb
mkfs.ext4 -b 2048 -L MYDATA -m 20 /dev/sdb1
[-b 设置block 大小] [-L 设置卷标为MYDATA] [预留空间20%]
mount -o noexec,noatime /dev/sdb1 /mydata
[noexec-禁止程序自动运行] [noatime-不更新文件的访问时间戳]
自动挂载:
blkid /dev/sdb1 查看uuid
vim /etc/fstab 在fstab内添加如下:
UUID=bd6e7c18-1071-4962-a071-febddabc4d49 /mydata ext4 defaults,noatime,noexec 0 0
3,创建一个大小为1G的swap分区,并启用
partprobe
mkswap /dev/sdb2
swapon -a
swapon -s
vim /etc/fstab 添加如下:
/dev/sdb2 swap swap defaults 0 0
4 ,编写脚本计算/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"
5,将当前主机名保存至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"
6,编写脚本,通过命令行参数传入一个用户名,判断id号是偶数还是奇数。
#!/bin/bash
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"
转载于:https://blog.51cto.com/14387464/2409042