Thomas Backman wrote: > FreeBSD 8.0-CURRENT r193521 (Jun 5), bash: > [root_at_chaos /usr/ports]# file / > /: directory > [root_at_chaos /usr/ports]# cat / > �g��=[root_at_chaos /usr/ports]# > [root_at_chaos /usr/ports]# cat /usr/ports/mail > � This is the traditional behaviour because yes, directories are just simply ordinary files with a special bit set to distinguish them. Other systems might have modified "cat" to check if directories are files but it's not standard. You can easily check this yourself. The following small program should work on every unix-ish system: #include <stdio.h> #include <stdlib.h> #include <sys/fcntl.h> int main() { int fd, i; char buf[512]; fd = open(".", O_RDONLY); read(fd, buf, 512); for (i = 0; i < 512; i++) printf("%4d ", buf[i]); }Received on Tue Jun 09 2009 - 07:03:38 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:49 UTC