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

Inside and outside type casting, depth description of the inside and outsid...

depth description of the inside and outside typecasting

Program of multipication using inline function, Aim: Write a program of mu...

Aim: Write a program of multipication using inline function class Multiply {           int x,y;           public:           void getdata();           inline calc

Luminous jewel polishing neckiace, Byteland county is very famous for lumin...

Byteland county is very famous for luminous jewels. Luminous jewels are used in making beautiful necklaces. A necklace consists of various luminous jewels of particular colour. Nec

Define structures in c++, Structures A structure is a user-defined data...

Structures A structure is a user-defined data type, which may have different data types as its members. Creating a structure is a two-part process. First, a structure template

Padovan string, A Padovan string P(n) for a natural number n is defined as:...

A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation. For a string of t

What are source files and bytecode files, Problem : (a) What do you u...

Problem : (a) What do you understand by the term ‘constructor' in Java? Explain with an appropriate example. (b) Describe the differences between an object and a class usi

Get reverse engineer to linux game routine analysis, Get Reverse Engineer t...

Get Reverse Engineer to Linux game routine analysis Project Description: I want a fast and efficient reverse engineer with good knowledge of assembly x86 language, strong rev

Explain the #define directive, The #define Directive The #define direct...

The #define Directive The #define directive explains a macro which is a text string represented by a name. Whenever the pre-processor finds this name in the program, it is repl

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