Write a program to find files-unix, C/C++ Programming

Assignment Help:

This programming assignment is for use in the LINUX/UNIX environment!!

Introduction:

System administration often requires custom written programs and tools. One problem a system admin faces is deleting oversized files on the system.

Assignment Description:

This assignment is to write a program to find files that exceed a given threshold in size.  This tool will allow the system admin to find those files that are dominating the usage of the file system.

Program Requirements:

1)  The program will take 2 arguments, an options argument and a size argument.

2)  The size argument is a number representing the threshold size.  For example, if 10 is entered, it will find all files larger than 10 megabytes.

3)  The options are to be as follows:

      1.  -f  (this option will display the file name

      2.  -s (this option will calculate the summary of all file sizes)

      3.  -t  (this option will display the total summary only.

    These arguments may be entered in single option fashion or multiple.  Example:

  $filesize -sf 10

  -This will display all files over 10 megabytes and include a summary of all files sizes.

   The output is as follows:

    80 /home/smith/Tools/decode.tgz

    28 /home/smith/Tools/parse_code.a

   **NOTE: that decode.tgz is 80 MB and parse_code.a is 28 MB.

4)  The program will take the file list in as a stream from the standard input.  The "find" command will be used to create the stream, but no options will be allowed to be used.

    The "find" command is used here as a simplifying element of the program.

5)  The program will use the "stat" system call to filter out dir/block/link/socket files and only return "regular" files.

6)  The program will use the "stat" system call to get the file size.

 

SAMPLE CODE THAT CAN BE USED (You Don't HAVE to use this):

For POSIX environment:

struct stat sb;

int result = 1; /* result */

if (msg) msg[0] = '\0';

if (stat(FN,&sb) == 0) {

     if      (S_ISDIR (sb)) result = 0;

     else if (S_ISFIFO(sb)) result = 0;

     else if (S_ISBLK (sb)) result = 0;

     else if (S_ISSOCK(sb)) result = 0;

   }

}


Related Discussions:- Write a program to find files-unix

What is difference among macro and template?, A: In C++ there is a main dif...

A: In C++ there is a main difference among a template and a macro. Merely a macro is a string which the compiler replaces along with the value that was defined. For example #define

How do i develop a subscript operator for a matrix class?, Employ operator ...

Employ operator () instead of operator[]. While you have multiple subscripts, the cleanest way to do it is along with operator () instead of with operator[]. The reason is that

Structure and classes in c++, want to understand the working of structure a...

want to understand the working of structure and classes

When should i use references, A: Use references when you can use, and use p...

A: Use references when you can use, and use pointers when you have to. References are generally preferred over pointers whenever you don't require "reseating". Usually this mean

Area under curve, Write a program to find the area under the curve y = f(x)...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b.

Loops, Create a program that will accept 3 numbers. The first number (num1)...

Create a program that will accept 3 numbers. The first number (num1) is the common difference and the second number (num2) is the starting number and the 3rd number (num3) is the m

What is the employ of ''using'' declaration?, A: A using declaration makes ...

A: A using declaration makes it possible to employ a name from a namespace without the scope operator.

Assignment, Write a program that computes the cost of a long distance call....

Write a program that computes the cost of a long distance call. The cost of the call is determined according to the following rate schedules. a. A call made between 8:00 AM and

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd