# Perform Bluetooth FTP client functions

You can verify Bluetooth FTP client functionality using the commands provided in the main menu of `obexctl`. Bluetooth FTP client functions include creating a new folder and changing the current folder to navigate the file system. You can retrieve information about the current folder, copy a file to a remote device, copy a file from a remote device, copy a file within the remote device, move files between locations and delete files when they are no longer required using the FTP client functions.

Note

To test or verify FTP server functions, a test application isn’t required. Perform FTP functions through the client connection.

## Prerequisites

Before you begin, set up the device as described in [Set up the device for Bluetooth FTP functions](https://docs.qualcomm.com/doc/80-70023-13/topic/bluez-ftp.html#section-bdh-4fl-rcc-navyanka-09-11-24-025-48-587).

## Create a folder

To create a folder on the remote device, run the following command from the `obexctl` menu:

mkdir <folder_name>
    Copy to clipboard

You can verify folder creation on the server at the `/var/bluetooth` directory.

**Parameters**

`<folder_name>` is the new folder name.

**Example**

To create a folder called `new_dir`, run the following command:

mkdir new_dir
    Copy to clipboard

**Sample output**

#mkdir new_dir
    Attempting to CreateFolder
    CreateFolder successful
    Copy to clipboard

## Change the current folder

To change the current folder of the remote device, run the following command from the `obexctl` menu:

cd <folder_path>
    Copy to clipboard

**Parameters**

`<folder_path>` is the folder that you intend to switch to.

**Example**

To change the current folder to `new_dir`, run the following command:

cd new_dir
    Copy to clipboard

**Sample output**

#cd new_dir
    Attempting to ChangeFolder to new_dir
    ChangeFolder successful
    Copy to clipboard

## Get current folder information

To get information about the current folder, run the following command from the `obexctl` menu:

ls .
    Copy to clipboard

**Sample output**

# ls .
    Attempting to ListFolder
    [NEW] Transfer /org/bluez/obex/client/session7/transfer4
    [CHG] Transfer /org/bluez/obex/client/session7/transfer4 Size: 611
    [CHG] Transfer /org/bluez/obex/client/session7/transfer4 Status: complete
          Type: folder
          Name: My_folder
          User-perm: RWD
          Group-perm: R
          Other-perm:
          Accessed: 20231214T123503Z
          Modified: 20231214T123502Z
          Created: 20231214T123502Z
          Type: folder
          Name: new_dir
          User-perm: RWD
          Group-perm: R
          Other-perm:
          Accessed: 20231215T093311Z
          Modified: 20231215T093245Z
          Created: 20231215T093245Z
    Copy to clipboard

## Copy a file to a remote device

To copy a local file to the remote device, run the following command from the `obexctl` menu:

cp :<source_file> <destination_file>
    Copy to clipboard

**Parameters**

- `<source_file>` is the local file.
- `<destination_file>` is the target file on the remote device.

**Example**

To copy a local file at `Documents/ftp_client.txt` to the `ftp_client.txt` on the remote device, run the following command:

cp :Documents/ftp_client.txt ftp_client.txt
    Copy to clipboard

**Sample output**

# cp :Documents/ftp_client.txt ftp_client.txt
    Attempting to PutFile
    [NEW] Transfer /org/bluez/obex/client/session7/transfer5
    Transfer /org/bluez/obex/client/session7/transfer5
          Status: queued
          Name: ftp_client.txt
          Size: 10
          Filename: Documents/ftp_client.txt
          Session: /org/bluez/obex/client/session7
    [CHG] Transfer /org/bluez/obex/client/session7/transfer5 Status: complete
    [DEL] Transfer /org/bluez/obex/client/session7/transfer5
    Copy to clipboard

## Copy a file from a remote device

Before you begin, [change the current folder](https://docs.qualcomm.com/doc/80-70023-13/topic/bluez-perform-bluetooth-ftp-server-and-client-functions.html#section-h1b-y3l-rcc-navyanka-09-11-24-051-31-148) to the folder of the intended file.

To copy a file from the remote device to a local directory, run the following command from the `obexctl` menu:

cp <destination_file> :<source_file>
    Copy to clipboard

**Parameters**

- `<source_file>` is the file on the remote device.
- `<destination_file>` is the target file on the local device.

**Example**

To copy `ftp_client_2.txt` file from the remote device to the local device, run the following command:

cp ftp_client_2.txt :ftp_client_2.txt
    Copy to clipboard

**Sample output**

# cp ftp_client_2.txt :ftp_client_2.txt
    Attempting to GetFile
    [NEW] Transfer /org/bluez/obex/client/session7/transfer21
    Transfer /org/bluez/obex/client/session7/transfer21
          Status: queued
          Name: ftp_client_2.txt
          Size: 0
          Filename: ftp_client_2.txt
          Session: /org/bluez/obex/client/session7
    [CHG] Transfer /org/bluez/obex/client/session7/transfer21 Size: 13
    [CHG] Transfer /org/bluez/obex/client/session7/transfer21 Status: complete
    [DEL] Transfer /org/bluez/obex/client/session7/transfer21
    Copy to clipboard

## Copy a file in a remote device

To copy a file from a directory to another directory on the remote device, run the following command from the `obexctl` menu:

cp <source_file> <destination_file>
    Copy to clipboard

**Parameters**

- `<source_file>` is the file you intend to copy.
- `<destination_file>` is the target location.

**Example**

To copy `ftp_client.txt` to `/new_dir_2/`, run the following command:

cp ftp_client.txt ../new_dir_2/ftp_client.txt
    Copy to clipboard

**Sample output**

# cp ftp_client.txt ../new_dir_2/ftp_client.txt
    Attempting to CopyFile
    CopyFile successful
    Copy to clipboard

## Move a file

To move a file from one folder to another on the remote device, run the following command from the `obexctl` menu:

mv <source_file> <destination_file>
    Copy to clipboard

**Parameters**

- `<source_file>` is the file you intend to move.
- `<destination_file>` is the target location.

**Example**

To move `ftp_client_2.txt` file to `/new_dir_2/`, run the following command:

mv ftp_client_2.txt ../new_dir_2/ftp_client_2.txt
    Copy to clipboard

**Sample output**

#mv ftp_client_2.txt ../new_dir_2/ftp_client_2.txt
    Attempting to MoveFile
    MoveFile successful
    Copy to clipboard

## Delete a file

To delete a file, run the following command from the `obexctl` menu:

rm <filename>
    Copy to clipboard

**Parameters**

`<filename>` is the file you intend to delete.

**Example**

To delete `ftp_client.txt` file, run the following command:

rm ftp_client.txt
    Copy to clipboard

**Sample output**

# rm ftp_client.txt
    Attempting to Delete
    Delete successful
    Copy to clipboard

Last Published: Dec 15, 2025

[Previous Topic
Verify FTP functions](https://docs.qualcomm.com/bundle/publicresource/80-70023-13/topics/bluez-ftp.md) [Next Topic
Verify PBAP functions](https://docs.qualcomm.com/bundle/publicresource/80-70023-13/topics/bluez-pbap.md)