Copy file to current directory? [duplicate]

Solution 1:

You can refer to the current directory with a dot (.).

So in your case:

cp /path/to/source.txt .

Solution 2:

For the destination directory use a single dot '.'

Long Answer

From your home directory type the following:

rick@dell:~$ mkdir a && mkdir a/b && mkdir a/b/c && mkdir a/b/c2
────────────────────────────────────────────────────────────────
rick@dell:~$ cd a/b/c
────────────────────────────────────────────────────────────────
rick@dell:~/a/b/c$ cp /etc/default/grub .
────────────────────────────────────────────────────────────────
rick@dell:~/a/b/c$ cp /etc/default/grub ..
────────────────────────────────────────────────────────────────
rick@dell:~/a/b/c$ cp /etc/default/grub ../c2
────────────────────────────────────────────────────────────────
rick@dell:~/a/b/c$ cd ../../
────────────────────────────────────────────────────────────────
rick@dell:~/a$ tree
.
└── b
    ├── c
    │   └── grub
    ├── c2
    │   └── grub
    └── grub

3 directories, 3 files

We created 4 directories on one line by using && to join multiple lines together. Then changed to the directory a/b/c, which is the current directory for the following copy commands:

  • In the first copy command (cp) we set the target / destination to our current directory (c) with ..
  • In the second copy command we set the directory to the parent directory (b) with ...
  • In the third copy command we set the directory to the sibling directory (c2) with ../c2

Next we changed directory to our grand-parent directory (a) using cd ../../.

Finally we use tree to show all the directories and files under directory a.