When i use the command ‘ipfs get XXXXXXXX’, i find the downloaded content in the go-ipfs binary directory, and when i use ‘ipfs pin ls’,i can’t see that.
So, i think maybe set the default output path to RepoPath will be better.
For me ipfs get
downloads to the location from which ipfs is being run (pwd). So not sure what you mean…
Same here: new terminal defaults to $HOME, and that’s where ipfs get
puts the downloaded file.
As for the pin command, and correct me if I’m wrong: if you just ipfs get
an object, it’s not pinned, maybe not even cached. You need to run ipfs pin add <hash>
. Don’t know how it is with ipfs cat <hash> > filename
. This will also download the object to your working directory, but will the object also get pinned? Cached sure, but pinned I believe not.
@Alvin it seems like you might be confused about the purpose of ipfs get
. The documentation might be unclear.
The ipfs get
command is basically a “read this thing out of the ipfs system and put it on my regular filesystem”. It’s asking your ipfs node to get content from the ipfs network – maybe from your local ipfs repo, maybe from another node – and write it to your regular filesystem. It’s a more user-friendly version of ipfs cat
. With ipfs cat
you would have to write the contents of the output into a file. ipfs get
handles that for you.
As with ipfs cat
, running ipfs get
does not pin the content into your repo. It just retrieves the content and passes it to the destination on your filesystem (by default, the directory where you ran the command). If you want that content pinned on your node, you have to use the ipfs pin add
command.
Question for the pro @flyingzumwalt: so if get is the user-friendly version of cat, does that mean that both commands (get & cat) will temporarily cache the file?
cat
definitely caches the file (or data) temporarily. I’m pretty sure that get
does too. @Kubuxu can you confirm that?
Yes, both those functions save date they download and save data to the blockstore. It will be there (if not pinned) until next GC.