Sponsored Content
Full Discussion: Dangerous rm -rf command
The Lounge War Stories Dangerous rm -rf command Post 302948321 by Don Cragun on Sunday 28th of June 2015 08:58:08 PM
Old 06-28-2015
Quote:
Originally Posted by Riker1204
Code:
var="/some/place"
rm -rf "${vra}/"*

Does the rm command throw an error when ${vra} does not exist or does it simply proceed with a null byte or something followed by /* erasing everything in its path.

As a beginner in Linux / Bash everything seems to bring up a question.
This has been answered many times before. If the variable vra has not been defined, the command:
Code:
rm -rf "${vra}/"*

will invoke rm with one operand for every file in your system's root directory that does not start with a period. The rm command will then attempt to remove every file in the file hierarchies rooted in those pathnames and print a diagnostic message for every file it is unable to remove until you kill that command or wipe out your system.

UNIX and Linux system utilities are generally very happy to try to do whatever you tell them to even if you have told them to do something that could be disastrous. They don't generally try to second guess you and tell you you might be making a mistake.
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

List of dangerous Unix command

Hi Guys, I wonder if one of you would have a list of dangerous commands on unix. Regards (8 Replies)
Discussion started by: JBB873
8 Replies

2. 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

3. HP-UX

Upgrade serviceguard can be "dangerous"?

Hi everybody! We have to upgrade serviceguard 11.14 to 11.16, so I get PHSS_36898 patch from HP. Is it necessary to uninstall serviceguard 11.14 before install this patch? (I think so, but i am not sure). Do you know if is "dangerous" this kind of upgrade? Any suggestions about? Thx in... (1 Reply)
Discussion started by: kaugrs
1 Replies

4. 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

5. 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

6. Linux

Is umount -l dangerous?

I had a umount busy issue, that the usual fuser -mk did not solve, I did a umount -l and was able to unmount the device, I then got in trouble by the storage team staff: Here was a snippet of their response: Using "umount -l" is a potentially dangerous act. The command combination for a lazy... (8 Replies)
Discussion started by: pastajet
8 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. Shell Programming and Scripting

List of dangerous shell commands

Hello, I have a Application which needs to run shell scripts in a elevated state (root) for system interrogation. So I execute each script using bash -C. This has worked really well. I now want to add another layer of security, I cant inspect each of the scripts before they get deployed to the... (4 Replies)
Discussion started by: tjones1105
4 Replies

9. 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
RM(1)							    BSD General Commands Manual 						     RM(1)

NAME
rm, unlink -- remove directory entries SYNOPSIS
rm [-dfiPRrvW] file ... unlink file DESCRIPTION
The rm utility attempts to remove the non-directory type files specified on the command line. If the permissions of the file do not permit writing, and the standard input device is a terminal, the user is prompted (on the standard error output) for confirmation. The options are as follows: -d Attempt to remove directories as well as other types of files. -f Attempt to remove the files without prompting for confirmation, regardless of the file's permissions. If the file does not exist, do not display a diagnostic message or modify the exit status to reflect an error. The -f option overrides any previous -i options. -i Request confirmation before attempting to remove each file, regardless of the file's permissions, or whether or not the standard input device is a terminal. The -i option overrides any previous -f options. -P Overwrite regular files before deleting them. Files are overwritten three times, first with the byte pattern 0xff, then 0x00, and then 0xff again, before they are deleted. -R Attempt to remove the file hierarchy rooted in each file argument. The -R option implies the -d option. If the -i option is specified, the user is prompted for confirmation before each directory's contents are processed (as well as before the attempt is made to remove the directory). If the user does not respond affirmatively, the file hierarchy rooted in that directory is skipped. -r Equivalent to -R. -v Be verbose when deleting files, showing them as they are removed. -W Attempt to undelete the named files. Currently, this option can only be used to recover files covered by whiteouts. The rm utility removes symbolic links, not the files referenced by the links. It is an error to attempt to remove the files ``.'' or ``..''. When the utility is called as unlink, only one argument, which must not be a directory, may be supplied. No options may be supplied in this simple mode of operation, which performs an unlink(2) operation on the passed argument. The rm utility exits 0 if all of the named files or file hierarchies were removed, or if the -f option was specified and all of the existing files or file hierarchies were removed. If an error occurs, rm exits with a value >0. NOTE
The rm command uses getopt(3) to parse its arguments, which allows it to accept the '--' option which will cause it to stop processing flag options at that point. This will allow the removal of file names that begin with a dash ('-'). For example: rm -- -filename The same behavior can be obtained by using an absolute or relative path reference. For example: rm /home/user/-filename rm ./-filename SEE ALSO
rmdir(1), undelete(2), unlink(2), fts(3), getopt(3), symlink(7) BUGS
The -P option assumes that the underlying file system is a fixed-block file system. In addition, only regular files are overwritten, other types of files are not. COMPATIBILITY
The rm utility differs from historical implementations in that the -f option only masks attempts to remove non-existent files instead of masking a large variety of errors. The -v option is non-standard and its use in scripts is not recommended. Also, historical BSD implementations prompted on the standard output, not the standard error output. STANDARDS
The rm command is almost IEEE Std 1003.2 (``POSIX.2'') compatible, except that POSIX requires rm to act like rmdir(1) when the file specified is a directory. This implementation requires the -d option if such behavior is desired. This follows the historical behavior of rm with respect to directories. The simplified unlink command conforms to Version 2 of the Single UNIX Specification (``SUSv2''). HISTORY
A rm command appeared in Version 1 AT&T UNIX. BSD
January 28, 1999 BSD
All times are GMT -4. The time now is 01:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy