zoukankan      html  css  js  c++  java
  • Linux文件系统和管理-2文件操作命令(中)

    创建空文件和刷新时间 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
    
    * * * 胖并快乐着的死肥宅 * * *
  • 相关阅读:
    python使用ORM之如何调用多对多关系
    ORM
    初学者用pycharm创建一个django项目和一个app时需要注意的事项
    CSRF verification failed. Request aborted.
    函数三生成器
    函数二函数进阶二
    函数二函数进阶
    函数一函数初识
    文件操作初识
    类型与运算五
  • 原文地址:https://www.cnblogs.com/bpzblog/p/13160881.html
Copyright © 2011-2022 走看看