I can't delete files like "#test.cpp#~" in terminal - linux

I'm using Ubuntu linux. I have a file #test.cpp#~ and when I try to run the following command in the terminal:
rm #test.cpp#~
all I get is:
rm: missing operand
Can someone tell me what's happening? I think the file is an autosave but I don't know how to delete it.

~ and # have special meaning in shell environment. User quotes:
rm "#test.cpp#~"

you need to escape the # try the following:
rm \#test.cpp\#~
you may need to do
rm \#test.cpp\#\~

Related

Is there a way to remove file with substitutions in name in linux?

Let's say I have directory with files: log[1-3], log1, log2, log3. I want to type a command and remove file log[1-3]. How it can be done?.
Yes I know, that I can type rm -i log* and then choose file that I wanted to remove, but it is not appropriate for me, because in this directory can be many files begins with log.
So, i need a way to do this with just one command.
I found way to do this. You just need to type rm 'log[1-3]'. With a single quotes
Thank you CamilCuk
There seem to be two ways to do this:
rm log\[1-3\]
rm 'log[1-3]'
rm log\[1-3\] is a result of rm log ESCESC
rm 'log[1-3]' is a result of ls -ltra.

Can't remove a linux directory using linux terminal [duplicate]

This question already has an answer here:
Delete folder that contain subfolders and files on linux
(1 answer)
Closed 1 year ago.
I've been trying to remove an unwanted file: 'PycharmProjects' but I can't seem to be able to do it. Every time I use the rm command (as in rm filename) the linux terminals says this: rm: cannot remove 'PycharmProjects': Is a directory. I've also tried trying to just unistall it from files but every time I do that an error occurs. Could you please help me.
NOTE: I use chromebook
If linux says that is a directory please try to run
rm -d filename
and if not worked try next command
rm -r dirname
here also is an article about deleting files and directories in linux command line:
https://linuxize.com/post/how-to-remove-files-and-directories-using-linux-command-line/
you would try
rm -rf "name_directory"
with rm you will use the remove command; with -r you will select anything on specified directory; and with -f you will force, omiting any rule or barrier of security so you must be careful because a rm -rf command could delete any important data from your disc so you will need admin permissions to execute that command but you will discover could be useful sometimes.
P.D. when you need help with any command you can use the man command that will show you a manual for the command selected for example in this case you can write
man rm
that will show you all the options that you can do with that command depending to the command you also can find information like the developer of the command; common structures and more interesting information.
normally the man command come preinstall in the popular distrubutions but if you type "man" and it isn´t work you could search on internet how to install the man on your linux distribution
have a nice day and welcome to linux :)
Generally, rmdir is the correct way to remove a directory in Linux (and mkdir to create a directory). If your directly is not empty, then rmdir won't remote it.
The command rm -rf <dirname> (where "dirname" is your directory's name) is the less safe way to remove a directory and all of its contents. Only use it if you're sure that the directory doesn't contain information you want to preserve. Remember the rm and rmdir commands don't put anything in a "Recycle Bin" or similar!

Cannot remove directory ${env.DELETED_ITEMS} on Linux

I have created a directory on my RedHat machine which has the name ${env.DELETED_ITEMS}. Well, I did not intend to create it, it just got created when i ran my Ant build without setting the correct environment variable. Now, I am unable to remove it. I tried renaming the directory, rm -rf, none of them works. Could anybody explain why this is the behavior and how to get rid of it?
I get this error:
-bash: ${env.DELETED_ITEMS}: bad substitution
Wrap it in single quotes to prevent parameter expansion:
rm -r '${env.DELETED_ITEMS}'
Alternative you will need to escape the special characters:
rm -r \$\{env.DELETED_ITEMS}
You should be able to delete it with the double hypen syntax.
rm -r -- '${env.DELETED_ITEMS}'
This way everything after -- is treated as input.
Or you simple escape those chars. Problem is you are missing the last escape char.
rm \$\{env.DELETED_ITEMS\}

Delete file from Unix system

I want to delete a text file from Unix machine. I am using the following command for the same.
rm /tmp/filename.txt
It is working fine. After execution it returns nothing.
I want to get some conformation about deletion as follows,
filename.txt deleted successfuly.
Please any one help me on this.
Thanks in advance.
You can use these commands:
rm /tmp/filename.txt && echo "File successfuly deleted"
this will remove the file and then (only if the exit status of command is successful) print the message.
Otherwise, as Venkat said, you can use rm -i that asks for confirmation before deleting the file.
I have used the following to slove my issue.
rm -v /tmp/filename.txt
this will display the message as follows,
removed `/tmp/filename.txt`
you can use option with Unix command please See
this link below
The below command prompts you once whether you want to remove the file before deleting it.
rm -i tmp/filename.txt
If the file is unavailable shows you :
cannot remove ‘tmp/filename.txt’: No such file or directory
Hope it helps.

linux: how to remove file with this kind of name "test\download\"?

I was trying to remove this file from server using rm command but it doesn't work. Also I can't rename this file. Please help.
Try something like
rm -i test?download*
and read glob(7) and rm(1)

Resources