创建空文件和刷新时间 touch

  • touch命令可以用来创建空文件或刷新文件的时间
  • touch 存在的文件刷新时间,不存在的文件创建空文件

生成指定日期的日志文件

[root@C8-1 ~]# date
Wed Jun 17 09:35:43 EDT 2020
[root@C8-1 ~]# touch `date -d "-1 day" +%F_%T`.log
[root@C8-1 ~]# ls
2020-06-16_09:36:55.log anaconda-ks.cfg linux.txt win.txt
[root@C8-1 ~]# touch $(date -d "1 year" +%F_%T).log
[root@C8-1 ~]# ls
2020-06-16_09:36:55.log 2021-06-17_09:37:53.log anaconda-ks.cfg linux.txt win.txt

touch 选项说明

  • -a 仅改变 atime和ctime
  • -m 仅改变 mtime和ctime
  • -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳
  • -c 如果文件不存在,则不予创建

复制文件和目录



利用 cp 命令可以实现文件或目录的复制

cp 是英文单词copy的简写

格式

cp [OPTION]... [-T] SOURCE DEST 把源拷到目标去
cp [OPTION]... SOURCE... DIRECTORY 把多个源拷贝到目标文件夹去
cp [OPTION]... -t DIRECTORY SOURCE... 把多个源拷贝到目标文件夹去 和上边的反过来写

单纯去cp源数据,数据的属性可能发生变化,比如时间戳,所有者

  • root命令用的cp命令是cp -i的别命,普通账户用的是原始的cp
[root@C8-1 ~]# type cp
cp is aliased to `cp -i'
  • cp命令默认原始命令是覆盖
  • cp命令默认只拷文件,只有添加-p才能保留属性
  • cp命令默认只能拷文件,要拷文件夹需要加-r递归
  • cp命令默认拷贝软链接文件拷贝的是指向的文件本身,-p保留不住链接属性,-d可以保留链接属性
  • cp命令-a属性是综合属性,即保留了全部属性,相当于备份作用

常用选项

  • -i 如果目标已存在,覆盖前提示
  • -n 不覆盖,注意两者顺序
  • -r, -R 递归复制目录及内部的所有内容
  • -a 归档,相当于-dR --preserv=all
  • -d --no-dereference --preserv=links 不复制原文件,只复制链接名
  • --preserv[=ATTR_LIST]
  • -p 等同--preserv=mode,ownership,timestamp #可以保留属性 权限,所有者,时间戳
  • -v --verbose
  • -f --force
  • -u --update 只复制源比目标更新文件或目标不存在的文件
  • -b 目标存在,覆盖前先备份,形式为 filename~ 只保留最近的一个备份,CentOS7
  • --backup=numbered 目标存在,覆盖前先备份加数字后缀 CentOS8默认值



    1.创建一个618目录,并在目录中创建一些文件

    2.拷贝618目录到618bak目录,因618bak不存在,故自动创建618bak目录

    3.再次拷贝618目录到618bak目录,因618bak目录存在,故拷贝之618bak目录下

    4.第三次拷贝618目录到618bak目录,因618bak目录存在且618bak目录下亦存在618bak目录,故提示是否覆盖。
[root@C8-1 ~]# mkdir 618
[root@C8-1 ~]# cd 618
[root@C8-1 618]# touch {a...d}{1..3}.test
[root@C8-1 618]# ll
total 0
-rw-r--r--. 1 root root 0 Jun 17 10:17 {a...d}1.test
-rw-r--r--. 1 root root 0 Jun 17 10:17 {a...d}2.test
-rw-r--r--. 1 root root 0 Jun 17 10:17 {a...d}3.test
[root@C8-1 618]# cd ~
[root@C8-1 ~]# pwd
/root
[root@C8-1 ~]# cp -a 618 ./618bak
[root@C8-1 ~]# ll
total 12
-rw-r--r--. 1 root root 0 Jun 17 09:36 2020-06-16_09:36:55.log
-rw-r--r--. 1 root root 0 Jun 17 09:37 2021-06-17_09:37:53.log
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618bak
-rw-------. 1 root root 1184 Mar 16 01:56 anaconda-ks.cfg
-rw-r--r--. 1 root root 6 Jun 17 06:22 linux.txt
-rw-r--r--. 1 root root 7 Jun 17 06:21 win.txt
[root@C8-1 ~]# cp -a 618 ./618bak
[root@C8-1 ~]# ls
2020-06-16_09:36:55.log 2021-06-17_09:37:53.log 618 618bak anaconda-ks.cfg linux.txt win.txt
[root@C8-1 ~]# ls 618bak/
618 {a...d}1.test {a...d}2.test {a...d}3.test
[root@C8-1 ~]# cp -a 618 ./618bak
cp: overwrite './618bak/618/{a...d}1.test'? y
cp: overwrite './618bak/618/{a...d}2.test'? y
cp: overwrite './618bak/618/{a...d}3.test'? y
[root@C8-1 ~]# ls 618bak/
618 {a...d}1.test {a...d}2.test {a...d}3.test

常用备份命令

在备份文件后自动添加时间戳后缀 __date +%F_%T

[root@C8-1 ~]# cp -a 618 ./618bak/618bak_`date +%F_%T`
[root@C8-1 ~]# cp -a 618 ./618bak/618bak_`date +%F_%T`
[root@C8-1 ~]# cp -a 618 ./618bak/618bak_`date +%F_%T`
[root@C8-1 ~]# cp -a 618 ./618bak/618bak_`date +%F_%T`
[root@C8-1 ~]# ll 618bak/
total 0
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618bak_
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618bak_2020-06-17_10:46:14
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618bak_2020-06-17_10:46:17
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618bak_2020-06-17_10:46:19
drwxr-xr-x. 2 root root 69 Jun 17 10:17 618bak_2020-06-17_10:46:20

Linux文件系统和管理-2文件操作命令(中)的更多相关文章

  1. Linux文件系统和管理-2文件操作命令(上)

    文件操作命令 文件 文件也包括目录 目录是一种特殊的文件 目录 一个目录名分成两部分 所在目录 dirname 父目录的路径 文件名 basename 本身就是两个命令 [root@C8-1 misc ...

  2. Linux文件系统和管理-2文件操作命令(下)

    移动和重命名文件 mv 命令可以实现文件或目录的移动和改名 剪切的效果 同一分区移动数据,速度很快:数据位置没有变化 不同分区移动数据,速度相对慢:数据位置发生了变化 格式 和cp基本一样 mv [O ...

  3. Linux文件系统和管理-1文件系统目录

    文件系统目录结构 Linux常见目录及用途 bin binary 放的是二进制程序 /usr/bin 和这是同一回事 bin -> usr/bin /bin是 /usr/bin的快捷方式 boo ...

  4. Linux文件系统及管理

    Linux文件系统及管理 一.Linux系统的文件系统与目录结构   Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图: 从CentOS7开始,以下目录与之前的版本发生变化 ◆/bi ...

  5. linux查看目录下所有文件内容中是否包含某个字符串

    转发自:http://blog.csdn.net/yimingsilence/article/details/76071949 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...

  6. Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析

    1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...

  7. Linux磁盘、目录、文件操作命令

    0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...

  8. linux 文件系统的管理 (硬盘) 工作原理

    一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...

  9. Linux入门基础 #5:Linux文件系统挂载管理

    本文出自   http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...

随机推荐

  1. [剑指Offer]26-树的子结构

    题意 判断一棵树(参数二)是不是另一棵树(参数一)的子结构. 题解 递归第一棵树,找两棵树中值一样的节点.若找到后,用另一个函数判断以相同值得节点为根的树2是不是树1的子结构. 代码 class Tr ...

  2. nginx中编写lua拦截器

    先配置nginx        location ~ .*\.(php|php5)?$        {                if ($request_uri ~ "one/tes ...

  3. netty之bootstrap

    转载自https://blog.csdn.net/zxhoo/article/details/17419229 Netty4学习笔记(2)-- Bootstrap Netty4的代码比我想象的要复杂的 ...

  4. DVWA从注入到GETSHELL

    好好过你的生活,不要老是忙着告诉别人你在干嘛. 最近在复习学过的东西,自己就重新搭了个dvwa来学习新思路,写一些简单的脚本来练习写代码的能力. 众所周知SQL注入的危害是相当大的,对于每个老司机来说 ...

  5. 从源码角度理解Java设计模式——装饰者模式

    一.饰器者模式介绍 装饰者模式定义:在不改变原有对象的基础上附加功能,相比生成子类更灵活. 适用场景:动态的给一个对象添加或者撤销功能. 优点:可以不改变原有对象的情况下动态扩展功能,可以使扩展的多个 ...

  6. 使用C#创建WebService实例

    新增WebService专案 更改服务程式名称 重命名程式名称 Service1.asmx 修改为 TestService.asmx 此时下面的cs代表文件也会跟着修改,但可发现,代码中的类名并没有跟 ...

  7. 屯点自用CTF网站

    尚且杂乱,刚刚准备搬运东西到博客来,慢慢收拾. 芜湖,起飞  --大司 16进制转换文本 Base64编码转换 quipqiup词频分析 Brainfuck/Ook! Obfuscation/Enco ...

  8. 01 C语言基本介绍

    C语言特点 容易上手学习 结构化语言 执行效率高 处理的工作和活动偏底层 可以在多种计算机平台上编译(类似Java的跨平台) C语言历史 目前,C 语言是最广泛使用的系统程序设计语言之一 C 语言是最 ...

  9. java多线程:线程池原理、阻塞队列

    一.线程池定义和使用 jdk 1.5 之后就引入了线程池. 1.1 定义 从上面的空间切换看得出来,线程是稀缺资源,它的创建与销毁是一个相对偏重且耗资源的操作,而Java线程依赖于内核线程,创建线程需 ...

  10. windows server2008 r2激活

    KMS激活: 管理员运行cmd 输入以下命令 slmgr /ipk 密钥slmgr /skms zh.us.toslmgr /atoslmgr /xpr 可用密钥如下: KMS Windows Ser ...