Sponsored Content
Full Discussion: UNIX Script to clean files
Top Forums UNIX for Beginners Questions & Answers UNIX Script to clean files Post 303033152 by bakunin on Sunday 31st of March 2019 08:16:42 AM
Old 03-31-2019
Quote:
Originally Posted by bakunin
In UNIX every file has not one but several timestamps. There is:

- creation time
- modification time
- access time

and they are all set independently.
After having some time think this over i'd like to make some clarifications but, first off, thanks goes RudiC and drl for pointing it out to me that what i wrote was misleading, especially for the beginner. So, here it goes:

As i said, every file has several timestamps which stand for different things. But first, let us clarifiy what a "file" is in UNIX: a file is - obviously - a bunch of data stored on a "filesystem". There are (other than in Windows) different filesystems to choose from but it comes down to basically store the data somewhere in an organised form. But then there is a second aspect of this because we also need "meta data" - data about the data stored this way - to really make use of it. We i.e. need a "filename" by which we can address it. Notice that the files name is NOT part of the file - it is part of the set of descriptive items stored about the file.

So, we have the "file" and we have its "meta data". In UNIX filesystems these meta data are stored in "inodes". Inodes have a structured, record-like format which can (and does) vary across filesystems but within the same filesystem they are uniform. The different timestamps i talked about are located in these inodes.

I will skip (if you are interested - ask explicitly) the intrinsics of the inode (there is a lot - filesystem tuning, links, rights management, ...) and concentrate on the timestamps of a file. Always keep in mind, though, that slight differences might occur across different filesystems. I will mostly forego these differences to give you an overall picture first. You may tell us which filesystem you have so we can add details to this picture in a follow-up:

There are three timestamps which are common throughout all filesystems:
  • Modify - the last time the files data was modified
    This basically covers creation as well as modification. Some filesystems, as i said, have a separate creation time, but - as i learned, thanks to RudiC - most have not. This timestamp is also referred to as "mtime".
  • Access - the last time the file was read
    This is set whenever the files data where accessed. Notice that a command like ls (list directory, the analogon to dir in Windows) will not access the files data, but only its meta data. Every access to the data, though, includes an access to the meta data because even the location - where the data can be found - is part of the meta data. This is also referred to as "atime".
  • Change - the last time meta data of the file was changed
    From what i said it should be obvious by now that the meta data can be changed without changing the data itself. What such an operation might look like, though, is perhaps more difficult to envision, so here is an example: the access rights to the file are also stored in the inode. Therefore, when you change the access rights only the meta data are changed, not the data itself. This will reflect in only this timestamp being changed. This timestamp is also called "ctime".

Thanks again to RudiC and drl for their valuable input in this.

I hope this helps.

bakunin
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

clean up script

I have a script which would monitor a given directory and delete any files which are older than 10 days. I was going to set the 10 crob jobs to perform this operation for 10 different directories (some are actually sub-directories), but my boss doesn't like that idea, so I need to do that in one... (1 Reply)
Discussion started by: mpang_
1 Replies

2. OS X (Apple)

Startup script to clean out trash can

I need to know how I would be able to clean out the trash can of a single "dumb" user every time the MAC is turned on. Back ground. OS 10.3x G3 Mac Two users configured... 1) Root or Admin (superuser) 2) student (Simple no access to anything but shared folder for files etc.) The problem... (4 Replies)
Discussion started by: Andrek
4 Replies

3. Shell Programming and Scripting

Space Clean Up Activity In Unix

Hi I am trying to develop a script so that whenever used % reaches 90% it will send an alert mail. Following is the script whic I am tryiing to implement but it show some error. code: #! /bin/ksh df -v | grep -i "/opt" | awk '{print $6}' > space if ] then echo "ALERT YOUR SPACE IS TOO... (6 Replies)
Discussion started by: pankajkrmishra
6 Replies

4. Shell Programming and Scripting

Clean old log files

Hi, I want to remove old log files (more than 7 days log files), rest of the logs should be present on my Linux box. could some one please give me any thoughts. Thanks. (3 Replies)
Discussion started by: marmam
3 Replies

5. Shell Programming and Scripting

How to clean this script?

Hello guys, this script partially works but it's still pretty ugly and, moreover, if the month is jan/feb/mar... it doesn't work at all. Could anyone say me how to correct, cut and clean a little bit? #!/usr/bin/ksh egrep -v -e "^\s*#" /file/permission | awk '{ print $1 }' | sort | uniq... (3 Replies)
Discussion started by: gogol_bordello
3 Replies

6. Shell Programming and Scripting

noob question - is awk the tool to clean dirty text files?

Hi, nevermind. I think I've found the answer. It appears I was looking for index, match, sub, and gsub. I want to write a shell script that will clean the html out of a bunch of files and format the data for import into excel. Awk seems like a powerful tool, but it seems oriented to... (1 Reply)
Discussion started by: yogert909
1 Replies

7. Solaris

to clean unnecessary files and folders

I want to clean used solaris OS and then to give another developer. How can I understand that difference between system file/folder and others. I want to delete apart from the files/folders. I need tools or scripts like disk-cleanup or something like that. #usr>du -s -h * 6.6M 4lib ... (1 Reply)
Discussion started by: getrue
1 Replies

8. Shell Programming and Scripting

Script to FTP,clean up and email

Hi i need a unix script to do the following tasks. My folder structure is /home/MSTR/test and will have the following folder within it Cache Lookup Source Target 1. On the Source & Target folder i have to take a copy of files older than 5 days and move(FTP) it into local machines C:\Backup... (1 Reply)
Discussion started by: Codesearcher
1 Replies

9. Shell Programming and Scripting

Clean up UNIX mail box using script

Hi, I would like to clean up by unix mail mail box thru some script command.. I do know how to delete from mail box ... e.g. $ mail ? d* ? quit But I need to clean up thru some command which I can use in my script before sending any email.. Thanks in advance! (1 Reply)
Discussion started by: pareshkp
1 Replies

10. Shell Programming and Scripting

How to clean 3 days before files, from a directory?

I have a Solaris System. I am using bash shell. I want to prepare a script which can do the below. There are few directories i need to clean. In those directories, I need to delete files which are older than 3 days. 3 days before files need to be deleted. The directories are as follows.... (7 Replies)
Discussion started by: Saidul
7 Replies
All times are GMT -4. The time now is 01:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy