04-04-2007
read() without changing atime ?
Hey,
First of all I want to know
How do I see the atime of a file ?? Whats the command ??
I think
ls -l shows the last modified time right ? Because when I use cat to read a file, the timestamp shown by ls -l does not change.
Its not ls -lu ! man ls did not help ! How do I see the last access time of a file in unix ???
Now my next question is:
My C program reads a file using read(). But I do not want the last access time of the file to change. So, I am using utime() to update the atime and mtime of the file back to what it was before the read.
But the problem, the update will fail if the program does not have write permissions on the file. If the file is read only, the program will not be able to modify its attributes (am I right ?).
can you guys please help me out here
thanks,
Varun
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a tab delimited file which has 27 character fields. The file needs to be loaded into an Oracle table. But the challenge is that everytime the file comes it may or may not have values in all 27 fields.
Column Definition of the 27 fields:
TYPE: Char (1)
NAME: Char (30)
CUSTOM_VAL: Char... (8 Replies)
Discussion started by: madhunk
8 Replies
2. Shell Programming and Scripting
I have a directory with its subdirectories and files. I want to change them all to read only. Say it is ~/test
chmod -R 444 ~/test
chmod: `/home/myname/test': permission denied
I do not understand. Do I have to have executable mode for a diirectory to access.
How can I change ~/test to... (5 Replies)
Discussion started by: lalelle
5 Replies
3. Tips and Tutorials
Unix keeps 3 timestamps for each file: mtime, ctime, and atime. Most people seem to understand atime (access time), it is when the file was last read. There does seem to be some confusion between mtime and ctime though. ctime is the inode change time while mtime is the file modification time. ... (2 Replies)
Discussion started by: Perderabo
2 Replies
4. Linux
Hello everyone I recently clone a system and doing so it gave my nics cards id's of eth3 and eth4 instead of eth0 and eth1. Is there a config file or something out there where I can change these back? All help will be appreciated. (2 Replies)
Discussion started by: aojmoj
2 Replies
5. Shell Programming and Scripting
Hi All
At the moment the following code works but ideally i do not want to have to change the original $1
tr "\r" "\n" < "$1" > "$1.fix"
printf "\n" >> "$1.fix"
mv "$1.fix" "$1"
FILE=$1
coffee_out="splitmovie"
coffee_fill="-splitAt"
coffee_end="-self-contained -o output.mov $2"... (1 Reply)
Discussion started by: babajuma
1 Replies
6. UNIX for Advanced & Expert Users
hi, in trying to maintain your directories, one needs to do some housekeeping like removing old files. the tool "find" comes in handy. but how would you decide which option to use when it comes to, say, deleting files that are older than 5 days?
mtime - last modified
atime - last accessed... (4 Replies)
Discussion started by: pinoy43v3r
4 Replies
7. UNIX for Dummies Questions & Answers
I need to sort through a volume that contains video files by access time and delete files that have not been accessed over x days. I have to use the access time as video files are originals that do not get modified, just read
Testing commands on a local test folder...
$ date
Wed Sep 28... (10 Replies)
Discussion started by: canon273
10 Replies
8. Programming
I have the following piece of code. Currently the command line arguments are passed as shown below using the "= "sign. I capture the name of the argument, for example vmod and it's corresponding user parameter which is jcdint-z30.cmd.
./raytrac vmod=jcdint-z30.cmd srFile=jcdint.sr
Now I want... (12 Replies)
Discussion started by: kristinu
12 Replies
9. Shell Programming and Scripting
I want to read a constantly changing file and do some operation on text found in that file.
Actually that is log file of linux system and whenever i find a matching string in that file i want to create a text file with timestamp. is it possible to read that file?
here is sample output of log... (7 Replies)
Discussion started by: kashif.live
7 Replies
10. Solaris
It is widely documented that on zfs atime updates the access time on zfs.
Where is the access time updated on Solaris 11.2?
If I create file atimetest.txt under rpool/export/home:
# zfs list rpool/export/home
NAME USED AVAIL REFER MOUNTPOINT
rpool/export/home 13.3G ... (5 Replies)
Discussion started by: jabberwocky
5 Replies
TOUCH(3) 1 TOUCH(3)
touch - Sets access and modification time of file
SYNOPSIS
bool touch (string $filename, [int $time = time()], [int $atime])
DESCRIPTION
Attempts to set the access and modification times of the file named in the $filename parameter to the value given in $time. Note that the
access time is always modified, regardless of the number of parameters.
If the file does not exist, it will be created.
PARAMETERS
o $filename
- The name of the file being touched.
o $time
- The touch time. If $time is not supplied, the current system time is used.
o $atime
- If present, the access time of the given filename is set to the value of $atime. Otherwise, it is set to the value passed to the
$time parameter. If neither are present, the current system time is used.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.3.0 | |
| | |
| | It became possible to change the modification |
| | time of a directory under Windows. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
touch(3) example
<?php
if (touch($filename)) {
echo $filename . ' modification time has been changed to present time';
} else {
echo 'Sorry, could not change modification time of ' . $filename;
}
?>
Example #2
touch(3) using the $time parameter
<?php
// This is the touch time, we'll set it to one hour in the past.
$time = time() - 3600;
// Touch the file
if (!touch('some_file.txt', $time)) {
echo 'Whoops, something went wrong...';
} else {
echo 'Touched file with success';
}
?>
NOTES
Note
Note that time resolution may differ from one file system to another.
Warning
Prior to PHP 5.3.0 it was not possible to change the modification time of a directory with this function under Windows.
PHP Documentation Group TOUCH(3)