[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
All primary partitions are in use
Adding logical partition 6
First sector (141940736-419430399, default 141940736):
Using default value 141940736
Last sector, +sectors or +size{K,M,G} (141940736-419430399, default 419430399): +10G
Partition 6 of type Linux and of size 10 GiB is set
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
(2)mkfs创建文件系统:
创新互联建站主营高邑网站建设的网络公司,主营网站建设方案,APP应用开发,高邑h5微信小程序定制开发搭建,高邑网站营销推广欢迎高邑等地区企业咨询
[root@localhost ~]# mkfs.ext4 -b 2048 -m 20 -L MYDATA /dev/sda6/
mke2fs 1.42.9 (28-Dec-2013)
Could not stat /dev/sda6/ --- Not a directory
[root@localhost ~]# mkfs.ext4 -b 2048 -m 20 -L MYDATA /dev/sda6
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=MYDATA
OS type: Linux
Block size=2048 (log=1)
Fragment size=2048 (log=1)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 5242880 blocks
1048576 blocks (20.00%) reserved for the super user
First data block=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: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
(3)挂载至/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳。并设置开机自动挂载
[root@localhost ~]# mkdir -p /mydata
[root@localhost ~]# vim /etc/fstab
/dev/sda6 /mydata ext4 defaults,noatime,noexec 0 0
[root@localhost ~]# mount -a
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 47G 5.2G 42G 12% /
devtmpfs 523M 0 523M 0% /dev
tmpfs 538M 0 538M 0% /dev/shm
tmpfs 538M 7.8M 530M 2% /run
tmpfs 538M 0 538M 0% /sys/fs/cgroup
/dev/sda1 497M 151M 346M 31% /boot
/dev/sda3 19G 39M 19G 1% /data
tmpfs 108M 4.0K 108M 1% /run/user/42
tmpfs 108M 32K 108M 1% /run/user/1000
/dev/sr0 8.1G 8.1G 0 100% /run/media/wl/CentOS 7 x86_64
tmpfs 108M 0 108M 0% /run/user/0
/dev/sda6 9.8G 13M 7.8G 1% /mydata
[root@localhost ~]# fdisk /dev/sda
Welcome to fdisk (util-linux 2.23.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): n
All primary partitions are in use
Adding logical partition 7
First sector (162914304-419430399, default 162914304):
Using default value 162914304
Last sector, +sectors or +size{K,M,G} (162914304-419430399, default 419430399): +1G
Partition 7 of type Linux and of size 1 GiB is set
Command (m for help): t
Partition number (1-7, default 7): 7
Hex code (type L to list all codes): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@localhost ~]# mkswap /dev/sda7
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=ba42d9ae-41a0-4829-bd14-a32834cf6ec9
[root@localhost ~]# swapon /dev/sda7
[root@localhost ~]# vim /etc/fstab
/dev/sda7 swap swap defaults 0 0
#!/bin/bash
#判断系统是否存在20个用户
id_sum=$( cat /etc/passwd | wc -l )
[ ${id_sum} -lt 20 ] && echo "用户个数小于20" && exit 2
id1=$(head -10 /etc/passwd | tail -1 | cut -d: -f3)
id2=$(head -20 /etc/passwd | tail -1 | cut -d: -f3)
idsum=$[${id1}+${id2}]
echo "Ths sum is $idsum"
[root@localhost scripts]# bash -x idsum2.sh
++ cat /etc/passwd
++ wc -l
+ id_sum=58
+ '[' 58 -lt 20 ']'
++ head -10 /etc/passwd
++ tail -1
++ cut -d: -f3
+ id1=11
++ head -20 /etc/passwd
++ tail -1
++ cut -d: -f3
+ id2=997
+ idsum=1008
+ echo 'Ths sum is 1008'
Ths sum is 1008
#!/bin/bash
hostName=$(hostname)
[ -z "${hostName}" -o "${hostName}" == "localhost.localdomain" -o "${hostName}" == "locahost" ] && hostnamectl set-hostname www.magedu.com || echo "主机名:${hostName},不要修改"
[root@localhost scripts]# bash -x hostname.sh
++ hostname
+ hostName=localhost.localdomain
+ '[' -z localhost.localdomain -o localhost.localdomain == localhost.localdomain -o localhost.localdomain == locahost ']'
+ hostnamectl set-hostname www.magedu.com
#!/bin/bash
#脚本判断参数用户ID奇偶类型
[ $# -lt 1 ] && echo "At least a username " && exit 1
! id $1 && echo "No such user" && exit 2
userid=$(id -u $1)
useri=$[${userid}%2]
if [ ${useri} -eq 0 ];then
echo "$1 ID 是偶数"
else
echo "$1 ID 是奇数"
fi
root@localhost scripts]# bash -xv id.sh user3
#!/bin/bash
#脚本判断参数用户ID奇偶类型
[ $# -lt 1 ] && echo "At least a username " && exit 1
+ '[' 1 -lt 1 ']'
! id $1 && echo "No such user" && exit 2
+ id user3
uid=1003(user3) gid=1003(user3) groups=1003(user3)
userid=$(id -u $1)
++ id -u user3
+ userid=1003
useri=$[${userid}%2]
+ useri=1
if [ ${useri} -eq 0 ];then
echo "$1 ID 是偶数"
else
echo "$1 ID 是奇数"
fi
+ '[' 1 -eq 0 ']'
+ echo 'user3 ID 是奇数'
user3 ID 是奇数
(2)LVM 基本术语:
(a)物理存储介质(PhysicalStorageMedia):
指系统上最底层的物理存储设备:磁盘,例如:/dev/sda、/dev/sdb等
(b)物理卷(Physical Volume, PV):
指磁盘、磁盘分区或RAID设备,使用LVM前需要先将之制作成便于识别的物理卷PV
(c)卷组(Volume Group, VG):
卷组由一个或多个物理卷PV组成,在卷组之上可创建一个或多个逻辑卷LV。卷组VG类似于非LVM系统的 物理磁盘
(d)逻辑卷(Logical Volume, LV):
建立在卷组VG之上,相当于逻辑分区,可在逻辑卷LV上进行一系列操作(例如:格式化、挂载等)。 逻辑卷LV类似于非LVM系统的磁盘分区
(d)物理扩展块(Physical Extent, PE):
当物理卷PV加入某一卷组VG后即被划分为基本单元PE,PE是LVM寻址的最小单元。PE的大小是可配置的,默认为4M。
(e)逻辑扩展块(Logical Extent, LE):
卷组VG将PE划分给逻辑卷LV,在逻辑卷LV中的PE称为LE。在同一卷组VG中,PE和LE大小相同,且相互对应。LE也是LVM的最小寻址单位。
(3)LVM基本操作:
(a)pv管理工具:
pvs:简要pv信息显示
pvdisplay:显示pv的详细信息
pvcreate /dev/DEVICE: 创建pv
(b)vg管理工具:
vgs
vgdisplay
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgextend VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath [PhysicalDevicePath...]
先做pvmove
vgremove
(c)lv管理工具:
lvs
lvdisplay
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
vremove /dev/VG_NAME/LV_NAME
(d)扩展逻辑卷:
# lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME(e)缩减逻辑卷:
# umount /dev/VG_NAME/LV_NAME# e2fsck -f /dev/VG_NAME/LV_NAME
# resize2fs /dev/VG_NAME/LV_NAME #[mMgGtT]
# lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount