The others have answered. However you may be confused by some
informational messages and think there's something wrong so I'll give you
an example.
Is your remote system an IBM i or not?
From your IBM i:
FTP othersystem
Now, if your other system is an IBM i use this command: namefmt 1
If your other system is not an IBM i use this command: locsite namefmt 1
namefmt tells both systems to use ifs type naming
locsite namefmt tells just the local system to use ifs type naming.
Then it's quite easy to do commands like: ls /tmp
If your starting out ftp from a system other than IBM i then you would
use: quote site namefmt 1
This tells the ftp client to ignore the command and just pass it on to the
remote system. Like this DOS example:
C:\Users\rob>ftp gdisys
Connected to gdisys.corp.dekko.com.
220-QTCP at GDISYS.CORP.DEKKO.COM.
220 Connection will close if idle more than 5 minutes.
501 OPTS unsuccessful; specified subcommand not recognized.
User (gdisys.corp.dekko.com:(none)): rob
331 Enter password.
Password:
230 ROB logged on.
ftp> quote site namefmt 1
250 Now using naming format "1".
ftp> ls /tmp
200 PORT subcommand request successful.
125 List started.
/tmp/EMHDR060 - Copy - Copy.TXT
...
It's not required to use quote site namefmt 1. You can just use namefmt 1
to a non IBM i target but you will get a message.
If you are already in namefmt 1 and you need a db2 item you can do commands
like
ls /qsys.lib/mylib.lib/myfile.file/*.mbr
get /qsys.lib/mylib.lib/mysavf.savf
Save files are a strange exception where even though it's a .file extension
(*FILE object type) it allows you to use the object attribute. You can
just use .file if you want but sending that off to IBM with .savf is 'self
documenting'.