1、創建一個10G分區,并格式化為ext4文件系統;
(1)要求其block大小為2048,預留空間百分比為2,卷標為MYDATA,默認掛載屬性包含acl;
(2)掛載至/data/mydata目錄,要求掛載時禁止程序自動運行,且不更新文件的訪問時間戳
第一步:創建一個10G的分區 [root@localhost ~]# fdisk /dev/sdb //管理分區sdb 命令(輸入 m 獲取幫助):n //輸入命令n創建一個新分區 Select (default p): p //設置分區類型為主分區 分區號 (1-4,默認 1):1 //設置分區號 起始 扇區 (2048-41943039,默認為 2048): //設置起始扇區,因為這里是sdb上第一個分區所以不輸入任何信息,從默認起始扇區開始 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認為 41943039):+10G //設置分區大小 分區 1 已設置為 Linux 類型,大小設為 10 GiB 命令(輸入 m 獲取幫助):w //輸入w保存并退出 第二步:設置分區文件系統類型 [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 //設置文件系統類型、塊大小及預留空間百分比 mke2fs 1.42.9 (28-Dec-2013) 文件系統標簽=MYDATA OS type: Linux 塊大小=2048 (log=1) 分塊大小=2048 (log=1) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 5242880 blocks 104857 blocks (2.00%) reserved for the super user 第一個數據塊=0 Maximum filesystem blocks=273678336 320 block groups 16384 blocks per group, 16384 fragments per group 2048 inodes per group Superblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816, 1327104, 2048000, 3981312 Allocating group tables: 完成 正在寫入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成 第三步:掛載分區 [root@localhost ~]# mount -o acl,noatime,noexec -L MYDATA /data/mydata/ [root@localhost ~]# mount | grep sdb1 //查看sdb1分區是否掛載 /dev/sdb1 on /data/mydata type ext4 (rw,noexec,noatime,seclabel,data=ordered)
2、創建一個大小為1G的swap分區,并創建好文件系統,啟用之;
第一步:創建一個大小為1G的swap分區 [root@localhost ~]# fdisk /dev/sdb //管理分區sdb 命令(輸入 m 獲取幫助):n //輸入命令n創建一個新分區 Select (default p): p //設置分區類型為主分區 分區號 (2-4,默認 2):2 //設置分區號 起始 扇區 (20973568-41943039,默認為 20973568): //直接按回車從默認起始扇區開始 將使用默認值 20973568 Last 扇區, +扇區 or +size{K,M,G} (20973568-41943039,默認為 41943039):+1G //設置分區大小 命令(輸入 m 獲取幫助):t //修改分區類型 分區號 (1,2,默認 2):2 //輸入要修改的分區號 Hex 代碼(輸入 L 列出所有代碼):82 //修改為swap類型,類型代碼為82 已將分區“Linux”的類型更改為“Linux swap / Solaris” 命令(輸入 m 獲取幫助):w //輸入w保存退出 [root@localhost ~]# partx -a /dev/sdb //強制重讀磁盤分區表 第二步:掛載swap分區 [root@localhost ~]# mkswap /dev/sdb2 //創建swap設備 正在設置交換空間版本 1,大小 = 1048572 KiB 無標簽,UUID=06f2a16f-9705-4b94-bdb6-05e164ff31c1 [root@localhost ~]# free //掛載前swap分區大小 total used free shared buff/cache available Mem: 1001364 247388 422308 7208 331668 563088 Swap: 2098172 0 2098172 [root@localhost ~]# swapon /dev/sdb2 //將分區sdb2啟用為交換分區 [root@localhost ~]# free //啟用之后swap分區大小 total used free shared buff/cache available Mem: 1001364 248148 421368 7208 331848 562288 Swap: 3146744 0 3146744
3、寫一個腳本
(1)獲取并列出當前系統上的所有磁盤設備
(2)顯示每個磁盤設備上每個分區相關的空間使用信息;
#!/bin/bash # fdisk -l | grep "^/.*" echo " " df -lh
4、寫一個腳本
(1) 接受一個以上文件路徑作為參數;
(2) 顯示每個文件擁有的行數;
(3) 總結說明本次共為幾個文件統計了其行數;
#!/bin/bash # if [ $# -lt 1 ];then echo "At least one filesname " exit 2 fi for i in $*;do line=$(cat $i | wc -l) echo "Number of rows in $i is $line" done echo "total of $# files"
5、寫一個腳本
(1) 傳遞兩個以上字符串當作用戶名;
(2) 創建這些用戶;且密碼同用戶名;
(3) 總結說明共創建了幾個用戶;
#!/bin/bash # if [ $# -lt 1 ];then echo "At least one username" exit 2 fi for i in $*;do if grep "^$i\>" /etc/passwd &> /dev/null;then echo "user $i exists" else useradd $i echo $i | passwd --stdin $i &> /dev/null echo "Add user $i finished" fi done echo "Created $# users"
6、寫一個腳本,新建20個用戶,visitor1-visitor20;計算他們的ID之和
#!/bin/bash # num=0 for i in {1..20};do if id visitor$i &> /dev/null;then echo "visitor$i exists" else useradd visitor$i id=$(grep "^visitor$i\>" /etc/passwd | cut -d: -f 3) let num+=$id fi done echo $num
7、寫一個腳本,顯示當前系統上所有默認shell為bash的用戶的用戶名,UID以及此類所有用戶的UID之和。
#!/bin/bash # while read line;do userid=$(echo $line | cut -d : -f 3) username=$(echo $line | cut -d : -f 1) usershell=$(echo $line | cut -d : -f 7) if [ $usershell == /bin/bash ];then echo "$username:$userid:$usershell" fi done < /etc/passwd for i in $(grep "/bin/bash" /etc/passwd | cut -d : -f 3);do let uid+=$i done echo "The UID total is $uid"
8、寫一個腳本,顯示當前系統上所有擁有附加組的用戶的用戶名,并說明共有多少個此類用戶。
#!/bin/bash # cat /etc/group | cut -d: -f1,4 | grep -E ".*:[^[:space:]]" num=$(cat /etc/group | cut -d: -f1,4 | grep -E ".*:[^[:space:]]" | wc -l) echo "There are such users $num"
9、創建一個有至少兩個物理卷組成的大小為20G的卷組,要求PE大小為8M,而后在卷組中創建一個大小為5G的邏輯卷mylv1,格式花為ext4文件系統,開機自動掛載至/users目錄,支持acl。
第一步:創建2個大小為10G分區類型為8e的分區 設備 Boot Start End Blocks Id System /dev/sdb1 2048 20973567 10485760 8e Linux LVM /dev/sdb2 20973568 41945087 10485760 8e Linux LVM 第二步:創建pv [root@localhost ~]# pvcreate /dev/sdb[1,2] Physical volume "/dev/sdb1" successfully created Physical volume "/dev/sdb2" successfully created 第三步::創建vg [root@localhost ~]# vgcreate testvg1 -s 8m /dev/sdb[1,2] Volume group "testvg1" successfully created 第四步:創建大小為5G的lv卷 [root@localhost ~]# lvcreate -L 5G -n mylv1 testvg1 Logical volume "mylv1" created. 第五步:格式化為ext4文件系統 [root@localhost ~]# mke2fs -t ext4 /dev/mapper/testvg1-mylv1 第六步:設置開機掛載 [root@localhost ~]# mkdir /users [root@localhost ~]# echo "/dev/mapper/testvg1-mylv1 /users ext4 acl 0 0" >> /etc/fstab
10、新建用戶magedu,其家目錄為/users/magedu,而后su切換至次用戶,復制多個文件至家目錄。
[root@localhost ~]# mkdir -pv /user/magedu [root@localhost ~]# useradd -d /uers/magedu magedu
11、擴展mylv1至9G,確保擴展完成后原有數據完全可用。
[root@localhost ~]# lvextend -L 9G /dev/mapper/testvg1-mylv1 Size of logical volume testvg1/mylv1 changed from 5.00 GiB (640 extents) to 9.00 GiB (1152 extents). Logical volume mylv1 successfully resize [root@localhost ~]# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert mylv1 testvg1 -wi-a----- 9.00g
12、縮減mylv1至7G,確??s減完成后原有數據完全可用。
[root@localhost ~]# umount /dev/mapper/testvg1-mylv1 [root@localhost ~]# e2fsck -f /dev/mapper/testvg1-mylv1 [root@localhost ~]# resize2fs /dev/mapper/testvg1-mylv1 7G [root@localhost ~]# lvreduce -L 7G /dev/mapper/testvg1-mylv1 [root@localhost ~]# mount /dev/mapper/testvg1-mylv1 /users/
13、對mylv1創建快照,并通過備份數據,要求保留原有的屬主屬組等信息。
[root@localhost ~]# lvcreate -s -L 512M -n mylv-snap -p r /dev/mapper/testvg1-mylv1
原創文章,作者:641348038@qq.com,如若轉載,請注明出處:http://www.www58058.com/62972
基本上可以,有些題目沒有按照要求來寫不太好~~~繼續加油~