Linux - General This Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
02-15-2007, 10:44 AM
|
#1
|
Member
Registered: Nov 2006
Location: USA, CA
Distribution: RedHat, Debian
Posts: 202
Rep:
|
removing file with special characters
Accidentally a file was created with the name "--some-option", e.g. name starts with two dashes. I can't remove this file from the shell. I tried single and double quotes, escaping leading dashes, but to no avail. All I am getting:
rm: unrecognized option `--some-option'
or
rm: cannot remove `\\--some-option' No such file or directory
Konqueror removes file without a problem. I tried to search for the answer, but could not find it.
|
|
|
02-15-2007, 10:48 AM
|
#2
|
LQ Guru
Registered: Aug 2003
Distribution: CentOS, OS X
Posts: 5,131
Rep: 
|
It's removed easily:
Code:
rm -- --some-option
The two lines (--) tell rm that no more options are given, the next argument is filename.
|
|
|
02-15-2007, 11:00 AM
|
#3
|
Member
Registered: Nov 2006
Location: USA, CA
Distribution: RedHat, Debian
Posts: 202
Original Poster
Rep:
|
Thanks. I didn't know about '--'! But I figure out that I could fool 'rm' by typing path with file name which looks normal:
rm /home/mydir/--some-option
|
|
|
02-15-2007, 11:07 AM
|
#4
|
Member
Registered: Nov 2006
Location: USA, CA
Distribution: RedHat, Debian
Posts: 202
Original Poster
Rep:
|
I check out 'man rm' and of course!!! all this is in the manual:
[HTML]
To remove a file whose name starts with a ‘-’, for example ‘-foo’, use one of these commands:
rm -- -foo
rm ./-foo
[/HTML]
Which confirms ancient wisdom: RFM!
|
|
|
02-09-2010, 04:08 PM
|
#5
|
LQ Newbie
Registered: Oct 2009
Posts: 1
Rep:
|
Remove/delete bad Linux file, having illegal character with inode
First list bad file with inode e.g.
$ ls –il
Output
14071947 -rw-r--r-- 1 znajeeb dba 0 2010-01-27 15:49 \-®Å
Note: 14071947 is inode number.
Now Use find command to delete file by inode:
$ find . -inum 14071947 -exec rm -f {} \;
It will find that bad file and will remove it with force i.e remove without prompt.
|
|
|
All times are GMT -5. The time now is 04:30 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|