05-26-2007
POSIX defines what stat can report - for any UNIX that claims to be POSIX-compliant.
File creation time is nor there. Some file systems may support it. Or not.
This whole thing is a big problem going from UNIX to UNIX - special features one box has that another does not. POSIX is an attempt to create syscall interface definitions that will work on any box that claims compliance. So it becomes possible to port code, for example.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Does anyone know of a good Internet source that explains the directory structure of Unix/Linux??
Thanks
Gregg (2 Replies)
Discussion started by: gdboling
2 Replies
2. Filesystems, Disks and Memory
Hi everyone i have a question for all of you. It may be basic or it may be a good one. I recently aquired a copy of "SCO TCP/IP runtime System for SCO Unix" (thats what the disks say) and for the life of me i can not get it to load. i have tried opening the disk in linux and it can not determine... (0 Replies)
Discussion started by: Cerberus
0 Replies
3. Filesystems, Disks and Memory
the superblock has the offset for inode table.
My question is
1) whether it starts relative to the start of the first cylinder group
or is it relative to the start of filesystem???
2)and also which entry corresponds to the root(/) inode?? is it second or third entry???
My questions are... (4 Replies)
Discussion started by: anwerreyaz
4 Replies
4. UNIX for Dummies Questions & Answers
What are some benefits of the UNIX hierarchical file structure?
I am new to UNIX and researching some information about it for a class so please help if you can.
Thanks. (1 Reply)
Discussion started by: 88923JJJSDK
1 Replies
5. UNIX for Dummies Questions & Answers
I'm not sure where to post this but I'm having some trouble with the directories in CP/M... I'm sorry about the length but I'm totally confused... I've seen that the directory entry in CP/M contains the following:
1 byte User Code
8 bytes Filename
3 bytes File extension
1 byte Extension
2... (3 Replies)
Discussion started by: Legend986
3 Replies
6. SCO
Hi
I have some sco xenix object, bin and archive files that operate in sco unix 5.0.7.
I know that sco unix kernel can support sco xenix binary. I want to know how can I link xenix and unix archives together? (0 Replies)
Discussion started by: javad1_maroofi
0 Replies
7. UNIX for Dummies Questions & Answers
Hi everyone,
I am new here in www.unix.com, i found this site because I am looking for an answer to this problem of mine.
I need to know a UNIX command to display an inode's thread id and process id.
Hope someone can help me on this.
Thanks :D (8 Replies)
Discussion started by: rodkun
8 Replies
8. Programming
Hi
I am creating a utility which needs to create a log file under the path represented by an environment variable. The condition is that this path must be a valid DIRECTORY PATH. So i need to determine that the path is indeed a VALID DIRECTORY PATH.
I have written a function which will return... (2 Replies)
Discussion started by: skyineyes
2 Replies
9. Shell Programming and Scripting
How can I get only FileName associated with a INODE on Unix in seconds instead of minutes, as it is the case for me as shown below.
# Say I have FileDescriptor: 43, INODE: 2590784, File: abc.rdb. I want to get only filename associated with inode:2590784 and FD:43.
$> time find / -inum... (7 Replies)
Discussion started by: kchinnam
7 Replies
10. Shell Programming and Scripting
Hi All,
I have a compute box and I want to tar directory structure under a directory and then Deploy/untar it in a new compute box so that the directory structure will be exactly the same.
I do not want any of the file to be extracted and deployed but instead only the directory structure.
... (2 Replies)
Discussion started by: filter
2 Replies
LEARN ABOUT CENTOS
filetest
filetest(3pm) Perl Programmers Reference Guide filetest(3pm)
NAME
filetest - Perl pragma to control the filetest permission operators
SYNOPSIS
$can_perhaps_read = -r "file"; # use the mode bits
{
use filetest 'access'; # intuit harder
$can_really_read = -r "file";
}
$can_perhaps_read = -r "file"; # use the mode bits again
DESCRIPTION
This pragma tells the compiler to change the behaviour of the filetest permission operators, "-r" "-w" "-x" "-R" "-W" "-X" (see perlfunc).
The default behaviour of file test operators is to use the simple mode bits as returned by the stat() family of system calls. However,
many operating systems have additional features to define more complex access rights, for example ACLs (Access Control Lists). For such
environments, "use filetest" may help the permission operators to return results more consistent with other tools.
The "use filetest" or "no filetest" statements affect file tests defined in their block, up to the end of the closest enclosing block (they
are lexically block-scoped).
Currently, only the "access" sub-pragma is implemented. It enables (or disables) the use of access() when available, that is, on most UNIX
systems and other POSIX environments. See details below.
Consider this carefully
The stat() mode bits are probably right for most of the files and directories found on your system, because few people want to use the
additional features offered by access(). But you may encounter surprises if your program runs on a system that uses ACLs, since the stat()
information won't reflect the actual permissions.
There may be a slight performance decrease in the filetest operations when the filetest pragma is in effect, because checking bits is very
cheap.
Also, note that using the file tests for security purposes is a lost cause from the start: there is a window open for race conditions (who
is to say that the permissions will not change between the test and the real operation?). Therefore if you are serious about security,
just try the real operation and test for its success - think in terms of atomic operations. Filetests are more useful for filesystem
administrative tasks, when you have no need for the content of the elements on disk.
The "access" sub-pragma
UNIX and POSIX systems provide an abstract access() operating system call, which should be used to query the read, write, and execute
rights. This function hides various distinct approaches in additional operating system specific security features, like Access Control
Lists (ACLs)
The extended filetest functionality is used by Perl only when the argument of the operators is a filename, not when it is a filehandle.
Limitation with regard to "_"
Because access() does not invoke stat() (at least not in a way visible to Perl), the stat result cache "_" is not set. This means that the
outcome of the following two tests is different. The first has the stat bits of "/etc/passwd" in "_", and in the second case this still
contains the bits of "/etc".
{ -d '/etc';
-w '/etc/passwd';
print -f _ ? 'Yes' : 'No'; # Yes
}
{ use filetest 'access';
-d '/etc';
-w '/etc/passwd';
print -f _ ? 'Yes' : 'No'; # No
}
Of course, unless your OS does not implement access(), in which case the pragma is simply ignored. Best not to use "_" at all in a file
where the filetest pragma is active!
As a side effect, as "_" doesn't work, stacked filetest operators ("-f -w $file") won't work either.
This limitation might be removed in a future version of perl.
perl v5.16.3 2013-03-04 filetest(3pm)