Rm command

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Rm command
# 1  
Old 12-20-2015
Question Rm command

Hello

I'm new to the Forum, so it in OS UNIX.

I ask your support so that I indicate as I can delete files of specific dates. These files are temporary and I have to debug the filesystem leaving some days.

files are generated in the following manner:

Image

Image

These files are generated every day and only left 15 days of backup.

I tried to delete them with the following commands, but will not let meSmilie:

rm - rf 20151120 *
RM - R 20151120*.dat

Thank you for your support
# 2  
Old 12-20-2015
Quote:
Originally Posted by Andrshdz
I tried to delete them with the following commands, but will not let meSmilie:

Code:
rm - rf 20151120 *
RM - R 20151120*.dat

[...]
Hi Andrshdz

If you add the warning/error messages you get it would be a bit more helpful.

You need to be careful with *. Depending of where you are in the filesystem and the permissions you have you could wipe out your whole system.
rm - rf 20151120 *: That deletes everything under the current directory, not just the file 20151120 You made the classic mistake of adding a space between the two terms. Also the single - floating alone has a different meaning that -rf or -R
The correct command would be rm -rf 20151120*.dat no spaces between the dash and rf or filename and * and a .dat for extra assurance
Code:
RM - R 20151120*.dat

Commands are case sensitive.rm, RM, Rm, rM would be all different commands.

Last edited by Aia; 12-20-2015 at 03:08 PM..
This User Gave Thanks to Aia For This Post:
# 3  
Old 12-20-2015
Hello, thanks for your reply.

what I want to do is delete all files of the day 20. that is why the images that I put. delete all files of the day 20, day 21 etc. so ire after leaving the most recent.

to execute the command get me this error.

Code:
6> rm -rf 20151120*.dat
No match.

# 4  
Old 12-20-2015
Welcome to the forum, Andrshdz.

First off, a few pointers on how to post here so that you get the best possible answers:

1) Please post data in text form, not as graphics. On the one hand this makes it hard to read for people with alternative devices (like smartphones, handhelds and so on), on the other hand graphics take up a lot of bandwidth while transmitting text is very "cheap". Cut and paste your data off the screen and put it between CODE-tags, so that it will look like this:

Code:
$ print - "This is an example."
This is an example.

2) Always be as precise as possible. We cannot see what is on your screen and we do not know your system. Yes, you said "UNIX", but "UNIX" is a whole family of operating systems. State exactly which UNIX and which version (like "IBM AIX, version 7.1.3" or "Ubuntu 12.04 LTS with kernel 3.19"). If unsure, post the output of the command uname -a. This way you can skip the question in return "which OS?" and get a direct answer immediately. Also post all the error messages you get when you executed your command. UNIX is usually very clear in stating why it can't do what the user wants. We do not expect you to be able to always make sense of the error, but experts usually can - and they can tell you what went wrong if they only know what the system returned as diagnostic message.

Pheeewww, after this lengthy introduction lets get to your problem:

First, as Aia correctly pointed out, you were lucky that your command didn't work because you could have wiped your system. Notice: UNIX (every UNIX) is a system from experts for experts. There is no such thing as "Are you sure you want ....?"-second-guessing. Give the command to do something terminally fatal and if you have the right to do it the system will do it without further ado.

That doesn't mean you shouldn't try: experience is what you get in the moment right after the one you'd have needed it and most of todays experts have done something extremely silly in their career. Most of us have done so more than once. After all, dealing with the consequences of our silliness made us grow into the resourceful tricky devils we are today.

If i understood your problem correctly you want to delete files in a directory based on their date. For this you need the rm command, but you also need a tool to provide the filenames of the files to be deleted. For this there is find.

I do not want to spoil your chance of finding out how that works (UNIX is always about problem-solving so you may want to exercise and train this skill quickly), so only a general pointer:

If you want to understand how a command works use the man (manual) command. Enter:

Code:
$ man find

to get a very thorough explanation of how find works. You will eventually come to the -exec-clause of find and if you search this forum you will find several examples on how to use it. Replace the possibly harmful rm-command with a harmless echo for testing purposes. echo will just display everything following it so that nothing is done. Only after thoroughly testing what you have written replace the echo with rm again.

If you still have questions or get stuck: don't be shy and ask us. We will be glad to help you along as long as we do not have the impression of our help going to waste and you are trying to learn from what we show you.

I hope this helps.

bakunin
These 2 Users Gave Thanks to bakunin For This Post:
# 5  
Old 12-20-2015
Quote:
Originally Posted by Andrshdz
.
.
.
Code:
6> rm -rf 20151120*.dat
No match.

I'm a bit surprised about this message. On the systems I know (admittedly a limited experience), it would consistently look like
Code:
rm -r 20151120*.dat
rm: 20151120*.dat: No such file or directory

On top, the 6>looks like a continuation prompt (PS2 in bash).

Are you sure you're executing /bin/rm? Or is your rm aliased?
Are you sure you're in the correct directory holding the 20151120... files when executing the command?
This User Gave Thanks to RudiC For This Post:
# 6  
Old 12-20-2015
Hello, Many thanks to all.

@bakunin take your advice to my publications.

I have OS is AIX HOSTNAME 1 7 000DEE2BD400, I could delete the files of the day 20 with the following command:

Code:
rm -rf *20151120*.dat

correct this? I worked and deleted all the files that begin with the name "20151120" and have extension. dat.

I'll be visiting much this forum and hope find manuals and learn a lot.

Thank you
# 7  
Old 12-20-2015
That's strange and doesn't match your listings in post#1. Please post the result of
Code:
ls -lb

(if available in your system) limited to a few lines.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Another one line command where I'd like to determine if Ubuntu or Red Hat when running command

Hello Forum, I'm making very good progress on my report thanks to the very helpful people on this forum. I've been able to successfully create my report for my Red Hat servers. But I do have a few ubuntu servers in the mix and I'd like to capture some data from them when an ssh connection is... (8 Replies)
Discussion started by: greavette
8 Replies

2. AIX

I'm facing problem with rpm command, when running the command and appears this error:

exec(): 0509-036 Cannot load program /usr/opt/freeware/bin/rpm because of the following errors: 0509-022 Cannot load module /opt/freeware/lib/libintl.a(libintl.so.1). 0509-150 Dependent module /opt/freeware/lib/libiconv.a(shr4.o) could not be loaded. 0509-152 Member... (4 Replies)
Discussion started by: Ohmkar
4 Replies

3. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

4. Shell Programming and Scripting

SH script, variable built command fails, but works at command line

I am working with a sh script on a solaris 9 zone (sol 10 host) that grabs information to build the configuration command line. the variables Build64, SSLopt, CONFIGopt, and CC are populated in the script. the script includes CC=`which gcc` CONFIGopt=' --prefix=/ --exec-prefix=/usr... (8 Replies)
Discussion started by: oly_r
8 Replies

5. UNIX for Dummies Questions & Answers

passing command output from one command to the next command in cshell

HI Guys, I hope you are well. I am trying to write a script that gets executed every time i open a shell (cshell). I have two questions about that 1) I need to enter these commands $ echo $DISPLAY $ setenv $DISPLAY output_of_echo_$display_command How can i write a... (2 Replies)
Discussion started by: kaaliakahn
2 Replies

6. UNIX for Advanced & Expert Users

unix command : how to insert text at the cursor location via command line?

Hi, Well my title isn't very clear I think. So to understand my goal: I have a script "test1" #!/bin/bash xvkbd -text blabla with xbindkeys, I bind F5 key in order it runs my test1 script So when I press F5, test1 runs. I'm under Emacs/Vi and I press F5 in order to have "blabla" be... (0 Replies)
Discussion started by: xib.be
0 Replies

7. Shell Programming and Scripting

Need help! command working ok when executed in command line, but fails when run inside a script!

Hi everyone, when executing this command in unix: echo "WM7 Fatal Alerts:", $(cat query1.txt) > a.csvIt works fine, but running this command in a shell script gives an error saying that there's a syntax error. here is content of my script: tdbsrvr$ vi hc.sh "hc.sh" 22 lines, 509... (4 Replies)
Discussion started by: 4dirk1
4 Replies

8. AIX

AIX:Command to get netaddress/subnet address command in IPv4/IP6

AIX:Command to get netaddress/subnet address command in IPv4/IP6 Can anybody help us with a command to retrieve netaddress/subnet address command in IPv4/IP6 on aix machine. net/subnet address is in the format 172.16.212.0(signifies all 255 machines in an IPv4 network) (2 Replies)
Discussion started by: rookie8278
2 Replies

9. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

10. SuSE

inconsistent ls command display at the command prompt & running as a cron job

Sir, I using the following commands in a file (part of a bigger script): #!/bin/bash cd /opt/oracle/bin ls -lt | tail -1 | awk '{print $6}' >> /tmp/ramb.out If I run this from the command prompt the result is: 2007-05-16 if I run it as a cron job then... (5 Replies)
Discussion started by: rajranibl
5 Replies
Login or Register to Ask a Question