大家好,今天给各位分享四、高效搜索策略揭秘的一些知识,其中也会对进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
根据用户属性搜索find /data -user wang ---搜索用户wang的文件
find /data -nouser -ls ---搜索无主文件
查找/数据-nogroup-ls
根据文件类型查找:find /data -type d
查找/数据类型c
查找/数据类型l
查找/数据类型f
搜索空文件或目录:find /data -empty -ls ---搜索空文件或目录
查找/数据-类型-d-空-ls
5 组合查询条件:-a -o ! -不是
查找/data -name ".sh" -a -user rooter
查找/data -maxdepth 1 -a -type d -a -user root -ls
查找/data -maxdepth 1 -a -type d -a -user root -ls
find /data ".sh" -o user root ---or 关系
find /data(".sh" -o -user root) -ls ---整体括在括号内。中括号必须用转义,并且中括号两边必须有空格。
查找/data -not -name ".sh"
找到/数据! (-用户王-名称"*.txt")
查找-用户joe -非-组joe
查找-/data 不(-user joe -o -user jane )
查找/数据-用户乔-o-uid 500
排除目录:find /data -path "/data/bin" -a -purne -o -name ".conf"
查找/数据(-path "/data/bin" -o -path "/data/etc")-a -purne -o -name ".conf"
根据上面的总结,要查找不属于某些用户的用户,需要使用选项-user将组合查询中的-not和-a取反,所以命令如下:
find /var -not -user root -a -not -user lp -a -not -user gdm -ls
二、统计/etc/rc.d/init.d/functions文件中每一个单词的出现次数,并进行排序(用grep和sed两种方法分别实现)
思路:
正则表达式中使用元字符b 即分隔符来分隔单词在文件中,以每个单词占一行的格式显示,然后使用sort命令排序,然后使用uniq -c统计连续重复的行数,即每个单词出现的次数,然后再按照数字从高到低排序。
涉及到的知识点主要有
在正则表达式中使用b 来匹配单词。除了字母、数字和下划线之外,还可以使用其他字符作为分隔符。因此,如果单词两边都有下划线,需要单独处理。如果使用sed,则使用sed的查找替换功能,即将文件中除字母以外的所有字符替换为换行符,然后删除空行,然后使用uniq命令进行排序和计算连续重复的行。脚本如下:
方法1: 使用grep :
cat /etc/rc.d/init.d/functions |tr -s "_" "n"|grep -oE "b[[:alpha:]]{2,}b"|sort|uniq -c |排序-nr
注意:这里使用tr命令来处理下划线,并用换行符替换。
方法2:使用sed
sed -nr "s@[^[:alpha:]]@n@gp" /etc/rc.d/init.d/functions|sed "/^$/d"|sed "/^[[:alpha:]]$ /d"|排序|uniq -c|排序-nr
注意:对于sed替换搜索,需要启用内联全局替换功能,即g选项
三、利用sed取出ifconfig命令中本机的ipv4地址
思路:
。您还可以使用grep 和sed。
如果使用grep,首先找到ipv4地址所在行,也就是第二行,然后根据ip地址的格式编写正则表达式匹配。此时会得到三个地址,只需取出第一个即可:ip地址通用匹配格式为:1?[0-9]?[0-9]|2[0-4][0-9 ]|25[0-9]
ifconfig ens33|头-n 2|尾-n 1|grep -Eo "((1?[0-9]?[0-9]|2[0-4][0-9]|25[0-9 ]).){3}(1?[0-9]?[0-9]|2[0-4][0-9]|25[0-9])" | head -n 1 如果使用sed,总体思路与grep不同,它使用sed的搜索和替换思想。首先直接定位第2行,然后定义整行的正则匹配模式,通过分组将IP地址放入分组变量中,然后替换ifconfig ens33| sed -n "2p"| sed -nr "s@ .*net (.*) 网络掩码.*@1@p"
阐明:
1 sed命令可以通过管道接收某个命令的标准输出结果
2.*net (.*) netmask.* 这是ip所在行的匹配模式,从开头到inet空间。
然后ip地址分为一段,然后空格和字符网络掩码分为一段。这样,ip就被划分出来,放在1变量中。替换时直接返回
四、总结yum的配置和使用,包括yum仓库的创建
即可获取ip地址。 yum的工作原理:
yum底层是基于rpm实现的,其突出优点是解决了包依赖问题。 yum仓库由rpm包文件和仓库中的元数据信息组成。客户端通过配置文件找到yum源地址,直接通过网络下载yum仓库的元数据信息repodata到本地缓存。根据repodata 中存储的包名、包之间的依赖关系等,自动从仓库下载对应的包到本地。
yum 的常见用法:
yum info 包名-- 可以查看包的详细信息
yum list package name -- 查看某个包的信息。最后一列可以判断该软件包是否已安装。
yum search package name --搜索带有特定关键字的包
yum deplist 包名--查询某个包依赖于哪些包
yum install 包名-y --安装某个包并自动回答yes
yum remove package name --卸载某个包,依赖的包也会被删除。
yum还可以支持直接安装本地光盘rpm包:例如:
百胜安装/misc/cd/Packages/tree-1.6.0-10.el7.x86_64.rpm
yum clean all -- 清除yum 的本地元数据缓存信息
yum History ---查看yum安装包的历史记录
yum History undo 3 --ID 3下安装的httpd服务的所有包都会被删除:
yum History redo 3 ---这样就可以重新安装上面删除的ID3号
yum grouplist ---查看系统的包组信息,哪些安装了,哪些没有安装
yum groupinstall "软件包组名称" -y --安装某个软件包组。自动回答是
yum groupremove "软件包组名称" -y --卸载软件包组
yum repolist -- 列出可用仓库信息: 仓库ID 仓库名称仓库中的包数量
注意:卸载A包时,A包所依赖的其他包不会一起删除。因为这些其他包可能依赖于某些包
创建yum仓库:
如何配置本地yum仓库,即使用光盘作为yum服务器:
1 切换到配置文件目录
cd /etc/yum.repos.d/- 在此目录中创建的所有以.repo 结尾的文件都将起作用。如果其中之一的配置出现问题,就会影响yum的使用。
2 cd /misc/cd - 挂载CD
3、暂时将其他互联网的yum源放在其他目录的repos.d下。
目录文件
mv *.repo bak/
4 配置repodata所在目录为仓库路径
vim base.repo - 创建yum 仓库的配置文件。该名称应以.repo 为后缀。
# 第一行
[base] --仓库名称不留空格
# 第二行
baseurl=file:///misc/cd - 定义仓库的路径为本地CD路径
仓库路径有四种类型:
http://上网
https://上网
ftp://上网
file://进入本地文件系统
# 第三行
mirrorlist=http://服务器IP/filelist.txt
yum源的路径也可以使用文件列表,即mirrorlist的格式
服务器将rpm包的路径写入文件列表filelist.txt中,并打开http给客户端调用。
在服务器根目录下创建filelist.txt文件。一行写下yum源的路径。注意,字符串baseurl不需要写。
http://192.168.39.101/centos/basearch
http://192.168.39.101/centos/basearch
file:///mnt/cdrom](file:///mnt/cdrom
#第四行
name=cdrom -第三行是描述信息,可以不写。
#第五行
gpg检查=0
每次安装软件包时,都会自动检查软件包的来源。该行定义rpm 是否需要对包进行源验证。默认情况下,如果gpgcheck的值不写为1,则会进行验证。验证需要秘钥,如果不导入秘钥系统yum会拒绝安装
如果想绕过这个包的源码检查,可以将gpgcheck参数设置为0
在生产中,一般需要检查包的来源以确保安全。如果不想手动导入秘钥,可以将秘钥信息配置在一个文件中,让yum自动查找并导入。下面第六行是秘钥的配置方法:
# 6号线
gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-7 --
#7号线
enable=0 ---这个enable表示当前仓库是否启用。如果仓库指向的yum源在互联网上,则可以暂时禁用仓库,其中1表示暂时禁用。
# 8号线
failovermethod=roundrobin ---设置URL的冗余路径,即指定多个URL。如果遇到无效的URL,您可以访问其他URL。
接入方式分为循环随机选择和优先安装顺序接入。
五、编写初始化脚本reset.sh , 包含别名、提示符颜色、yum仓库的配置文件
#!/bin/bash
#
################################################## ## ######
#描述:别名配置、cmd提示颜色、yum配置
# 日期: 2019-07-22 1:01
# 文件名:重置.sh
#作者: zhengsy
# 版本: 1.0
################################################## ## ######
#定义磁盘扫描的别名scandisk
sed -i.bak "$ialias scandisk="echo - - -/sys/class/scsi_host/host2/scan"" /etc/bashrc
#定义网络目录别名cdnet
sed -i.bak "$ialias cdnet="cd /etc/sysconfig/network-scripts/"" /etc/bashrc
# 有效的配置文件
源/etc/bashrc
# 配置本地光盘的yum源:
mkdir /etc/yum.repos.d/net_base_bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/net_base_bak
猫/etc/yum.repos.d/local_base.repo END
[CentOS7_基础]
名称=Centos7_Local_Base
gpg检查=1
baseurl=file:///misc/cd/
gpgkey=file:///misc/cd/RPM-GPG-KEY-CentOS-7
结尾
# 设置命令提示符的颜色
触摸/etc/profile.d/env.sh
sed -i.bak "iPS1="[e[1;33m][u@h W t]\$[e[0m]"" /etc/profile. d/env.sh
# 关闭防火墙和selinux
systemctl 禁用防火墙
systemctl 停止防火墙
sed -i.bak -r "s@^SELINUX=.*@SELINUX=disable@" /etc/selinux/config
# 在CentOS7下启动系统。进入/misc/cd目录,自动挂载光盘。
yum 安装autofs-y
systemctl 启用autofs
systemctl start autofs
六、安装tree、ftp、lftp、telnet等包
思路:配置好本地光盘的yum源后,可以直接从光盘安装:
百胜干净所有
百胜重新处理
rpm -q "*树*" ||百胜安装树-y
rpm -q "*ftp*" ||百胜安装ftp -y
rpm -q "*lftp*" ||百胜安装lftp -y
rpm -q "*telnet*" || yum install telnet -y
七、在CentOS7上编译安装apache2.4源码包,并启动此服务
步骤如下:
【四、高效搜索策略揭秘】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我一直在找东西,总是找不到,这真让人头疼。
有6位网友表示赞同!
找东西真的要好好整理一下,不然很容易迷路。
有18位网友表示赞同!
以前没觉得“查找”是个难事,现在才发现还挺费劲的。
有20位网友表示赞同!
学会快速查找信息好重要啊,可以节省很多时间。
有13位网友表示赞同!
有时候找不到东西的时候,心里真的感觉糟透了。
有8位网友表示赞同!
真希望自己有神奇的能力,想找就立马找到了!
有15位网友表示赞同!
找到想要的资料真令人兴奋,感觉自己进步了一大步。
有18位网友表示赞同!
查找的过程有时候也会很让人惊喜,意外发现新东西也挺好。
有19位网友表示赞同!
仔细检查每一处可能的地方,总能找到答案
有19位网友表示赞同!
使用分类和标签可以更高效地查找资料!
有8位网友表示赞同!
多利用搜索引擎,速度更快效率更高!
有9位网友表示赞同!
掌握一些技巧,查东西会简单很多。
有13位网友表示赞同!
查找信息越来越便捷了,科技真是太棒了!
有16位网友表示赞同!
有时候感觉自己找的东西好像已经消失了,是不是错过了什么重要线索?
有16位网友表示赞同!
记录一下查找过哪些地方和结果,下次就能更快速地找到答案!
有14位网友表示赞同!
查找信息不仅是工作需要,生活中也经常用到。
有19位网友表示赞同!
查找的过程也是学习的过程,了解到越多知识就越能快速地找到想要的答案
有20位网友表示赞同!
希望能有个专门的系统来帮我记录和查找所有信息!
有19位网友表示赞同!
仔细阅读,认真思考,才能真正找到问题的关键。
有9位网友表示赞同!