Linux cp mv操作

RM

1. 删除一个文件夹及其下面的所有文件

1 rm -rf /home/pack1

 2. 移动一个文件夹到另一个文件夹下面

1 mv  /home/pack1  /home/pack2/
2 #或
3 mv  /home/pack1  /home/pack2

 3. 移动文件夹下的所有文件的话就可以文件夹后面跟上 /*

1 mv  /home/pack1/*  /home/pack2/

 4. linux从一个文件夹内移动指定个数文件到另一文件夹

1 # move n files from dir1 to dir2
2 ls  -Q  dir1 | head  -n | xargs  -i  mv  dir1/{}  dir2/

 5. mv问题:-bash: /bin/rm: Argument list too long

解决办法:结合 xargs 删除。通过 ls 来配合 xargs 删除 test 目录下的所有文件:

    其他解决办法:https://www.cnblogs.com/-abm/p/9283896.html 

 

CP

1. 删除文件

1 find 路径 -name “*.jpg” | xargs rm -rf “*.jpg”

2. 将一个文件夹下的所有内容复制到另一个文件夹下

1 cp -r /home/pack1/*  /home/cp/pack2/
2 #3 cp -r /home/pack1/.  /home/cp/pack2/

 3. 将一个文件夹复制到另一个文件夹下

1 cp -r /home/pack1  /home/pack2
2 #执行后,pack2文件夹下就有pack1文件夹了

4. cp问题:-bash:/bin/cp:参数列表过长

linux上进行cp操作时,发现:复制的文件超过20000张左右时,会出现参数列表过长的报错:

 

 解决办法:使用以下命令(把指定文件夹下的以“jpg”为后缀名的所有图片文件复制到目标目录下):

1 find 路径1 -name “*.jpg” -exec cp {} 路径2  \;
 

 

posted @ 2022-07-28 14:29  小嘉欣  阅读(117)  评论(0编辑  收藏  举报