SYD-LS(1)
π SYD-LS(1) β like, the actual manual page, bestie π
okay so picture this: it's a General Commands Manual page, the utility is called syd-ls, and I'm about to explain the whole thing to you with zero gatekeeping. you're welcome. β¨
πΈ NAME πΈ
syd-ls β lists out all the unsafe directories, capabilities, system calls, environment variables, ioctl requests, personalities, and prctl options. it's giving "inventory era" and honestly? iconic. π
π¦ SYNOPSIS π¦
syd-ls [set]
that's it. one optional thing. we love a low-maintenance queen. π
β¨ DESCRIPTION β¨
so syd-ls prints the names of the system calls that belong to whatever set you hand it. the available sets are:
aiocpudeaddenyebpffutexhooknicenooppkeyptracesafesetidtimeuring
and then there's the special ones, each with their own main-character moment:
- if
setisdrop, thensyd-lsprints the list ofLinux capabilities(7)that get dropped at startup. bye bestie, you are not keeping those π - if
setisenv, thensyd-lsprints the list of unsafe environment variables. sus behavior, flagged. - if
setisioctl, thensyd-lsprints the list of allowed ioctl requests. - if
setisprctl, thensyd-lsprints the list of allowed prctl options. - if
setispersonality, thensyd-lsprints the list of allowed personalities. (not your personality, don't worry, yours slays π)
and if you give it no set at all? plot twist β syd-ls lists all files in the current working directory. no cap. in this mode, getdents64(2) is used directly, and the whole point is you use it to list files in untrusted directories with a huge number of files. file names are printed hex-encoded, delimited by newline β so grab syd-hex(1) to decode them. there's a whole demo in the EXAMPLES section, keep reading π«Ά
π₯ EXAMPLES π₯
this is the part where it gets good. look at this absolute flex:
[alip@caissa tmp]$ mkdir test; cd test
[alip@caissa test]$ for i in {1..10000000}; do :>$i; done
[alip@caissa test]$ df -i .
Filesystem Inodes IUsed IFree IUse% Mounted on
tmpfs 10048576 10000228 48348 100% /tmp
[alip@caissa test]$ syd-ls | head -n5 | syd-hex -dfs
.
..
10000000
9999999
9999998
[alip@caissa test]$ for ls in syd-ls gls 9ls 'busybox ls'; do
> sync
> sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
> echo "[*] $ls"
> time $ls >/dev/null
> done
[*] syd-ls
syd-ls: Listed 10000002 files in 2.882764582 seconds.
real 0m2.889s
user 0m0.883s
sys 0m1.995s
[*] gls
real 0m7.548s
user 0m5.724s
sys 0m1.803s
[*] 9ls
real 0m15.306s
user 0m2.523s
sys 0m12.743s
[*] busybox ls
real 0m18.011s
user 0m11.178s
sys 0m6.786s
[alip@caissa test]$ gls --version | head -n1
ls (GNU coreutils) 9.6
[alip@caissa test]$ pacman -Ss 9base | head -n1
extra/9base 6-9 [installed]
[alip@caissa test]$ busybox | head -n1
BusyBox v1.36.1 () multi-call binary.
did you SEE those numbers π syd-ls ate that benchmark up, 2.8 seconds vs. 18 for busybox. not me being obsessed with a directory lister. it's giving speedrun any%. β
π SEE ALSO π
syd homepage: https://sydbox.exherbo.org/ β go click it, i'll wait π¦
π AUTHORS π
maintained by Ali Polatel. up-to-date sources can be found at https://gitlab.exherbo.org/sydbox/sydbox.git and on Radicle at rad:z38HCnbmcDegA2BMxuPaPRPMdp6wF. bugs/patches can be submitted to https://gitlab.exherbo.org/groups/sydbox/-/issues. discuss in #sydbox on Libera Chat or in #sydbox:mailstation.de on Matrix. come hang out, the vibes are immaculate π«Ά
and that's the page!! version/date stamp for the girlies: 2026-09-01. periodt. π πβ¨
π¦ where this page comes from
- arch rolling: syd 3.59.0-1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms