Linux 第14天: (08月25日) 练习和作业

 

 

 

 

 

管理挂载loop文件 

 


centos 7

dd if=/dev/zero of=/testdir/testdir2 bs=1M count=500
losetup /dev/loop7 /testdir/testfile2
losetup
ll /dev/loop*
mkdir /mnt/loop7
mkfs.ext4 /dev/loop7
mount /dev/loop7 /mnt/loop7
df
losetup
ll /dev/loop*

 


centos 6

ll /dev/loop*
dd if=/dev/zero of=/testdir/bigfile bs=1M count=500
losetup /dev/loop7 /testdir/bigfile
mkdir /mnt/bigfile
mkfs.ext4 /testdir/bigfile/
blkid /testdir/bigfile
mount /dev/loop7 /mnt/bigfile
losetup -a

 

 


制作iso文件挂载

cp /dev/sr0 /root/centos7.iso
file /root/centos7.iso
mkdir /mnt/iso
mount /root/centos7.iso /mnt/iso
df

 


制作文件夹转为iso文件挂载

mkisofs -r -o etc.iso /etc/
file etc.iso
mkdir /mnt/etc
mount etc.iso /mnt/etc
losetup
df

 

 

 

图形界面光驱自动挂载的目录
centos 7
/run/media/root/CentOS_7_x86_64
centos 6
/media/CentOS_6.7_Final

 


systemctl start autofs 启动光盘自动挂载服务
ls /misc/cd            一访问就自动挂载光盘

 


mkdir /mnt/usb
mount /dev/sdf4 /mnt/usb  挂载优盘

 

 

du -sh     本目录大小
du -sh /*  下一级大小

 

 

echo {1..9}|tr -d " " > f1
echo {a..z}|tr -d " " > f2
dd if=f1 of=f2 bs=1 count=3 skip=5 seek=2               ab678
dd if=f1 of=f2 bs=1 count=3 skip=5 seek=2 conv=notrunc  ab678fgh...z


 

dd if=f2 of=f3 conv=ucase 转换成大写
dd if=f3 of=f4 conv=lcase 转换成小写

 


hexdump -C -n 512 /dev/sdb  查看十六进制磁盘分区表
dd if=/dev/zero of=/dev/sdb bs=1 count=64 seek=446 删除分区表


 

 

 

同步磁盘分区
centos6
partx -a /dev/sda
partx -d --nr m:n /dev/sda
centos7
partprobe

 

 

物理查看磁盘分区
fdisk -l

内存查看磁盘分区
cat /proc/partations
ls /dev/sd*
lsblk

 


格式化磁盘分区
mkfs -t
mke2fs ext?

 

 

mount -a                      第一次挂载磁盘
mount -o remount /mnt/sd??    第二次挂载磁盘

 


mount --bind /boot /mnt/boot  目录挂载目录
df                            无法查看目录挂载目录
mount                         可以查看目录挂载目录

 

 

ll /dev/sr0
dd if=/dev/sr0 of=/testdir/centos7.iso  制作光盘文件
file /testdir/centos7.iso

 


vim /etc/fstab
/testdir/centos7.iso  /mnt/iso  iso9660  loop     0 0    挂载光盘文件
/boot                 /mnt/boot none     bind     0 0    目录挂载目录
10.1.1.1:/share       /mnt/nfs  nfs      defaults 0 0    挂载win共享

 

 

/etc/fstab       设备名出错 自检非0 开机无法启动
mount -o remount,rw /         重挂根目录加写权限

 

 

 

 


管理swap分区

 

 

 

查看swap物理分区
cat /proc/swaps
blkid -U UUID
mount 看不到swap分区

 

 


增加swap分区
fdisk
mkswap -L swap_sdc1 /dev/sdc1       格式化
vim /etc/fstab
/dev/sdc1 swap swap defaults 0 0    挂载
swapon -s                           查看swap分区
cat /proc/swaps                     查看swap分区
swapon -a                           生效swap分区
free                                查看swap分区等于二者和

 


swapon -a                           第一次挂载swap分区

swapoff /dev/sdc1                   第二次挂载swap分区
swapon -a                           不可缺少-a

 

 


文件当作swap分区

 

dd if=/dev/zero of=/testdir/partfile bs=1M count=500
mkfs.ext4 /testdir/partfile
blkid                               看不到
blkid /testdir/partfile             可以看到
mkdir /mnt/partfile
mount /testdir/partfile /mnt/partfile/ -o loop 目录挂载文件
cd /mnt/partfile/

 

vim /etc/fstab
/testdir/partfile  /mnt/partfile  ext4 loop  0 0

 

umount /mnt/partfile/
mount -a
df

 

 

 

dd if=/dev/zero of=/testdir/swapfile bs=1M count=1024
ll -h /testdir/swapfile
mkswap /testdir/swapfile -L swapfile
blkid /testdir/swapfile

 

 

vim /etc/fstab
/testdir/swapfile  swap  swap  defaults 0 0

 

 

swapon -a
free
swapon -s

 

 

swapoff /dev/sdc1
swapoff /testdir/swapfile

 


fdisk -d
rm -f /testdir/swapfile

 

 

 

 

 

1、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/testdir目录,且默认有acl挂载选项

 

 

lsblk
fdisk /dev/sdd
mkfs.ext4 -b 2048 -L TEST -m l /dev/sdd1
tune2fs -l /dev/sdd1

 

vim /etc/fstab
:r!blkid /dev/sdd1   /test  ext4  acl 0 0

 

setfacl -m u:user1:0 f1
getfacl f1

 

 

 

 


2、写一个脚本,完成如下功能:
(1) 列出当前系统识别到的所有磁盘设备
(2) 如磁盘数量为1,则显示其空间使用信息
否则,则显示最后一个磁盘上的空间使用信息

 

 

lsblk |grep -o "^sd[a-z]\+"|tail -n 1