IPFS (二)常用指令介紹1

1、基本命令

命令 介紹
add <path> 添加一個(gè)文件到IPFS
cat <ref> 預(yù)覽文件內(nèi)容在控制臺(tái)
get <ref> 下載獲取文件
ls <ref> 從一個(gè)對(duì)象中列出鏈接
refs <ref> 從一個(gè)對(duì)象中列出鏈接hash
init 初始化IPFS本地配置
1.1 ipfs add

1)先創(chuàng)建一個(gè)2.txt的文件 vi 2.txt 內(nèi)容為123456789987654321

? 使用ipfs add <path> 也就是文件路徑將文件上傳到ipfs


在這里插入圖片描述

2)新建一個(gè)文件ipfs-add-dir 在文件夾中創(chuàng)建文件3.txt

? 使用 ipfs add -r ipfs-add-dir 遞歸上傳目錄和目錄下所有文件


在這里插入圖片描述

3)創(chuàng)建一個(gè)隱藏的文件夾 ./list 在ipfs-add-dir 下

? -r:遞歸上傳文件目錄

? -w:用目錄對(duì)象包裹文件

? -H:上傳隱藏的文件或文件夾


在這里插入圖片描述
1.2 ipfs cat

選項(xiàng)有兩個(gè)

-o int顯示時(shí)去掉前面的int個(gè)字節(jié)

-l int 總共顯示int個(gè)字節(jié)

用來(lái)查看ipfs中存儲(chǔ)的文件內(nèi)容

例如我們查看之前上傳的3.txt (注意:不能直接查看文件夾)


在這里插入圖片描述
1.3 ipfs get

選項(xiàng)有四個(gè)

-o path本地保存路徑

-a 保存為.tar格式的壓縮包

-C保存為.gzip格式的壓縮包

-l int 指定壓縮等級(jí)

1)使用get下載存儲(chǔ)在ipfs中的文件例如3.txt(注意:下載默認(rèn)位置是當(dāng)前路徑,默認(rèn)文件名是文件的hash)


在這里插入圖片描述

2)下載文件夾也是一樣例如下載之前的ipfs-add-dir 這個(gè)時(shí)候下載的默認(rèn)文件夾名也是hash


在這里插入圖片描述

3)使用ipfs get <ref> -o 指定文件名or文件夾名


在這里插入圖片描述

[圖片上傳失敗...(image-a6dbb7-1545810630205)]


在這里插入圖片描述
1.4 ipfs ls

-v 在輸出結(jié)果里面添加一個(gè)表頭

1)ipfs pin ls 列出當(dāng)前節(jié)點(diǎn)的所有文件

1545796431586

2)ipfs ls <ref>列出當(dāng)前目下的所有內(nèi)容

1545796470010
1.5 ipfs refs

refs命令用于列出某個(gè)文件的相關(guān)分片。格式如下:

ipfs refs [選項(xiàng)] 文件hash

選項(xiàng)有四個(gè)

--format 指定輸出格式,默認(rèn)為只輸出各分片

-e 輸出格式為源文件->分片的格式

-u輸出結(jié)果去重

-r 將子節(jié)點(diǎn)的分片也列出

2、數(shù)據(jù)結(jié)構(gòu)命令

命令 介紹
block 與數(shù)據(jù)存儲(chǔ)中的原始?jí)K交互
object 與原始DAG節(jié)點(diǎn)交互
files 將對(duì)象抽象成uinx文件系統(tǒng),并與對(duì)象交互
dag 與IPLD文件交互
2.1 ipfs block

1)ipfs block get

獲取ipfs塊原始信息

1545799694622

2)ipfs block put <data>

把輸入作為一個(gè)ipfs塊

![![1545799654397](http://upload-images.jianshu.io/upload_images/15578648-7d7b28f18ac17d7a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240))

3)ipfs block stat <key>

打印ipfs 塊統(tǒng)計(jì)信息

在這里插入圖片描述
2.2 ipfs object

1) ipfs object data <key>

? 輸出一個(gè)對(duì)象的原始字節(jié)

1545803293335

2)ipfs object diff <obj_a> <obj_b>

? 顯示兩個(gè)對(duì)象的區(qū)別

1545803414588

3)ipfs object get <key>

? 獲取并序列化DAG節(jié)點(diǎn)

?
1545803519950

4)ipfs object links <key>

? 輸出對(duì)象額各個(gè)分片鏈接

?
1545803699976

5)ipfs object new [<template>]

? 新建一個(gè)對(duì)象 如果不提供模板的,默認(rèn)創(chuàng)建一個(gè)空的對(duì)象

1545803812754

6)ipfs object patch

? 6.1) add-link<root> <name> <ref> 在給定對(duì)象上添加一個(gè)鏈接

1545804199199

? 6.2) append-data<root> <data> 向DAG節(jié)點(diǎn)的數(shù)據(jù)段中追加數(shù)據(jù)

? 6.3) rm-link<root> <link> 從對(duì)象中移除一個(gè)鏈接

? 6.4) set-data<root> <data> 設(shè)置對(duì)象的數(shù)據(jù)段

7)ipfs object put <data>

1545804590553

8)ipfs object stat <key>

1545804673215
2.3 ipfs files

1)chcid <path> 更改給定路徑根節(jié)點(diǎn)的cid版本或hash函數(shù)

2)cp <source> <dest> 拷貝文件到mfs

1545809134501

3)flush <path> 將給定路徑的數(shù)據(jù)沖刷到磁盤

1545809232740

4)ls<path> 列出本地可變命名空間中的目錄

1545807751586

5)mkdir <path>創(chuàng)建目錄,注意一定要是絕對(duì)目錄

1545807751586

6)mv<source><dest> 把文件從source移到dest,會(huì)改變hash

1545809178468

7)read<path> 在給定的mfs里讀取一個(gè)文件,注意必須是文件

1545809211563

8)rm<path> 刪除一個(gè)文件

1545809155251

9)stat<path> 查看給定路徑文件的狀態(tài)

1545809104985

10)write<path><data> 在path文件里寫入可變的data文件

1545809073887
2.4 IPfs dag

1)ipfs dag get <ref> - Get a dag node from ipfs.
2)ipfs dag put <object data> - Add a dag node to ipfs.
3)ipfs dag resolve <ref> - Resolve ipld block

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容