14.linux中设备的访问####
设备访问
1.设备识别
/dev/xdxn ##硬盘设备/dev/sda1
/dev/cdrom ##光驱
/dev/mapper/* ##虚拟设备
2.设备的使用
##《设备的发现》##
fdisk -l ##查看真实存在的设备
cat /proc/partitions ##系统能够识别的设备
blkid ##系统能够挂载使用的设备id
df ##查看设备被系统使用的情况
##《设备的使用》##
1.设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt #把系统中第二块硬盘的第一个分区挂载到/mnt目录上
2.卸载设备
umout 设备|挂载点
如出现以下情况:
[root@foundation0 ~]# umount /dev/sdb1
umount: /home/kiosk/Desktop/photo: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
解决:
fuser -kvm 设备|挂载点 -k kill ,-v显示详细信息,-m扫描设备
####2.软硬链接###
ls -i ##查看文件节点号
ln -s /file /file1 ##软链接
ln /file /file1 ##硬链接
区别:
软链接可以跨文件系统。
Inode节点硬链接不管有多少个,均指向一个节点,每创建一个硬链接,会产生一个(大小,权限,节点,时间)一致的文件;软链接 是使用文件路径作为指针可以对一个不存在的文件名进行链接。
####3.文件查找####
1.locate filename ##在文件数据库中搜索filename信息,updatedb更新文件数据库
2.find
find 查找位置 -条件 条件值 -exec 动作 {} \;
-name
-not 条件
-user
-group
-size
-perm
--maxdepth
--mindepth
-a
-o
find /mnt -user student
find /mnt -group linux
find /mnt -user student -a -group linux
find /mnt -user student -o -group linux
find /mnt -user student -a -group linux
find /mnt -user student
find /mnt -user student -a -not -group linux
dd if=/dev/zero of=/mnt/file1 bs=1024 count=100
dd if=/dev/zero of=/mnt/file2 bs=1024 count=200
dd if=/dev/zero of=/mnt/file3 bs=1024 count=300
find /mnt -size 10k = 表示大小等于10k
find /mnt -size -10k - 表示大小小于10k
find /mnt -size +10k + 表示大小大于10k
find /mnt/ -perm 444 查看所有权限为444的文件和目录
find /mnt/ -perm -444 查找权限小于444的文件和目录
find /mnt/ -perm +444 查找权限大于444的文件和目录
find /etc/ -name *.conf -mindepth 2 查找递归子目录中为*.conf且深度大于2的文件
find /etc/ -name *.conf -maxdepth 2 查找递归子目录中为*.conf且深度小于2的文件
-a 逻辑与 -o 逻辑或
exec 执行命令 -c 使用一个空环境来执行
-a shell会将名字作为零参数传递给执行的命令
-l 在shell的开头防止一个破折号零参数传递给命令
find / -group mail -exec cp -rp {} /mnt/ \;
p:除复制源文件的内容外,还把其修改时间和访问权限也复制到新文件中
r:如果给出的源文件三一个目录文件,将递归复制该目录下所有的子目录和文件。此时目标必须为一个目录名
15.系统虚拟机管理####
####1.安装####
#!/bin/bash ##命令运行环境的指定
virt-install \ ##安装虚拟机
--name $1 \ ##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1000 \ ##内存
--file /var/lib/libvirt/images/$1.img \ ##硬盘文件
--file-size 8 \ ##硬盘文件大小
--cdrom /var/ftp/pub/iso/rhel-server-7.1-x86_64-dvd.iso & ##安装源指定
####2.管理####
virt-manager ##开启图形管理工具
virt-viewer vmname ##显示虚拟机,vmname表示虚拟机名称
virsh list ##列出正在运行的vm
virsh list --all ##列出所有vm
virsh start vmname ##运行指定vm
virsh shutdown vmname ##正常关闭指定vm
virsh destroy vmname ##强行结束指定vm
virsh create vmname.xml ##临时恢复指定vm,vmname表示前端管理文件
virsh define vmname.xml ##永久恢复vm
virsh undefine vmname ##删除vm的前端管理,不会删除存储
####3.虚拟机快照####
qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2
!/bin/bash
virsh destroy $1 &> /dev/null
virsh undefine $1 &> /dev/null
qemu-img create -f qcow2 -b /var/lib/libvirt/images/$1.qcow2 /var/lib/libvirt/images/$2.qcow2 &> /dev/null
virt-install \
--name $2 \
--ram 1000 \
--disk /var/lib/libvirt/images/$2.qcow2 \
--import &> /dev/null &