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 ------------------------------------------------------------ ...
随机推荐
- [Java核心技术]第九章-集合(Java集合框架、具体的集合、映射)
9.1Java集合框架 一些有的没的 可以使用接口类型存放集合的引用.一旦改变了想法,只需要在调用构造函数的地方做一处修改. add方法用于向集合添加元素,如果添加元素确实改变了集合就返回true. ...
- 使用Java Stream,提取集合中的某一列/按条件过滤集合/求和/最大值/最小值/平均值
不得不说,使用Java Stream操作集合实在是太好用了,不过最近在观察生产环境错误日志时,发现偶尔会出现以下2个异常: java.lang.NullPointerException java.ut ...
- golang 协程学习
协程数据传递问题 func TestGoroutineData(t *testing.T) { var wg sync.WaitGroup wg.Add(1) i := 0 go func(j int ...
- 查看 JVM 参数的默认值
查看初始默认值:-XX:+PrintFlagsInitial HuandeMacBook-Air:~ huanliu$ java -XX:+PrintFlagsInitial [Global flag ...
- Java基础一篇过(七)Java8--stream流
一.简介 流(stream)也是Java8的一个重要的新特性,主要是对集合(Collector)功能的增强:在上一篇文章我们简单的了解了lambda表达式,现在我们学习下流的概念:使用流可以帮助我们做 ...
- vulnhub-Os-hackNos-2
vulnhub-Os-hackNos-2 开局扫主机,发现141是存活的,进行nmap扫描,获取端口信息. 发现22,80端口开放,进行目录爆破. 发现tsweb,浏览器访问,推测是wordpress ...
- awk的一些认识
awk awk '{pattern + action}' {filenames} 当我们所指定的规则脚本过长的时候,我们可以使用-f的选项加上我们的脚本文件.再复杂点我们可以直接调用shell脚本,就 ...
- java进阶(19)--异常处理机制
一.基本概念 1.异常的作用: java将异常信息打印至控制台,供程序修改,增加其健壮性. int c=1/0; //将抛出 java.lang.ArithmeticException 2.异常 ...
- python 系统设置
1. 设置python运行环境为utf-8 import sys #引用sys模块 reload(sys) #重新加载sys sys.setdefaultencoding("utf-8&qu ...
- Arduino 语法与函数
Arduino programs can be divided in three main parts: structure, values (variables and constants), an ...