Remaking the ls
command from scratch.
Made for school (42 school)
- List directory and file information
- options:
-L
,-r
,-a
,-R
,-t
,-u
,-f
,-g
&-d
- dynamic column sizing (through ENV or terminal)
- colorized output (through ENV or
-G
) - proper handling of ACL and extended attributes
- memory functions:
malloc
,free
- dir and file functions:
opendir
,closedir
,readdir
,stat
,lstat
,readlink
- permission functions:
getpwuid
,getgrgid
,listxattr
,acl_get_link_np
,acl_free
,acl_get_entry
- IO functions:
write
,isatty
,ioctl
(for terminal width) - error functions:
strerror
- device driver information
Run the following to compile, this requires build-essentials to be installed.
# dont have 9 cores? run it without `-j 9`
make -j 9
Then just run it with ./ft_ls
Report it in the issues tab of github
Do it yourself, I accept PR's
42
It's an MIT license, do whatever you want.