当前位置: 首页 > news >正文

大批量文件管理操作的linux与windows系统命令行终端命令

大批量文件管理操作的linux与windows系统命令行终端命令

  • 一、创建文件夹
    • 1.1创建单个文件夹
    • 1.2创建嵌套文件夹
    • 1.3复制文件夹结构不复制内容
  • 二、移动文件及文件夹
    • 2.1linux系统终端移动文件数量限制
    • 2.2windows系统终端移动文件数量限制
    • 2.3批量移动小于等于约5万个文件
    • 2.4批量移动大于约5万个文件
  • 三、删除文件及文件夹
    • 3.1删除指定后缀文件
    • 3.2删除文件夹及文件夹下所有文件
  • 四、压缩解压文件
    • 4.1linux终端压缩解压命令
    • 4.2windowspowershell终端压缩解压命令

一、创建文件夹

1.1创建单个文件夹

linux终端命令与windows下powershell终端命令一致,注意windows下是powershell终端,而不是cmd终端,本文以下部分使用的都是powershell终端:

mkdir folder01

python代码如下:

import osos.mkdir('folder01')

1.2创建嵌套文件夹

linux终端命令与windows下powershell终端命令一致,创建嵌套文件夹需在mkdir命令后加上-p参数

mkdir -p folder01/folder02

python代码如下:

import osos.makedirs('folder01/folder02')

1.3复制文件夹结构不复制内容

linux终端命令如下:

find folder01 -type d -exec mkdir -p folder02/{} \;

windows下powershell终端命令如下:

xcopy folder01 folder02 /t /e

/t:只复制目录结构,/e:包含空目录。

二、移动文件及文件夹

2.1linux系统终端移动文件数量限制

在linux系统中,由于终端的参数展开机制,和命令行参数和环境变量的总长度上限,如果文件数量太多导致拼接后的命令参数字符串超过上限,就会报出如下错误

argument list too long

使用getconf ARG_MAX命令可以得出长度的上限,单位为Byte,一般在linux系统中该上限为2097152,即2MB,假设文件路径平均长度是40个字符,也就是40B,那么文件数量上限为2097152/40≈5.2万。

因此一般如果移动的文件数量超过5万,在linux系统中就不能使用常规的mv命令,而需使用find+mv进行操作。

2.2windows系统终端移动文件数量限制

在windows系统中,powershell客户端上也有命令行参数长度的限制,但由于powershell客户端与linux命令行终端对于通配符的展开机制有所不同,powershell不会一次性把所有文件名拼成一个超长字符串,所以可以处理超过5万个文件,经过实际测试,可以移动约40万以上个文件

2.3批量移动小于等于约5万个文件

以移动txt为后缀的文件为例,
linux终端命令如下:

mv folder01/*.txt folder02/

windows下powershell终端命令与上面linux命令一致。

2.4批量移动大于约5万个文件

以移动txt为后缀的文件为例,
linux终端命令如下:

find folder01 -name "*.txt" -exec mv {} folder02 \;

注意上面命令末尾的;不能省略,否则报错。

三、删除文件及文件夹

3.1删除指定后缀文件

删除txt为后缀的所有文件为例,linux终端命令与windows下powershell终端命令一致

rm folder01/*.txt

同样地,在linux终端,删除文件数量存在2.1小节所说的限制

3.2删除文件夹及文件夹下所有文件

linux终端命令:

rm -rf folder01

-r代表递归删除目录及其内容,可能在目录不可写的情况下提示确认。

-f表示强制删除(忽略不存在的文件,不再提示确认而直接删除)。

windows下powershell终端命令:

rm -r folder01

-r含义与linux终端一直,递归删除目录及其内容,但是如果存在只读、隐藏和系统文件,则不会删除这些文件,同时报错,如下图所示:
在这里插入图片描述

只有加上Force参数,才会将所有文件及文件夹删除,命令如下:

rm -r -Force folder01

四、压缩解压文件

4.1linux终端压缩解压命令

使用zip压缩文件夹命令如下:

zip -r folder01.zip folder01

上述命令在压缩的同时会显示压缩详情,如果想要静默压缩,则可以加上-q参数,命令如下:

zip -q -r folder01.zip folder01

解压缩命令如下:

unzip -d . folder01.zip

同样地,可以加上-q参数,实现静默解压缩。

4.2windowspowershell终端压缩解压命令

powershell自带了对ZIP格式的压缩与解压支持,不需要安装额外软件
压缩文件夹命令如下:

Compress-Archive folder01 folder01.zip

解压命令如下:

Expand-Archive folder01.zip .

上述命令为解压到当前路径。

http://www.dtcms.com/a/363563.html

相关文章:

  • Linux内核进程管理子系统有什么第四十回 —— 进程主结构详解(36)
  • 【网络安全入门基础教程】网络安全行业,未来两年就业和再就业都会很难
  • git: 取消文件跟踪
  • Linux Shells
  • ubuntu24.04网络无法访问(网络问题)NAT网关写错了
  • MSVC, GCC, Clang
  • playwright+python 实现图片对比
  • Linux 进程信号补充知识点总结(按重要程度排序)
  • 立足稳联技术的Ethernet IP转ModbusTCP网关与触摸屏连接案例的专业研判
  • Web3 出海香港 101 |BuildSpace AMA 第一期活动高亮观点回顾
  • C++全局变量未初始的和已初始化的位置放在哪里?
  • Web3兴起:重新定义互联网格局
  • 强化学习PPO/DDPG算法学习记录
  • 图像编码之摄像机的H264 分块编码的含义是什么,以分块编码(tile)192X192为例子说明,好处与缺点分别是什么
  • Day19(前端:JavaScript基础阶段)
  • Linux笔记14——shell编程基础-8
  • 解决戴尔笔记本电脑键盘按键部分失灵
  • 未来工厂雏形:基于Three.js的自主演进式数字孪生系统设计
  • Qwen3-Reranker-0.6B 模型结构
  • Coze平台指南(2):开发环境的搭建与配置
  • Cisco FMC利用sftp Server拷贝文件方法
  • Ubuntu中配置JMmeter工具
  • 从零开始:用代码解析区块链的核心工作原理
  • Ubuntu 24.04 服务器配置MySQL 8.0.42 三节点集群(一主两从架构)安装部署配置教程
  • 软件设计师——软件工程学习笔记
  • 矩阵scaling预处理介绍
  • AI代码生成神器终极对决:CodeLlama vs StarCoder vs Codex,谁才是开发者的「最佳拍档」?
  • STM32CUBEMX配置LAN8720a实现UDP通信
  • 【C++游记】红黑树
  • 嵌入式C语言之链表冒泡排序