首页 > 试题广场 >

使用 shell 命令 将某个文件夹下的所有txt 文件全部

[不定项选择题]
使用 shell 命令 将某个文件夹下的所有txt 文件全部找到,并删除或备份 。()
  • find /i -type f -name "*.txt" -exec cp {} /test \;
  • find /i -type f -name "*.txt" -xargs cp {} /test \;
  • find /i -type f -name "*.txt" -exec rm -rf {} \;
  • find /i -type f -name "*.txt" -print | xargs -t -i cp {} {}.bak
find pathname -options [-print -exec -ok] 
pathname    find命令所查找的目录路径。 
-print      find命令将匹配的文件输出到标准输出。 
-exec       find命令对匹配的文件执行该参数所给出的shell命令。 
-ok 和- exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行. 
  • 1. -name   按照文件名查找文件 
  • 2. -perm   按照文件权限来查找文件 
  • 3. -mtime -n +n   按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。 
  • 4. -newer file1  查找更改时间比文件file1新的文件。 
  • 5. -type   查找某一类型的文件 
  •   b - 块设备文件。 
  •   d - 目录。 
  •   c - 字符设备文件。 
  •   p - 管道文件。 
  •   l - 符号链接文件。 
  •   f - 普通文件。 
  • 6. 使用-size选项 ,按文件的大小查找文件的

cp命令用来将一个或多个源文件或源目录复制到指定的文件或目录中

rm -rf 删除当前目录下的所有文件

管道命令,例:p1 | p2 将p1的标准输出作为p2的标准输入

xargs 是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。一般是和管道一起使用。
  • -a file 从文件中读入作为sdtin
  • -e flag ,注意有的时候可能会是-E,flag必须是一个以空格分隔的标志,当xargs分析到含有flag这个标志的时候就停止。
  • -p 当每次执行一个argument的时候询问一次用户。
  • -n num 后面加次数,表示命令在执行的时候一次用的argument的个数,默认是用所有的。
  • -t 表示先打印命令,然后再执行。
  • -i 或者是-I,这得看linux支持了,将xargs的每项名称,一般是一行一行赋值给 {},可以用 {} 代替。
  • -r no-run-if-empty 当xargs的输入为空的时候则停止xargs,不用再去执行了。
  • -s num 命令行的最大字符数,指的是 xargs 后面那个命令的最大命令行字符数。
  • -L num 从标准输入一次读取 num 行送给 command 命令。
  • -l 同 -L。
  • -d delim 分隔符,默认的xargs分隔符是回车,argument的分隔符是空格,这里修改的是xargs的分隔符。
  • -x exit的意思,主要是配合-s使用。。
  • -P 修改最大的进程数,默认是1,为0时候为as many as it can 
.bak是备份文件,为文件格式扩展名。



发表于 2019-08-12 21:00:41 回复(0)
删除,并且备份
迷惑? A  BC D 哪个能行?????

发表于 2020-12-21 22:05:54 回复(0)
c为啥会正确呢,不是说要备份吗,这样子不得被经理吊死?
发表于 2020-11-09 16:57:37 回复(0)
ABC最后的 \  是什么意思?
发表于 2021-02-25 16:30:35 回复(0)
<p>真是个愚蠢的问题</p>
发表于 2020-12-31 21:35:49 回复(0)
A为啥正确呢? 
发表于 2020-10-21 21:45:01 回复(0)
find /i 忽略大小写
发表于 2020-05-30 09:58:53 回复(0)

问题信息

热门推荐