05-07-2013
1) lots, but large dirs are slow to process, so nobody goes there. Think of a path name for a complex object, now in place of 30k of them in one dir, look for separations and put slashes in there, and voila, smaller directories.
2) limited only by path length. Welcome to recursion. Lots of JAVA guys go nuts under windows' 255 char limit. UNIX is usually 1024 but I believe you can compile a more generous number into your kernel.
Each directory is an inode, just like a file but marked for directory handling. Think of it as a big dumb list of entry name and inode #, nothing else. Things like pipes and devices are a lot more 'special'.
Lots of O/S have just directory and flat file. Soft and hard links are not always there. Devices live somewhere outside the file tree, and if you want pipe behavior, you have to program.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi ,
i'm trying to use "find "command with "-size "option but i encounter 2gb file limitation.
Can you confirm this limitation ?
Is there a simple way to do the same thing ?
My command is :
<clazz01g-notes01>/base/base01 # find /base/base01 -name '*.nsf' -size +5242880000c -exec ls... (2 Replies)
Discussion started by: Nicol
2 Replies
2. HP-UX
Hi All,
Can anyone please clarify me the following questions:
1. Is there any file size limitation in HP-UX 11i, that I can able to create upto certain size of file (say 2 GB) and not more then that????
2. At max. how many files we can able to keep inside a folder????
3. How many... (2 Replies)
Discussion started by: sundeep_mohanty
2 Replies
3. Shell Programming and Scripting
Hi,
Iam using an alias to get the file count from one directory using normal ls command like ls file*|wc -l.If my file increases more than 35,000 ,my alias is not working.It shows that arg list too long.
is that can be limitation of ls or problem in alias?
I would appreciate if anyone can... (2 Replies)
Discussion started by: cskumar
2 Replies
4. Shell Programming and Scripting
Hi,
I'm having a problem with a while loop syntax that doesn't seem to loop correctly.
TODAY=`date +%d%m%Y`
while read hostname
#for hostname in $(cat $CONFIG)
do
OUTFILE=/tmp/health_check.$hostname.$TODAY
if
then
touch $OUTFILE
func_header
else
rm $OUTFILE
... (2 Replies)
Discussion started by: gilberteu
2 Replies
5. AIX
Hi,
I search the way to limit, for a group on a AIX 5.3, one telnet session by user (Simultaneous).
I search a lot in /etc/security but the only way found is with the pam authentication that i not use.
No solution found also in smit menu...
Thanks for your help. (2 Replies)
Discussion started by: feilong
2 Replies
6. Shell Programming and Scripting
Hello,
I have a problem running a script created in ksh for Linux (Tested on Debian 5.0, Ubuntu Server 10.04 and RHEL 5.1), it works properly. :b:
I trying to pass it to a AIX 5.3. :wall:
The problem is the character limit of 256 on a command system and SED.
I need to cut the contents of... (8 Replies)
Discussion started by: nemesis.spa
8 Replies
7. AIX
Hello.
I am using AIX 6 and If wish to receive more than 500 files via SFTP, I get some time out errors. Could you please advise where is the limit for number of concurrent transfers setup in AIX Box or what is the limit and can that be changed?
Many Thanks (3 Replies)
Discussion started by: panchpan
3 Replies
8. Shell Programming and Scripting
Hi all,
does any one know ,if there is any limitation on rm command
limitation referes here as a size .
Ex:when my script try to rum rm command which have size of nearly 20-22 GB ..CPU load gets high ?
if anyone know the relation of CPU load and limitation of rm command . (8 Replies)
Discussion started by: niteshagrawal06
8 Replies
9. UNIX for Dummies Questions & Answers
whats wrong with this addition?
Whats the maximum number of digits can be handled?
pandeeswaran@ubuntu:~/Downloads$ const=201234454654768979799999
pandeeswaran@ubuntu:~/Downloads$ let new+=const
pandeeswaran@ubuntu:~/Downloads$ echo $new
-2152890657037557890
pandeeswaran@ubuntu:~/Downloads$ (4 Replies)
Discussion started by: pandeesh
4 Replies
10. AIX
Hi Guys,
I have fresh new installed VIO 2.2.3.70 on a p710, 3 physical SAS disks, rootvg on hdisk0
and 3 VIO clients through vscsi, AIX7.1tl4 AIX6.1tl9 RHEL6.5ppc, each lpar has its rootvg installed on a LV on datavg (hdisk2) mapped to vhost0,1,2
There is no vg on hdisk1, I use it for my... (1 Reply)
Discussion started by: frenchy59
1 Replies
LEARN ABOUT FREEBSD
unlinkat
UNLINK(2) BSD System Calls Manual UNLINK(2)
NAME
unlink, unlinkat -- remove directory entry
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
unlink(const char *path);
int
unlinkat(int fd, const char *path, int flag);
DESCRIPTION
The unlink() system call removes the link named by path from its directory and decrements the link count of the file which was referenced by
the link. If that decrement reduces the link count of the file to zero, and no process has the file open, then all resources associated with
the file are reclaimed. If one or more process have the file open when the last link is removed, the link is removed, but the removal of the
file is delayed until all references to it have been closed. The path argument may not be a directory.
The unlinkat() system call is equivalent to unlink() or rmdir() except in the case where path specifies a relative path. In this case the
directory entry to be removed is determined relative to the directory associated with the file descriptor fd instead of the current working
directory.
The values for flag are constructed by a bitwise-inclusive OR of flags from the following list, defined in <fcntl.h>:
AT_REMOVEDIR
Remove the directory entry specified by fd and path as a directory, not a normal file.
If unlinkat() is passed the special value AT_FDCWD in the fd parameter, the current working directory is used and the behavior is identical
to a call to unlink or rmdir respectively, depending on whether or not the AT_REMOVEDIR bit is set in flag.
RETURN VALUES
The unlink() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate
the error.
ERRORS
The unlink() succeeds unless:
[ENOTDIR] A component of the path prefix is not a directory.
[EISDIR] The named file is a directory.
[ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.
[ENOENT] The named file does not exist.
[EACCES] Search permission is denied for a component of the path prefix.
[EACCES] Write permission is denied on the directory containing the link to be removed.
[ELOOP] Too many symbolic links were encountered in translating the pathname.
[EPERM] The named file is a directory.
[EPERM] The named file has its immutable, undeletable or append-only flag set, see the chflags(2) manual page for more informa-
tion.
[EPERM] The parent directory of the named file has its immutable or append-only flag set.
[EPERM] The directory containing the file is marked sticky, and neither the containing directory nor the file to be removed are
owned by the effective user ID.
[EIO] An I/O error occurred while deleting the directory entry or deallocating the inode.
[EROFS] The named file resides on a read-only file system.
[EFAULT] The path argument points outside the process's allocated address space.
In addition to the errors returned by the unlink(), the unlinkat() may fail if:
[EBADF] The path argument does not specify an absolute path and the fd argument is neither AT_FDCWD nor a valid file descriptor
open for searching.
[ENOTEMPTY] The flag parameter has the AT_REMOVEDIR bit set and the path argument names a directory that is not an empty directory, or
there are hard links to the directory other than dot or a single entry in dot-dot.
[ENOTDIR] The flag parameter has the AT_REMOVEDIR bit set and path does not name a directory.
[EINVAL] The value of the flag argument is not valid.
[ENOTDIR] The path argument is not an absolute path and fd is neither AT_FDCWD nor a file descriptor associated with a directory.
SEE ALSO
chflags(2), close(2), link(2), rmdir(2), symlink(7)
STANDARDS
The unlinkat() system call follows The Open Group Extended API Set 2 specification.
HISTORY
The unlink() function appeared in Version 6 AT&T UNIX. The unlinkat() system call appeared in FreeBSD 8.0.
The unlink() system call traditionally allows the super-user to unlink directories which can damage the file system integrity. This imple-
mentation no longer permits it.
BSD
April 25, 2010 BSD