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

大批量文件管理操作的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.xdnf.cn/news/19567.html

相关文章:

  • SpringMVC —— Spring集成web环境和SpringMVC快速入门
  • 腾讯混元翻译模型Hunyuan-MT-7B开源:小参数量大能量,获得30项国际冠军
  • Windows---DWORD与IPVOID
  • Sentinel vs Resilience4j vs Bucket4j:分布式限流方案对比与实战
  • 【音视频】VP8 与 VP9 技术详解及与 H.264 H.265 的对比
  • 扩散模型驱动的智能设计与制造:下一场工业革命?
  • idea创建类时自动添加文档注释
  • 【技术教程】如何将文档编辑器集成至基于Node.js的网页应用程序中
  • ESLint 相关
  • 单北斗GNSS位移监测技术解析
  • 网络通信IP细节
  • 企业级架构师综合能力项目案例二(项目性能优化方案JVM+数据库+缓存+代码JUC+消息中间件架构+服务熔断降级)
  • 想找Gamma的平替?这几款AI PPT工具值得试试
  • 设计模式:命令模式(Command Pattern)
  • 从 “容器保姆” 到 “云原生王者”:K8s 全方位指南
  • 并发编程——13 线程池ThreadPoolExecutor实战及其原理分析
  • 顶级科学家的AI使用指南:从工具到合作伙伴
  • 华清远见25072班I/O学习day3
  • Redis分层缓存
  • DELPHI 利用OpenSSL实现加解密,证书(X.509)等功能
  • 犀牛派A1上使用Faster Whisper完成音频转文字
  • 哈尔滨云前沿服务器托管与租用服务
  • 科普:为什么在开发板上运行 Qt 程序时需要在命令后加 -platform linuxfb
  • Linux文本处理工具完全指南:cut、sort、uniq、tr、sed与awk详解
  • odps链接表并预测出现程序阻塞导致任务未完成问题排查
  • 信创服务器总死机原因及解决办法
  • WPF曲线自定义控件 - CurveHelper
  • Java-Spring入门指南(二)利用IDEA手把手教你如何创建第一个Spring系统
  • ChatDOC工具测评:AI驱动PDF/Word文档处理,支持敏感内容隐私保护与表格提取分析
  • Memento:基于记忆无需微调即可让大语言模型智能体持续学习的框架