Linux 文件管理

小技巧

命令行光标跳转

Ctrl+a:跳到行首
Ctrl+e:跳到行尾
Ctrl+d: 删除光标后一个字符
ctrl+u:删除光标至行首的内容
ctrl+k: 删除光标至行尾的内容
Ctrl+w:删除光标前一个单词

压缩与解压:

压缩:zip + 自定义名字+压缩文件 :压缩文件,保留原文件
解压:unzip+文件名

tar 打包,本身不具有压缩,解压功能,但可调用相关工具
tar -czvf 自定义文件.tar 目标文件 调用gzip压缩
-xzvf 目标文件 调用gunzip解压
-jcf 调用bzip2压缩
-jxf 调用bunzip解压
-Jcf 调用xz压缩
-Jxf 调用unxz解压
-C 指定解压目录(大C 指定的文件夹必须存在)

#tar -czvf 压缩后的文件名  需要压缩的文件 
tar -czvf log.tar.gz  log    #把log文件打包通过gz压缩成log.tar.gz 
tar -xzvf  xx.tar.gz   -c /opt/a #指定xx压缩文件 解压到/opt/a

find:查找

find / -name 文件名

-a 并行的两个参数用-a连接
-user 拥有者/所属组,根据拥有者所属组进行查询
-name 根据名称进行查找 -iname是不区分大小写
-size 根据文件大小进行查找,通常和-a 连用
-type 根据类型 f文件,d目录, l链接 进行查找
-atime 根据文件访问时间进行查找 ,访问时间经常变更,不建议使用
-amin 根据文件访问时间进行查找,后面+分钟数
-ctime 根据文件权限修改时间进行查找,后面 +天数 ,更改后到现在的天数 常用与清理备份时查询
-mtime 根据文件修改时间进行查找

-type 文件类型(f文件,d目录,l链接)
find /root -user root   #查看/root下,文件所有者为root的文件
find /root  -size +2k -a -5k  # 查找文件大于2KB的文件,小于5k的文件
find /mnt -name 111 -exec rm -rf {} \;   #查找到/mnt下的111文件进行删除
#-exec 对搜索结果执行操作; rm -rf  是操作命令,{} \; 是查找的结果  
find /var/log/mysql -name "*.sql" -type f -ctime +7 -exec rm -rf {} \; > /dev/null 2>&1  #在/var/log/mysql目录下找到*.sql(类型为文件)并且文件权限更改时间大于7天,执行删除操作,然后后台执行,执行结果放到回收站

find /mnt -name test.txt -type f| xargs -I {} mv {} /tmp  
find /mnt/db/ -mtime "+15" -name "test*" -type "f" | xargs -I {} mv {} /tmp 
#将大于15天的test开头的文件 移动到/tmp下

xargs 参数过滤器
-I 将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。(大写i)
{} 过滤数据存放
mv 移动
/tmp 要移动到的目录

全局搜索locate:

速度快,默认在本地数据库查找
本地数据库路径/etc/updatedb.conf
要写在这里面的才找的到
在这里插入图片描述

查找命令的绝对路径which

which +命令
在这里插入图片描述

type:查看文件类型(内建命令/外建命令)
stat:详细查看文件属性,创建,修改时间
du -h:真实查看文件大小(占用磁盘大小)

查看历史数据

查看历史缓存hash
hit:命中,命令被引用了几次
-d删除指定的hash
-r忘记所有记住的位置,清空,清除hash在内存中的缓存
查看历史命令history
-c:清空命令历史
-d:指定偏移量删除
#history -d offset offset:偏移量,就是你想删的哪条
-w:保存命令历史至文件中
~/.bash_history

从真机拖文件到虚拟机或者xshell

安装lrzsz,没有安装包就下载
sz:将选定的文件发送(send)到本地机器
rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)
例:
从服务器发送文件到本地:sz /tmp/tes
马上会弹对话框,选择保存在本地的位置

配置YUM

mv /etc/yum.repo.d/   /etc/yum.repo.d.buk/  #把之前的repo备份下
vim /etc/yum.repo.d/a.repo  #创建个repo

[a]
name=a
baseurl=///mnt/cdom #需要把光盘挂载到 /mnt/cdom
gpgcheck=0
enabled=1

yum repolist all    #查看可用的包

如果还是无法使用,尝试下载WinSCP,该软件是传输文件用的
下载:http://mirrors.aliyun.com/repo/Centos-7.repo
拷贝到服务器上/etc/yum.repo.d/ 然后安装

yum install -y epel-release

文件备份

配置备份脚本

vim /opt/backup/webdump/web_back.sh
#!/bin/bash
#日期
dd=`date +%Y-%m-%d-%H-%M-%S`

#备份文件
dir=/opt/tomcat
dir8=/opt/tomcat8

#备份文件保存路径
#/opt/backup/webdump/tomcat
#/opt/backup/webdump/tomcat8

dir_bak_tomcat=/opt/backup/webdump/tomcat
dir_bak_tomcat8=/opt/backup/webdump/tomcat8

cd $dir_bak_tomcat
tar -czvf $dd-tomcat.tar.gz $dir

sleep 180s

cd $dir_bak_tomcat8
tar -czvf $dd-tomcat8.tar.gz $dir8
chmod +x /opt/backup/webdump/web_back.sh

配置定时备份任务crontab

30 3 * * * /bin/bash /opt/backup/webdump/web_back.sh

配置定时清理脚本

vim /opt/backup/webdump/cleandump.sh
#!/bin/bash
dir_bak_tomcat=/opt/backup/webdump/tomcat
dir_bak_tomcat8=/opt/backup/webdump/tomcat8

#删除15天以上备份
find /opt/backup/webdump/tomcat -name "*.tar.gz" -type f -ctime +3 -exec rm -rf {} \; > /dev/null 2>&1
find /opt/backup/webdump/tomcat8 -name "*.tar.gz" -type f -ctime +3 -exec rm -rf {} \; > /dev/null 2>&1

配置定时清理任务

* 0 * * * /bin/bash /opt/backup/webdump/cleandump.sh

直接通过crontab定时清理

测试命令是否正常

#-mtime +5: 目录下修改时间超过5天的
find /var/lib/mysql/ -name 'master-bin.*' -mtime +5 -delete

编辑crontab

#时间字段: 00 */6 * * * 表示每6小时的整点(00:00、06:00、12:00、18:00)执行任务。
#/usr/bin/find /var/lib/mysql/: find 命令从 /var/lib/mysql/ 目录开始搜索。
#-mtime +5: 目录下修改时间超过5天的
#-delete: 删除找到的文件。
#/var/log/cron.log 2>&1: 将标准输出和标准错误输出重定向到 /var/log/cron.log 文件中。
00 */6 * * * /usr/bin/find /var/lib/mysql/ -name 'master-bin.*' -mtime +5 -delete >> /var/log/cron.log 2>&1

inode 使用率过高排查

某个磁盘IUse%超过80% 就需要清理inode文件
测试环境inode未满请忽略
可以通过以下命令排查 inode情况

df -ih 

在这里插入图片描述

for i in /*; do echo $i; find $i | wc -l; done

在这里插入图片描述

找到占用多的目录继续查询

for i in /home/*; do echo $i; find $i | wc -l; done

在这里插入图片描述

删除所有文件

cd  文件多的目录
find . -name "*"|xargs rm -rf "*"
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值