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 \;