Osicat is lightweight operating system interface for Common Lisp on POSIX-like systems, licensed under a MIT-style license.
Osicat uses UFFI for foreign bindings, so it is relatively portable, though most active development happens on SBCL and Debian GNU/Linux, so other platforms may experience wrinkles.
If you have asdf-install, just:
$ asdf-install osicat
Osicat can manually be downloaded from here: osicat_latest.tar.gz .
There is also anonymous CVS and ViewCVS .
Questions, feature requests, and bug-reports are welcome on osicat-devel@common-lisp.net.
* (with-directory-iterator (next "/")
(loop for entry = (next)
while entry
when (member 'group-write (file-permissions entry))
collect entry))
(#P"/home" #P"/vmlinuz" #P"/tmp" #P"/initrd.img" #P"/initrd.img.old")
* (file-permissions "/initrd.img")
(USER-READ USER-WRITE
USER-EXEC
GROUP-READ
GROUP-WRITE
GROUP-EXEC
OTHER-READ
OTHER-WRITE
OTHER-EXEC)
* (file-kind "/initrd.img")
:SYMBOLIC-LINK
* (read-link "/initrd.img")
#P"boot/initrd.img-2.4.20-3-686"
*