How to use the rm
, unlink
, and rmdir
commands to remove files and directories in Linux.
How to Remove Files
To remove (or delete) a file in Linux from the command line, use either the rm
(remove) or unlink
command.
The unlink
command allows you to remove only a single file, while with rm
you can remove multiple files at once.
Be extra careful when removing files or directories, because once the file is deleted, it cannot be easily recovered.
-
To delete a single file, use the
rm
orunlink
command followed by the file name:unlink filename
rm filename
If the file is write-protected, you will be prompted for confirmation, as shown below. To remove the file type
y
and hitEnter
. Otherwise, if the file is not write-protected, it will be deleted without prompting.rm: remove write-protected regular empty file 'filename'?
-
To delete multiple files at once, use the
rm
command followed by the file names separated by space.rm filename1 filename2 filename3
You can also use a wildcard (
*
) and regular expansions to match multiple files. For example, to remove all.pdf
files in the current directory, use the following command:rm *.pdf
When using regular expansions, first list the files with the
ls
command so that you can see what files will be deleted before running therm
command. -
Use the
rm
with the-i
option to confirm each file before deleting it:rm -i filename(s)
-
To remove files without prompting even if the files are write-protected pass the
-f
(force) option to therm
command:rm -f filename(s)
-
You can also combine
rm
options. For example, to remove all.txt
files in the current directory without a prompt in verbose mode, use the following command:rm -fv *.txt
How to Remove Directories (Folders)
In Linux, you can remove/delete directories with the rmdir
and rm
.
rmdir
is a command-line utility for deleting empty directories while with rm
you can remove directories and their contents recursively.
-
To remove an empty directory, use either
rmdir
orrm -d
followed by the directory name:rm -d dirname
rmdir dirname
-
To remove non-empty directories and all the files within them, use the
rm
command with the-r
(recursive) option:rm -r dirname
If a directory or a file within the directory is write-protected, you will be prompted to confirm the deletion.
-
To remove non-empty directories and all the files without being prompted, use
rm
with the-r
(recursive) and-f
options:rm -rf dirname
-
To remove multiple directories at once, use the
rm -r
command followed by the directory names separated by space.rm -r dirname1 dirname2 dirname3
Same as with files you can also use a wildcard (
*
) and regular expansions to match multiple directories.
Source: https://linuxize.com/post/how-to-remove-files-and-directories-using-linux-command-line/