Linux中文件目录的创建,复制,粘贴,删除等(find、touch、dd等命令)!!!

一、基本概念

1、find命令应用

主要进行文件搜索
2. 基本语法
find [ 文件路径 ] [ 选项 选项的值 ]
-name *
-type f|d
常见的选项
-name 根据文件的名称搜索文件,支持通配符 *
-type f 代表普通文件, d 代表目录

2、stat命令

语法 touch -m -d 日期时间格式 文件名称

  60  touch /opt/c.txt -m -d "2024-7-11 00:00"
   61  touch /opt/d.txt -m -d "2024-7-12 00:00"
   62  touch /opt/e.txt -m -d "2024-7-13 00:00"

文件不存在就创建并修改时间
文件存在只配置最后修改时间
搜索时间
find 文件路径 -mtime +days/-days

-mtime 根据文件最后修改时间搜索文件
+ 号 搜索几天之前的文件信息
- 号 搜索几天之内 的文件信息

   68  find /opt/ -mtime +3
   69  find /opt/ -mtime -3

删除的方法:

76  find /opt/ -mtime +3 | xargs rm -rf
 80  find /opt/ -mtime +3 -exec rm -rf {} \;

根据文件size大小搜索文件

find 路径 -size 文件大小 [ 常用单位 k M G]
size 值 搜索等于 size 的文件
-size值 【 0 , size 值 )
+size 值 ( size 值,正无穷)

3、扩展命令 dd
使用dd创建扩展命令
生成指定大小的测试文件
语法   dd if=/dev/zero of=文件名称 bs=1M count=1
 
if 表示输入文件
of 表示输出文件
bs 代表字节为单位的块大小
count 代表被复制的块
其中 /dev/zore 是一个字符设备,会不断地返回 0 字节的文件

二、练习

  1. 使⽤ls查看/etc/⽬录下所有的⽂件信息

[root@aaa ~]# ls -l /etc/

    2.使⽤ls查看/etc/⽬录下名包含“a”字⺟的⽂件或者⽬录信息

[root@aaa ~]# ls -l /etc/*a*/ 

      3.使⽤ls查看/etc/⽬录下以".conf"结尾的⽂件信息

 [root@aaa ~]# ls -l /etc/*.conf

   4.使⽤ls查看/etc/⽬录中以"y"字⺟开头的⽂件信息

[root@aaa ~]# ls -l /etc/y*/

     5.find查找/var/⽬录中以“.log”⽂件

[root@aaa ~]#  find /var/log -name "*.log" -type f

      6.在opt⽬录下创建test⽬录

[root@aaa ~]# mkdir /opt/test/

[root@aaa ~]# ls -l /opt/

      7.在test⽬录中创建abc.txt,def.txt.ghi.txt,xxx.txt.yyy.txt五个⽂件

[root@aaa ~]# touch /opt/test/abc.txt

[root@aaa ~]# touch /opt/test/def.txt

[root@aaa ~]# touch /opt/test/ghi.txt

[root@aaa ~]# touch /opt/test/xxx.txt

[root@aaa ~]# touch /opt/test/yyy.txt

[root@aaa ~]# ls -l /opt/test/

   8.修改以上5个⽂件的最后修改时间分别为15,14,13,12,11,10⽇

[root@aaa ~]# touch /opt/test/abc.txt  -d "2024-7-15"

[root@aaa ~]# touch /opt/test/def.txt  -d "2024-7-14"

[root@aaa ~]# touch /opt/test/ghi.txt  -d "2024-7-13"

[root@aaa ~]# touch /opt/test/xxx.txt  -d "2024-7-12"

[root@aaa ~]# touch /opt/test/yyy.txt  -d "2024-7-11"

[root@aaa ~]# ls -l /opt/test/

    9.在test⽬录下创建a⽬录

[root@aaa ~]# mkdir /opt/test/a/

[root@aaa ~]# ls -l /opt/test/ 

      10.将以上5个⽂件复制⼀份到a⽬录中

[root@aaa ~]# cp -i /opt/test/*.txt /opt/test/a/

[root@aaa ~]# ls -l /opt/test/a/

      11.将a⽬录⽂件做成bak.tar.gz⽂件保存到家⽬录中

[root@aaa ~]# tar -czvf bak.tar.gz /opt/test/a

      12.使⽤find删除test⽬录下3天前的⽂件

[root@aaa ~]# find /opt/test -mtime +3 -exec rm -rf {} \;

[root@aaa ~]# ls -l /opt/test

     13.find删除opt⽬录下3天内的⽂件

[root@aaa ~]# find /opt -mtime +3 -exec rm -rf {} \;

[root@aaa ~]# ls -l /opt

      14.find删除正好第三天的⽂件

[root@aaa ~]# find /opt/test -mtime 3 -exec rm -rf {} \;

[root@aaa ~]# ls -l /opt/test

      15.将/opt/test/a⽬录中的⽂件复制i⼀份到/opt/test/⽬录下

[root@aaa ~]# cp -i /opt/test/a/*.txt /opt/test/

cp:是否覆盖"/opt/test/abc.txt"? y

cp:是否覆盖"/opt/test/def.txt"? y

[root@aaa ~]# ls -l /opt/test/

   16.创建⽬录/opt/test0

[root@aaa ~]# mkdir /opt/test0

[root@aaa ~]# ls /opt

      17.在/opt/test0/⽬录中创建三个⽂件 a.mp4(5M),b.mp4(20M),c.mp4(80M)

[root@aaa ~]# dd if=/dev/zero of=/opt/test0/a.mp4 bs=5M count=1

记录了1+0 的读入

记录了1+0 的写出

5242880字节(5.2 MB)已复制,0.0575525 秒,91.1 MB/秒

[root@aaa ~]# dd if=/dev/zero of=/opt/test0/b.mp4 bs=20M count=1

记录了1+0 的读入

记录了1+0 的写出

20971520字节(21 MB)已复制,0.207271 秒,101 MB/秒

[root@aaa ~]# dd if=/dev/zero of=/opt/test0/c.mp4 bs=80M count=1

记录了1+0 的读入

记录了1+0 的写出

83886080字节(84 MB)已复制,0.805766 秒,104 MB/秒

[root@aaa ~]# ls -l /opt/test0

      18.创建⽬录/opt/test0/b/

[root@aaa ~]# mkdir /opt/test0/b/

[root@aaa ~]# ls /opt/test0

      19.将/op t/test0/中的⽂件复制⼀份/opt/test0/b/⽬录中

[root@aaa ~]# cp -r /opt/test0/*.mp4  /opt/test0/b/

[root@aaa ~]# ls /opt/test0/b

      20.find查询/opt/test0/⽬录中⽂件⼤于20M的,并删除

[root@aaa ~]# find /opt/test0/ -size +20M | xargs rm -rf

[root@aaa ~]# ls -l /opt/test0

      21.find查询/opt/test0/⽬录中⽂件⼩于20M的⽂件并删除

[root@aaa ~]# find /opt/test/ -size -20M -exec rm -rf {} \;   

[root@aaa ~]# ls -l /opt/test0

      22.find查找/opt/test0/⽬录中⽂件size为20M的⽂件并删除

[root@aaa ~]#  find /opt/test/ -size 20M -exec rm -rf {} \;

      23./opt/test0/b中的⽂件复制⼀份到/opt/test0中

[root@aaa ~]#   cp -r /opt/test0/b /opt/test0

     24.打开新的虚拟主机

     25.将家⽬录中的bak.tar.gz⽂件上传到新主机的/opt⽬录中

[root@aaa ~]# scp /home/bak.tar.gz root@192.168.1.11:/opt/

     26.将新主机的/e tc/skel/⽬录下载到 当前主机的/opt⽬录中

[root@aaa ~]#  scp  root@192.168.1.11:/etc/skel/ /opt/

     27.设置计划任务,每周3将/e tc/yum.repos.d/⽬录下的.repo⽂件压缩保存到tmp,在⽂件 名中添加时间戳

[root@aaa ~]# (crontab -l 2>/dev/null; echo "0 0 * * 3 /bin/bash -c 'tar -czvf /tmp/yum_repos_$(date +\%Y\%m\%d-\%H\%M\%S).tar.gz /etc/yum.repos.d/*.repo'") | crontab -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值