运维SRE-01 目录结构体系、find

1. Linux目录结构体系

Linux 核心目录的核心文件概述

在这里插入图片描述

1) /etc下面

在这里插入图片描述

a) /etc/hosts 主机ip地址与域名(主机名)对应关系
b) /etc/hostname 主机名
c) /etc/sysconfig/network-scripts/ifcfg-ens33或ifcfg-eth0
Linux网卡配置文件
d)了解 /etc/issue /etc/issue.net 用户登录系统之前显示的信息e)了解 /etc/motd 用户登录系统后显示的内容
f)了解 /etc/fstab 开机的时候自动挂载目录。
g)了解 /etc/rc.local 开机自动运行的内容存放这个文件。
h)了解 /etc/profile /etc/bashrc 存放用户环境变量信息。
i)小结

文件含义
/etc/hostsip地址与主机名解析关系(对应关系)
/etc/hostname 主机名,hostnamectl , hostname
/etc/sysconfig/network-scripts/ifcfg-ens33ens33 改为 eth0 .网卡配置文件。
/etc/issue /etc/issue.net
/etc/motd
/etc/fstab开机自动运行的内容存放这个文件。
/etc/rc.local开机自启动配置文件
/etc/profile
/etc/bashrc
2) /var目录经常变化的内容,日志

a) /var/log/messages
b) /var/log/secure

3) /proc/ 下面核心文件

a) /proc/cpuinfo cpu信息
在这里插入图片描述

b) /proc/meminfo 内存信息
c)了解:/proc/mounts 磁盘挂载信息d) /proc/diskstats 磁盘使用情况的信息e)了解 /proc/loadavg 系统负载信息

which 查询命令的绝对路径。

whereis 查询命令的绝对路径,命令相关文件。

在这里插入图片描述

在这里插入图片描述

diff

a表示 append 增加内容了
c表示 change 这样内容被修改
d表示 delete 删除了行

vimdiff

在这里插入图片描述
在这里插入图片描述

yum源优化

yum源 Linux下载软件地方。 软件仓库。

curl -o /etc/yum.repos.d/CentOS-7.9.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/CentOS-7.9.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y tree vim wget bash-completion bash-completion-extras lrzsz net-tools sysstat iotop iftop 
htop unzip nc nmap telnet bc psmisc httpd-tools bind-utils nethogs expect
yum install -y sl cowsay

排序与去重命令

1) sort 用于排序的命令
默认是按照字符顺序对比,从左到右一位一位对比。

选项
sort文件
-n对数字排序
-r逆序排序
-k指定某列 -k1
指定多列 -k1 -k2
-k1.1 根据第1列的第1个字符进行排序
-t指定分隔符

在这里插入图片描述

2) uniq (unique)(去重并显示次数)合并文件中相邻的相同的行,同时可以显示次数

uniq -c 文件  \\去重并统计次数

在这里插入图片描述

案例

(对ip去重并统计次数)

  1. 对ip列表先排序 sort
  2. 然后通过uniq -c显示次数
  3. 对重复次数再次 排序 sort
  4. 取出次数最多的前10个
sort failed-ip.txt |uniq -c |sort -rn |head

反引号``

``内容 优先执行里面的命令,然后执行其他命令。
`` 与 $() 作用域用法一样。

企业生产备份案例 :

准备/backup目录,把etc打包压缩存放在/backup/ ,给压缩包上面加上时间
/backup/etc_2022-11-11.tar.gz
tar zcf /backup/etc.tar.gz /etc/

tar zcf /backup/etc_`date +%F`.tar.gz /etc/

#每天执行备份命令:定时任务。
#反引号场景:
先取出时间,ip地址。。。。。
然后创建文件,目录,打包压缩。。。。

find查找

选项
-type查找指定类型的文件f(file)d(directory)
-name指定文件名
-size根据大小进行查找+20k大于20kb 小于-20k
k(kb)
M(Mb)注意大小写
-mtime根据文件修改时间进行查找-mtime+7 7天前
-maxdepth 1指定find命令查找的深度,这个选项要放在选项的第1个
-iname查找文件的时候不区分大小写(文件名)
-user或-group指定用户和用户组
-perm指定权限
案例:
在/hb目录下寻找,以.txt结尾的文件
find /hb -type f -name '*.txt'  

案例:
在/etc中查找文件,文件名字包含ifcfg

find /etc -type -f -name '*ifcfg*'

案例:
在/etc下查找文件,找出.conf结尾的文件,大小大于20kb

find /etc -type f -name '*.conf' -size +20k

案例:
在/etc/目录下查找,修改时间(时间)是7天之前(文件最近1次修改内容距今超过7天)

find /etc -mtime +7

在这里插入图片描述

PS:

创建30个文件,每次修改之间修改系统时间,然后给文件名赋值当前日期

mkdir  -p /oldboy/logs
cd /oldboy/logs
for n in {01..30}
do
     date -s "202203$n"
      touch access_`date +%F`.log
done
date -s "20220330"

find的命令与其他命令的配合

  1. find与rm,ls,cat,head,替换进行配合
  2. find与cp/mv配合
  3. find与tar配合
环境准备
mkdir -p /hb/find
cd /hb/find
touch hb{01..10}.txt

案例1:
找出/hb/find目录中以.txt结尾的文件显示详细的信息(ls -lh)

ls -h `find -type f -name '*.txt'`
find -type f -name '*.txt'|xargs ls -h
find -type f -name '*.txt' -exec ls -lh {} \;## 语法 {}代表前面的参数,\;结束 这里exec每find一次传一次参数,就执行一次
结论:

|管道 与 |xargs如何处理数据

共同点区别
管道把前面命令的结果通过管道传递给后面的命令传递仅仅是普通的字符
xargs把前面命令的结果通过管道传递给后面的命令传递的是参数(前面传递过来的才是命令可以识别的文件名或目录名)

在这里插入图片描述

find与cp/mv配合

案例01:
找出/oldboy/find目录中以.txt结尾的文件 复制到/tmp目录

cp $( find /oldboy/find/ -type f -name '*.txt' ) /tmp
find /hb/find/ -type f -name '*.txt'|xargs cp -t /tmp/
find /hb/find/ -type f -name '*.txt'|xargs -i cp {} /tmp/
find  /hb/find/ -type f -name '*.txt'|exec cp {} /tmp/ \;
find与tar配合

案例01:
找出/oldboy/find目录中以.txt结尾的文件 打包压缩存放在/tmp/find.tar.gz

 tar zcf /tmp/find-fan.tar.gz     `find /hb/find/ -type f -name '*.txt'`
 find /hb/find/ -type f -name '*.txt' |xargs tar zcf /tmp/find-xargs.tar.gz
 find /hb/find/ -type f -name '*.txt'|exec tar zcf /tmp/find-exec.tar.gz {} +
这里,+表示对于 find 命令的每个结果,[command] 只执行一次。所有结果都作为参数一起传递给 [command]。+ 不需要用\+

文件属性

在这里插入图片描述

inode与block

一个非空的文件
inode: 文件的属性信息
block:文件的内容(文件是实体)

概念说明
inode 索引节点存放文件的属性信息(大小,权限,时间,连接数),存放文件block的位置(指向文件实体的指针)。没有存放文件名。
block 块(数据块)存放数据空间。(文件内容)
cat oldboy.txt 与 Inode block

在这里插入图片描述

概念说明特点
inode 索引节点存放文件的属性信息(大小,权限,时间,连接数)。
存放文件block的位置(指向文件实体的指针)。
没有存放文件名。
1. 每创建一个文件就要有1个inode空间。
2. 同一个磁盘分区中如果两个文件的inode相同,互为硬链接。
3. inode大小和数量是在磁盘分区格式化的时候创建。
4. 数量查看 df -i
block 块(数据块)存放数据空间。(文件内容)
1. 每个非空文件,至少占用1个block空间。
2. block默认是4k大小,文件较大会占用多个block空间。
3. 如果文件非常小,至少占用1个block.
4. block大小与数量也是在格式化创建文件系统的时候生成。
5. 数量查看 df -h
  • 30
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值