美文网首页工作生活linux基础命令
Shell命令-文件及目录操作之cp、find

Shell命令-文件及目录操作之cp、find

作者: MineG | 来源:发表于2019-06-30 17:54 被阅读0次

文件及目录操作 - 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 】

今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!

相关文章

  • Shell命令-文件及目录操作之cp、find

    文件及目录操作 - cp、find 1、cp:复制文件或目录 1.1 cp命令的功能说明 cp命令用于复制文件或目...

  • find命令cp | rm 复制删除文件

    find命令用于搜索目录和文件,配合cp 命令批拷贝或批删除 批删除文件和目录

  • Linux 下常用shell命令

    Linux Shell常用shell命令 一、文件、目录操作命令 1、ls命令 功能:显示文件和目录的信息 ls以...

  • LINUX下常用shell指令

    Linux Shell常用shell命令 一、文件、目录操作命令 1、ls命令 功能:显示文件和目录的信息 ls以...

  • MAC Shell 命令 find 简单应用

    MAC Shell 命令 find 简单应用 find命令行的例子: 查找目录 查找文件 递归删除指定名字的文件或...

  • 命令分类

    文件目录类命令 浏览目录命令:ls,pwd目录操作命令:cd,cp,rm,mkdir,rmdir浏览文件命令:ca...

  • Linux 转换 find 命令的返回结果为 shell arr

    在shell脚本中,find命令用于搜索给定目录下符合搜索条件的的文件或子目录,如命令var=$(find "$P...

  • Unix的文件管理(上)

    目录 概念 文件分类 什么是文件描述符 Unix的文件操作相关函数讲解及使用 编写程序实现 cat命令、cp命令 ...

  • Day6-xiaode

    文件操作常用命令--文件复制命令 cp 目录(文件夹)复制: cp -R scripts/ /home/zxx2/...

  • Linux笔记2

    文件、目录操作命令 cp — 复制文件和目录mv — 移动/重命名文件和目录mkdir — 创建目录rm — 删除...

网友评论

    本文标题:Shell命令-文件及目录操作之cp、find

    本文链接:https://www.haomeiwen.com/subject/hfibcctx.html