翼度科技»论坛 云主机 服务器技术 查看内容

linux如何将某个文件夹移动到另一个文件夹下

8

主题

8

帖子

24

积分

新手上路

Rank: 1

积分
24
linux将某个文件夹移动到另一个文件夹下

若要将某个文件夹整体移动到其它文件夹下,
可以使用如下命令:
  1. mv dir1 dir2
复制代码
比如我要将上一级目录下的 data 文件夹移动到当前目录下,
可以使用下面命令:
  1. mv ../data ./
复制代码
说明:
其中 dir1 参数为 ../data,即上级目录下的 data 文件夹;

  • dir2 参数为 ./,即当前目录。
  • 文章知识点与官方知识档案匹配,可进一步学习相关知识

linux终端命令(移动,复制,删除)


1.移动文件夹部分图片
  1. # 移动文件夹中的前10张.jpg图片到目标文件夹
  2. # 使用ls和head命令来选取前10个文件
  3. ls "$SOURCE_FOLDER"/*.png | head -10 | xargs -I {} mv {} "$DESTINATION_FOLDER"
  4. ls "/root/autodl-tmp/DF2K/DF2K_train_HR"/*.png | head -2650 | xargs -I {} mv {} "/root/autodl-tmp/Flickr2K/Flickr2K_HR"
复制代码
2.移动文件夹

如果您想将名为FolderName的文件夹从当前目录移动到/path/to/destination/目录下,可以使用以下命令:
  1. mv FolderName /path/to/destination/
  2. mv datasets/DIV2K /root/autodl-tmp
复制代码
3.移动文件夹内的文件mv

以下命令将当前目录下名为sourceFolder的文件夹内的所有文件移动到名为destinationFolder的目录下。
注意,这不会移动sourceFolder内的子目录,只会移动文件。
  1. mv sourceFolder/* destinationFolder/
  2. mv /root/autodl-tmp/DF2K/Flickr2K_1061-1590/* /root/autodl-tmp/DF2K

  3. mv /root/autodl-tmp/Flickr2K/Flickr2K_1-530/* /root/autodl-tmp/Flickr2K/Flickr2K_HR
复制代码
4.移动文件夹中部分文件
  1. # 移动文件夹中命名排序后的第10到第20个.jpg图片到目标文件夹
  2. # 使用ls, tail和head命令进行选择
  3. ls "$SOURCE_FOLDER"/*.png | head -20 | tail -11 | xargs -I {} mv {} "$DESTINATION_FOLDER"

  4. ls "/root/autodl-tmp/Flickr2K/Flickr2K_HR"/*.png | head -300 | tail -201 | xargs -I {} mv {} "/root/autodl-tmp/Flickr2K/200-300"
复制代码
5.删除指定文件rm
  1. # 指定目标文件夹路径
  2. TARGET_FOLDER="/path/to/target/folder"
  3. rm -r TARGET_FOLDER
复制代码
6.列出目标文件夹中的所有文件

然后使用管道命令(head和tail)选取第5到第10个文件进行删除
这个命令首先列出TARGET_FOLDER中的所有文件,然后使用head命令选出前10个文件,紧接着用tail命令从这10个文件中选出最后6个(也就是第5到第10个文件),最后通过xargs命令和rm将这些文件删除。
  1. ls "$TARGET_FOLDER" | head -600 | tail -301 | xargs -I {} rm "$TARGET_FOLDER"/{}
  2. ls "/root/autodl-tmp/Flickr2K/301-700" | head -600 | tail -301 | xargs -I {} rm "/root/autodl-tmp/Flickr2K/301-700"/{}
复制代码
7.删除该文件夹中最早的5个文件
  1. # 使用ls命令列出所有文件,按创建时间排序 (-t 选项),然后使用head选择前5个,最后通过xargs传递给rm命令进行删除
  2. ls -t "$TARGET_FOLDER" | tail -n +6 | xargs -I {} rm -- "$TARGET_FOLDER"/{}
  3. ls -t "/root/autodl-tmp/Flickr2K/301-700" | tail -n +301 | xargs -I {} rm -- "/root/autodl-tmp/Flickr2K/301-700"/{}
复制代码
8.复制文件cp
  1. # 复制所有.txt文件
  2. cp /path/to/source/*.txt /path/to/destination/

  3. # 使用ls和管道命令来选择文件段并复制文件
  4. ls "$SOURCE_DIR" | head -10 | tail -6 | xargs -I {} cp "$SOURCE_DIR"/{} "$DESTINATION_DIR"/

  5. ls "/root/autodl-tmp/Flickr2K/Flickr2K_HR" | head -500 | tail -400 | xargs -I {} cp "/root/autodl-tmp/Flickr2K/Flickr2K_HR"/{} "/root/autodl-tmp/Flickr2K/301-700"/
复制代码
9.rsync工具

rsync工具本身具有从中断处继续或重试传输的能力,这是因为它根据文件内容的校验块来检查和传输文件。如果传输过程中断,再次运行相同的rsync命令将会继续传输未完成的部分,而不是从头开始。
然而,为了确保可以恢复中断的传输并获得实时进度信息,您可以添加-P(或--partial --progress)选项。--partial使rsync在中断的情况下保留已传输的部分文件,而--progress会显示传输进度。
因此,如果您想确保在任何网络中断之后都可以继续传输,可以修改您的命令如下:
  1. rsync -avzP -e 'ssh -c aes128-gcm@openssh.com' /path/to/local/file username@server:/path/to/remote/directory

  2. rsync -avzP -e 'ssh -c aes128-gcm@openssh.com' /mnt/g:/d/Common/Flickr2K_LR_bicubic/X2.zip root@region-8.autodl.pro:/root/autodl-tmp/Flickr2K/Flickr2K_LR_bicubic
复制代码
只需简单地再次运行同一命令,rsync就会检查目标位置已有的文件部分,并只传输缺失的数据块。

10.删除文件夹
  1. rm -rf /path/to/MyFolder
  2. rm -rf /root/autodl-tmp/Flickr2K/Flickr2K_LR_bicubic/X2.zip

  3. rm -rf /root/autodl-tmp/DF2K/DF2K_train_LR_bicubic/Flickr2K_LR_bicubic.zip
复制代码
向服务器(Linux)传输大文件并下载——阿里云盘
  1. cd aliyunpan  #进入目录
  2. ./aliyunpan #启动aliyunpan
  3. login #登录账号
复制代码
可以在aliyunpan交互指令界面指定将从云盘下载的文件存放在哪个目录下
  1. config set -savedir save_path #save_path是你服务器想要将文件存放的地址路径
  2. config set -savedir /root/autodl-tmp/DF2K/
  3. download xxx
  4. Ctrl + C退出该aliyunpan
复制代码
总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/server/323233lol.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具