linux学习笔记(五)

这篇博客介绍了Linux系统中如何使用`locate`和`find`命令查找文件,包括按名称、所有者、组、大小和权限等条件。还涉及到了文件的大小管理、权限设置以及磁盘使用情况的检查。此外,讨论了软硬链接的概念及其区别,并展示了如何管理硬盘设备和挂载点。最后,提到了虚拟机的创建与管理,包括使用`virt-install`命令创建虚拟机和设置虚拟机快照。
yum list name ##查看安装情况
yum remove name ##卸载
grep -r “” ##关键字查找


###1.软件名称识别###
[abrt-addon-ccpp]-[2.1.11-19].[el7].[x86_64].rp  ##rpm结尾的适用于redhat操作系统
       ||         ||         ||       ||
    软件名称       软件版本 软件适用系统 64位


####如何安装软件####
1.rpm
rpm    -ivh    name.rpm    ##安装 ,-v显示过程,-h指定加密方式为hash
    -e    name        ##卸载
    -ql    name        ##查询软件生成文件
    -qlp    name.rpm    ##查询软件安装后会生成什么文件
    -qa            ##查询系统中安装的所有软件名称
    -qa |grep name        ##查询软件是否安装
    -q name            ##显示全名
    -qp name.rpm        ##查询软件安装包安装后的名字
    -qf filename        ##查看filename属于那个安装包
    -ivh name.rpm --force    ##强制安装
    -qi name        ##查看软件信息
    -Kv name.rpm        ##检测软件包是否被篡改
    -qp name.rpm --scripts    ##检测软件在安装或卸载过程中执行的动作



yum:上层软件管理工具,最重要的功能是可以解决软件的依赖关系
rpm不能解决软件的依赖关系
yum能够投入使用的前提是必须要有yum源,以及配置源的指向文件

###server源端####
1.从网络上下本机系统版本匹配的iso镜像文件
rhel-server-7.1-x86_64-dvd.iso

2.创建一个iso文件,并将rhel-server-7.1-x86_64-dvd.iso放入文件中

3.创建一个rhel7,把rhel-server-7.1-x86_64-dvd.iso挂载到/rhel7以便访问镜像中的文件
mount rhel-server-7.1-x86_64-dvd.iso /iso

4.配置本机yum源指向
rm -fr /etc/yum.repos.d/*
vim /etc/yum.repos.d/yum.repo

#################

[Server]

name=rhel7.1
baseurl=file:///rhel7

gpgcheck=0

#################

yum clean all



5.安装资源共享服务
yum install httpd -y
systemctl stop firewlsh-plugin-11.2.202.451-release.x86_64.rpmld
systemctl disable firewalld
systemctl start httpd
systemctl enable httpd

6.建立共享目录,并挂在镜像文件到共享目录上
mkdir /var/www/html/rhel7.1
umount /mnt
mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1

7.测试
在浏览器中输入:http://本机ip/rhel7.1
可以看到镜像中的内容

8.修改本机yum源指向
[server]
name=rhel7.1
baseurl=file:///var/www/html/rhel7.1
gpgcheck=0

9.开机自动挂在iso

vim /etc/rc.d/rc.local

#################################################

mount rhel-server-7.1-x86_64-dvd.iso /var/www/html/rhel7.1

#################################################



chmod +x /etc/rc.d/rc.local

10.第三方软件仓库的搭建
把所有的rpm软件包放到一个目录中,这个目录中只能存在rpm文件
createrepo -v /rpm存放目录         ##信息录入
vim /etc/yum.repos.d/xxx.repo
[Software]
name=software
baseurl=file:///rpm存放目
gpgcheck=0

11.安装第三方软件
lftp 172.25.254.250
cd pub/software/tools/
get wps-office-8.1.0.3724-0.1.b1p2.i686.rpm
mkdir /software
mv wps-office-8.1.0.3724-0.1.b1p2.i686.rpm /software/
createrepo -v /software/
vim /etc/yum.repos.d/westos.repo
###########################################
[rhel7.0]
name=rhel7.2
baseurl=file:///var/www/html/rhel7
gpgcheck=0

[software]yum
name=software
baseurl=file:///software
gpgcheck=0
############################################
yum clean all
yum install /software/wps-office-8.1.0.3724-0.1.b1p2.i686.rpm

###设置黑名单###
yum list all
vim /etc/yum.conf
exclude=*.i686    ##设置软件黑名单


查找文件的方式:所有人,所有组,时间戳,类型,内容,权限


####文件查找####
##1.locate##
1.locate filename     ##在文件数据库中搜索含有filename信息的文件碍难
updatedb              ##更新文件数据库


##2.find##

find     查找位置    -条件    条件值     -exec 动作 {} \;
            -name             ##按文件名称查找
            -not    条件       ##不符合某个条件
            -user             ##按文件所有人查找
            -group            ##按文件所有组查找
            -size             ##按文件大小查找,前加+=-表示大于等于小于
            -perm             ##按文件权限查找
            -maxdepth         ##最大深度
            -mindepth         ##最浅深度
            -a                ##同时满足多个条件中间加-a
            -o                ##多个条件满足其中一个中间加-o    

find    -type   文件类型
                 -f    ##查找普通文件
                 -d    ##查找目录
                 -c    ##查找字符设备
                 -s    ##查找套接字
                 -p    ##查找管道
                 -b    ##查找快设备
                 -l    ##查找连接


find /mnt -user student     ##查找mnt下所有人为student的文件
find /mnt -group student    ##查找mnt下所有组为student的文件
find /mnt -user student -a -group root ##查找mnt下所有人为student并且所有组为root的文件
find /mnt -user student -o -group root ##查找mnt下所有人为student或者所有组为root的文件
find /mnt -user student -a -not -group root  ##查找mnt下所有人为student并且所有组不是root的文件



dd if=/dev/zero of=/mnt/file1 bs=1024 count=100
从/dev/zero中截取100个1024字节的文件到/mnt/file1中
du -sh *                  ##查看文件大小


find /mnt -size 200k     ##查找mnt下等于200k的文件
find /mnt -size -200k    ##查找mnt下小于200k的文件
find /mnt -size +200k    ##查找mnt下大于200k的文件

find /mnt -perm 444      ##查找mnt下权限为444的文件
find /mnt -perm /444     ##查找mnt下满足u=r或g=r或者o=r的文件
find /mnt -perm -444     ##查找mnt下u满足r并且g满足r并且o满足r的文件
/  满足其中一个
-  全部满足



find /etc/ -maxdepth 2 -name *.conf  ##查找最多2层内后缀名为.conf的文件
find /etc/ -mindepth 2 -name *.conf  ##查找最少2层内后缀名为.conf的文件
find /etc/ -mindepth 1 -maxdepth 2 -name *.conf  ##查找最少1层最多2层内后缀名为.conf的文件

find /etc/ -name *.conf -exec cp -r {} /mnt \; ##将etc下后缀名为.conf的文件复制到/mnt下
find / -group mail -exec cp -rp {} /mnt/backup \;  ##将系统中mail组下的文档复制到/mnt/backup中



####软硬链接###

1.链接:是一种文件共享的方式,是POSIX中的概念,主流文件系统都支持链接文件。
2.软链接:也称为符号连接,软链接文件类似Windows的快捷方式。(在符号连接中,文件实际上是一个文本文件,其中包含另一文件的路径信息)ln -s 命令可以生成一个软连接
1)在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作
2)删除链接文件时,系统仅仅删除链接文件,而不删除源文件本身
3.硬链接:是已存在文件的另一个名字。ln 可以生成硬链接
硬链接文件的两个限制:1)不允许给目录创建硬链接,2)只有在同一文件系统中的文件之间才能创建链接。


ls -i                ##查看文件节点号
ln -s /file /file1        ##软链接,能够跨区,多个节点对应一个数据区域
ln /file /file1            ##硬链接,不能够跨区,一个节点对应多个数据区域
数据块越小,磁盘利用率越高,但是速度越慢。数据块越大,磁盘利用率越低,速度越快


disk硬盘
fdisk -l        ##查看真实存在的设备
cat /proc/partitions    ##系统能够识别的设备
blkid            ##系统能够挂载使用的设备id
b表示block,l表示list,kid为设备id,只有在格式化后才会出现设备id
sda1:s表示sata,串行接口设备,d表示disk(设备),a表示主机中的第一个设备,1表示设备中的第一个分区
df            ##查看设备被系统使用的情况
df -h :1M=1024k
df -H :1M=1000k
umount  设备|挂载点      卸载
fuser:设备中正在运行的程序
fuser -vm    目录(设备挂载点)    ##显示设备中正在使用的程序并显示
fuser -kvm     设备|挂载点    -k kill ,-v显示详细信息,-m扫描设备

如出现以下情况:
[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     设备|挂载点    

设备识别
/dev/xdxn        ##硬盘设备/dev/sda1
/dev/cdrom        ##光驱
/dev/mapper/*        ##虚拟设备

cat /proc/cpuinfo | grep vmx  ##查看系统是否安装虚拟化设备

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的前端管理,不会删除存储
虚拟机由/etc/libvirt/qemu/vmname.xml和/var/lib/libvirt/images/vmname.qcow2组成,


####安装虚拟机####
vim virt_create.sh

#!/bin/bash            ##命令运行环境的指定
virt-install \            ##安装虚拟机
--name $1 \            ##虚拟机名称指定,$1表示脚本后的第一串字符
--ram 1024 \            ##内存
--file /var/lib/libvirt/images/$1.qcow2 \        ##硬盘文件    
--file-size 8 \                 ##硬盘文件大小
--cdrom /iso/rhel-server-7.2-x86_64-dvd.iso & &> /dev/null  ##安装源指定
--vnc \ ##开启vnc
--vncport=7000 \  ##vnc的开启端口
--vnclisten=172.25.254.连接ip & ##端口开启的ip

& ##将安装过程打入后台
&> /dev/null 表示将提示信息放入垃圾箱,不会占用终端
sh virt_create.sh vmname       ##运行

分区 :/boot:启动相关的,swap:交换分区,内存的缓冲区,/:根分区

##虚拟机快照##
1.qemu-img create -f qcow2 -b vm2.qcow2 node1.qcow2  

##必须是已经建立好的虚拟机,-f是类型,-b是基于vm2.qcow2做快照,.qcow2文件需要使用绝对路径##
2.运行导入映像脚本
#!/bin/bash
virt-install \
--name $1 \
--ram 1000 \
--file /var/lib/libvirt/images/$1.qcow2 \
--import &
3.运行虚拟机重置脚本
#!/bin/bash
virsh destroy $1
rm -fr /var/lib/libvirt/images/$1.qcow2
qemu-img create -f qcow2 -b /var/lib/libvirt/images/hello.qcow2 /var/lib/libvirt/images/$1.qcow2
virsh start $1
virt-viewer $1 &



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值