s3cmd ls之迷惑
时间:2022-07-22
本文章向大家介绍s3cmd ls之迷惑,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
习惯了文件系统的我们一直都觉得 ls
命令应该会把文件全部 list 出来,对于 s3cmd ls
我一开始也是这么理解的。
直到有一天,同事通过 s3cmd delete
删除了一个文件,执行 s3cmd ls
竟然返回200,但是 s3cmd get
却返回404,这就很奇怪了,用户明明已经删了对象,为何 ls
得到呢,这不合理,当然 get
不到,那才是合理的,那么 get
不应该 ls
得到啊。
具体的情况如下。
[root@site ~]# s3cmd ls s3://game/1586744327001/sample/allblueapp/80121/ap_80121_14_20200515115522_216.txt
2020-05-15 03:58 1606 s3://game/1586744327001/sample/allblueapp/80121/ap_80121_14_20200515115522_216.txt
[root@site ~]# s3cmd get s3://game/1586744327001/sample/allblueapp/80121/ap_80121_14_20200515115522_216.txt .
download: 's3://game/1586744327001/sample/allblueapp/80121/ap_80121_14_20200515115522_216.txt' -> './ap_80121_14_20200515115522_216.txt' [1 of 1]
ERROR: S3 error: 404 (NoSuchKey)
于是加一下加一下 -d
选项来 debug 一下。发现依然是返回200,且也看不出有什么问题。于是去看了下 s3cmd 的源码,发现 s3cmd ls
只要 bucket 存在,就一定会返回200,不管要 ls
的 object 存不存在,于是做了个实验,去 ls
一个从来不存在的 object
发现,竟然也是200,OK,Fine。
感兴趣的话,可以去看下这块代码,确认一下。
https://github.com/s3tools/s3cmd/blob/master/S3/S3.py#L324
- jQuery方法position()与offset()区别
- 温故而知新:设计模式之桥接模式(Bridge)
- 温故而知新:设计模式之装饰模式(Decorator)
- 域名“宝贝”baby.cn以71万元价格结拍
- 温故而知新:设计模式之组合模式(Composite)
- ruby学习笔记(7)-闭包
- ruby学习笔记(6)-Array的使用
- centos7下部署iptables环境纪录(关闭默认的firewalle)
- ruby学习笔记(5)-模块module的运用
- linux系统root密码遗忘的情况下的解决办法
- ruby学习笔记(4)-动态修改类的属性
- 如果技术是一种生命
- ruby学习笔记(2)--类的基本使用
- 域名资讯:四声域名BHHS.com被BHHS公司收购
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法