文件及目录操作 - cp、find
1、cp:复制文件或目录
1.1 cp命令的功能说明
cp
命令用于复制文件或目录。
1.2 cp命令的语法格式
cp [OPTION]... SOURCE... DIRECTORY
cp [参数选项] [源文件或源目录] [目标文件或目录]
1.3 cp命令的选项说明
表1:
cp
命令的参数及说明
参数选项 | 解释说明(带※的为重点) |
---|---|
-r | 复制目录 ※ |
-p | 保持文件或目录属性 |
-a | 相当于同时使用参数-d,-p,-r ※ |
-i | 提示是否覆盖的确认 |
-d | 如果复制的源文件为链接文件,仅复制符号链接本身,且保留符号链接所指向的目标文件或目录 |
1.4 cp命令的实践操作
范例1:无参数和带参数 -a
的比较
提示:实验环境见《Shell命令-文件及目录操作之ls、cd》点我快速打开文章
cd /test
pwd
ll -h
cp file1 file4
cp -a file1 file5
ll -h
image
image
范例2:使用 -i
参数的例子
cp -i file1 file5 <-->提示是否覆盖文件?
cp file1 file5<-->没加 -i 为啥也提示?
alias cp <-->因为系统为cp做了别名
\cp file1 file5 <-->取消别名(或提示)方法1:在前面加\
/bin/cp file1 file5 <-->取消别名(或提示)方法2:使用命令的绝对路径
image
image
范例3:使用 -r
参数复制目录
tree dir1 dir2 <-->看一下dir1和dir2目录内容
cp dir1 dir2 <-->显示跳过目录dir1
cp -r dir1 dir2 <--> 使用 -r 参数
tree dir1 dir2 <-->查看结果
image
image
范例4:快速备份文件案例
ls /etc/ssh/|grep config
cp /etc/ssh/ssh_config /etc/ssh/sshd_config.ori <-->正常备份
cp /etc/ssh/sshd_config{,.ori} <-->快速备份
ls /etc/ssh/|grep config
image
image
2、find:查找目录下的文件或查找目录
2.1 find命令的功能说明
find
命令用于查找目录下的文件或查找目录,同时可以调用其他命令执行相应的操作。
2.2 find命令的语法格式
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
find [选项] [路径] [操作语句]
2.3 find命令的选项说明
表1:
find
命令的参数及说明(还有很多参数,不再列举)
参数选项 | 解释说明 |
---|---|
-name | 按文件名查询 |
-type | f查找文件;d查找目录 |
-exec | 对查找的结果再处理 |
-mtime | -n查找更改时间距现在n(正整数)天以内;+n查找更改时间距现在n(正整数)天以前;n查找更改时间距现在n(正整数) |
-perm | 按照文件的权限来查找文件 |
-size | 以文件大小查找 |
-path | 指定路径样式,配合-prune参数排除指定目录 |
! | 表示取反 |
-a | 表示取交集 |
-o | 取并集 |
2.4 find命令的实践操作
范例1:查找指定时间内修改过的文件
find . -atime -1 <--> . 表示当前,查找2天内被访问的文件
find /test/ -mtime -5 <-->使用绝对路径,查找5天内被修改的文件
image
image
范例2:用 -name
指定关键字查找
find /var/log/ -mtime +5 -name '*.log' <-->在/var/log/目录下查找5天以前.log结尾的文件
image
image
范例3:利用 !
反向查找
find . -type d
find . ! -type d <-->! 表示取反,查找不是目录的文件,注意感叹号的位置
image
image
范例4:按照目录或文件的权限来查找文件
find /test -perm 755 <-->755是权限的数字表示方式
image
image
范例5:按大小查找文件
find . -size +10c <-->查找当前目录下大于10字节的文件
image
image
范例6:查找文件时希望忽略某个目录
find /test -path "/test/dir1" -prune -o -print <-->排除指定目录
image
image
范例7:忽略多个目录(了解即可)
find /test \( -path /test/dir2 -o -path /test/dir3 \) -prune -o -print <-->注意括号的空格
image
image
范例8:ls -l
命令放在 find
命令的 -exec
选项中执行
find . -type f -exec ls -l {} \; <-->最后以分号作为结束标志,考虑不同意义,所以要转义加\
image
image
范例9:ls -l
命令放在 find
命令的 xargs
选项中执行
find . -type f |xargs ls -l <-->xargs是一个命令,后续会讲
image
image
范例10:使用 xargs
执行 mv
(移动文件或目录)命令例子
ls
ls dir3
find . -name "file*"|xargs -i mv {} dir3/ <-->使用 -i 参数使得 { } 代表find查找到的文件
ls
ls dir3
image
image
【本文图片下载地址】【00003】点我快速打开分享(若异常,请私信,万分感谢) 【提取码:jrn3 】
网友评论