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
Linux文件系统和管理-2文件操作命令(中)的更多相关文章
- Linux文件系统和管理-2文件操作命令(上)
文件操作命令 文件 文件也包括目录 目录是一种特殊的文件 目录 一个目录名分成两部分 所在目录 dirname 父目录的路径 文件名 basename 本身就是两个命令 [root@C8-1 misc ...
- Linux文件系统和管理-2文件操作命令(下)
移动和重命名文件 mv 命令可以实现文件或目录的移动和改名 剪切的效果 同一分区移动数据,速度很快:数据位置没有变化 不同分区移动数据,速度相对慢:数据位置发生了变化 格式 和cp基本一样 mv [O ...
- Linux文件系统和管理-1文件系统目录
文件系统目录结构 Linux常见目录及用途 bin binary 放的是二进制程序 /usr/bin 和这是同一回事 bin -> usr/bin /bin是 /usr/bin的快捷方式 boo ...
- Linux文件系统及管理
Linux文件系统及管理 一.Linux系统的文件系统与目录结构 Linux系统的文件目录结构为一个单根倒置的树结构,具体表现如下图: 从CentOS7开始,以下目录与之前的版本发生变化 ◆/bi ...
- linux查看目录下所有文件内容中是否包含某个字符串
转发自:http://blog.csdn.net/yimingsilence/article/details/76071949 查找目录下的所有文件中是否含有某个字符串 find .|xargs gr ...
- Linux学习笔记之Linux用户与用户组、文件操作命令、文件权限剖析
1.用户与用户组 Linux是一个多用户操作系统,通过用户与用户组的概念,可以实现保证安全性和隐私性.任何一个文件都具有User.Group.Others三个权限. 文件拥有者(Linux下所有的东西 ...
- Linux磁盘、目录、文件操作命令
0x01. Linux磁盘分区与目录结构 ① 主分区.拓展分区.逻辑分区:早期主引导扇区MBR用64B存放主分区信息,每个分区用16B,因而上限为4个主分区,后来,因分区需求,引入拓展分区(类主分区) ...
- linux 文件系统的管理 (硬盘) 工作原理
一.系统在初始化时如何识别硬盘 1.系统初始时根据MBR的信息来识别硬盘,其中包括了一些执行文件就来载入系统,这些执行文件就是MBR里前面446bytes里的boot loader 程式,而后面的16 ...
- Linux入门基础 #5:Linux文件系统挂载管理
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
随机推荐
- [CF664A]Complicated GCD(数论)
题目链接 http://codeforces.com/problemset/problem/664/A 题意 给两个数,找出它们的最大公因子d,使得从a到b之间的数都可以整除d. 题解 结论: 当gc ...
- Docker介绍及常用操作演示(一)
Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互 ...
- JAVA之代理2CGLib
对于CGLib的代理目前还是知道如何使用,以及理论上它的原理,到源码上的理解还没到位 https://www.jianshu.com/p/9a61af393e41?from=timeline& ...
- 看动画学算法之:排序-count排序
目录 简介 count排序的例子 count排序的java实现 count排序的第二种方法 count排序的时间复杂度 简介 今天我们介绍一种不需要作比较就能排序的算法:count排序. count排 ...
- git server“丢失”commit问题探究
1 背景 gitlab某仓库有同事发现部分代码文件内容丢失,具体表现 A. dev分支commit信息是连续的,看不出明显的大时间范围批量丢失 B. 以SuncardCashier/control/C ...
- layui动态添加选项卡
<!DOCTYPE html><html xmlns:th="http://www.thymeleaf.org"><head> <meta ...
- Centos-配置网络或显示当前网络接口状态-ifconfig
ifconfig 配置网络或显示当前网络接口状态,必须由root用户执行 相关选项 -a 显示所有网络接口信息,包括活动或非活动 -s 显示活动接口简要信息 -v 如果网卡接口出现错误则返回错误信息 ...
- 开源两个spring api项目
开源两个spring api项目 转载请注明出处: https://www.cnblogs.com/funnyzpc/p/13762616.html 工作也有五年有余了,中间一直迫于时间或能力没从零开 ...
- 第二次UML作业
博客班级 https://edu.cnblogs.com/campus/fzzcxy/2018SE1/ 作业要求 https://edu.cnblogs.com/campus/fzzcxy/2018S ...
- centos7卸载mariadb安装mysql
卸载mariadb 1. 当前安装列表 rpm -qa | grep mariadb 2.卸载 rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 3 ...