Linux srv.fwservers.com 4.18.0-477.21.1.el8_8.x86_64 #1 SMP Thu Aug 10 13:51:50 EDT 2023 x86_64
Apache
Server IP : 199.127.63.82 & Your IP : 216.73.217.89
Domains : 56 Domain
User : aconstruction
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
2to3
106
B
-rwxr-xr-x
2026-08-18 15:09
2to3-3.6
106
B
-rwxr-xr-x
2026-08-18 15:09
GET
15.84
KB
-rwxr-xr-x
2022-04-22 20:13
HEAD
15.84
KB
-rwxr-xr-x
2022-04-22 20:13
Mail
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
POST
15.84
KB
-rwxr-xr-x
2022-04-22 20:13
[
53.6
KB
-rwxr-xr-x
2026-07-28 19:49
a2x
36.15
KB
-rwxr-xr-x
2019-11-27 15:09
a2x.py
36.15
KB
-rwxr-xr-x
2019-11-27 15:09
ab
72.63
KB
-rwxr-xr-x
2026-08-11 22:33
ac
33.07
KB
-rwxr-xr-x
2019-10-21 16:09
aclocal
35.62
KB
-rwxr-xr-x
2023-10-14 20:00
aclocal-1.16
35.62
KB
-rwxr-xr-x
2023-10-14 20:00
acyclic
12.41
KB
-rwxr-xr-x
2024-04-06 12:47
addr2line
33.42
KB
-rwxr-xr-x
2025-12-18 14:21
agentxtrap
24.54
KB
-rwxr-xr-x
2026-01-19 08:19
alias
29
B
-rwxr-xr-x
2025-08-26 08:48
alt-java
11.74
KB
-rwxr-xr-x
2026-08-20 15:05
alt-mysql-reconfigure
35.68
KB
-rwxr-xr-x
2026-08-17 08:48
alt-php-mysql-reconfigure
35.68
KB
-rwxr-xr-x
2026-08-17 08:48
alt-php-mysql-reconfigure.py
35.68
KB
-rwxr-xr-x
2026-08-17 08:48
animate
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
appstream-compose
33.21
KB
-rwxr-xr-x
2019-11-13 14:06
appstream-util
114.34
KB
-rwxr-xr-x
2019-11-13 14:06
apropos
54.04
KB
-rwxr-xr-x
2021-10-08 13:04
apxs
19.35
KB
-rwxr-xr-x
2026-08-11 22:29
ar
61.96
KB
-rwxr-xr-x
2025-12-18 14:21
arch
37.34
KB
-rwxr-xr-x
2026-07-28 19:49
arpaname
11.82
KB
-rwxr-xr-x
2026-08-13 18:53
as
889.91
KB
-rwxr-xr-x
2025-12-18 14:21
asciidoc
244.06
KB
-rwxr-xr-x
2019-11-27 15:09
asciidoc.py
244.06
KB
-rwxr-xr-x
2019-11-27 15:09
aspell
159.5
KB
-rwxr-xr-x
2022-04-18 15:10
at
57.33
KB
-rwsr-xr-x
2022-10-10 10:23
atq
57.33
KB
-rwsr-xr-x
2022-10-10 10:23
atrm
57.33
KB
-rwsr-xr-x
2022-10-10 10:23
attr
12.27
KB
-rwxr-xr-x
2026-08-18 13:09
audit2allow
14.85
KB
-rwxr-xr-x
2024-07-02 21:08
audit2why
14.85
KB
-rwxr-xr-x
2024-07-02 21:08
aulast
20.58
KB
-rwxr-xr-x
2025-07-15 09:41
aulastlog
12.44
KB
-rwxr-xr-x
2025-07-15 09:41
ausyscall
12.27
KB
-rwxr-xr-x
2025-07-15 09:41
authselect
41.13
KB
-rwxr-xr-x
2023-10-14 18:06
authvar
102.89
KB
-rwxr-xr-x
2023-04-04 13:57
autoconf
14.42
KB
-rwxr-xr-x
2024-08-13 19:30
autoheader
8.33
KB
-rwxr-xr-x
2024-08-13 19:30
autom4te
31.43
KB
-rwxr-xr-x
2024-08-13 19:30
automake
251.9
KB
-rwxr-xr-x
2023-10-14 20:00
automake-1.16
251.9
KB
-rwxr-xr-x
2023-10-14 20:00
autopoint
25.95
KB
-rwxr-xr-x
2019-11-18 17:16
autoreconf
20.57
KB
-rwxr-xr-x
2024-08-13 19:30
autoscan
16.72
KB
-rwxr-xr-x
2024-08-13 19:30
autoupdate
33.08
KB
-rwxr-xr-x
2024-08-13 19:30
auvirt
32.73
KB
-rwxr-xr-x
2025-07-15 09:41
awk
669.77
KB
-rwxr-xr-x
2022-04-18 15:56
b2sum
57.69
KB
-rwxr-xr-x
2026-07-28 19:49
base32
41.47
KB
-rwxr-xr-x
2026-07-28 19:49
base64
41.48
KB
-rwxr-xr-x
2026-07-28 19:49
basename
37.41
KB
-rwxr-xr-x
2026-07-28 19:49
bash
1.1
MB
-rwxr-xr-x
2025-08-26 08:48
bashbug
7.18
KB
-rwxr-xr-x
2025-08-26 08:48
bashbug-64
7.18
KB
-rwxr-xr-x
2025-08-26 08:48
batch
137
B
-rwxr-xr-x
2022-10-10 10:23
bc
94.98
KB
-rwxr-xr-x
2019-10-12 12:34
bcomps
20.62
KB
-rwxr-xr-x
2024-04-06 12:47
bdftopcf
45.4
KB
-rwxr-xr-x
2021-10-09 23:42
bg
26
B
-rwxr-xr-x
2025-08-26 08:48
bind9-config
3.34
KB
-rwxr-xr-x
2026-08-13 18:53
bison
437.72
KB
-rwxr-xr-x
2019-10-12 12:28
blkiomon
25.7
KB
-rwxr-xr-x
2024-09-24 08:24
blkparse
51.39
KB
-rwxr-xr-x
2024-09-24 08:24
blkrawverify
16.4
KB
-rwxr-xr-x
2024-09-24 08:24
blktrace
43.07
KB
-rwxr-xr-x
2024-09-24 08:24
bno_plot.py
3.47
KB
-rwxr-xr-x
2024-09-24 08:24
bond2team
22.74
KB
-rwxr-xr-x
2020-07-26 09:58
bootctl
45.15
KB
-rwxr-xr-x
2026-06-16 17:17
brotli
739.2
KB
-rwxr-xr-x
2026-02-10 14:44
btrace
891
B
-rwxr-xr-x
2024-09-24 08:24
btrecord
17.39
KB
-rwxr-xr-x
2024-09-24 08:24
btreplay
29.72
KB
-rwxr-xr-x
2024-09-24 08:24
btt
80.84
KB
-rwxr-xr-x
2024-09-24 08:24
bunzip2
36.86
KB
-rwxr-xr-x
2025-01-28 01:38
busctl
77.27
KB
-rwxr-xr-x
2026-06-16 17:17
byacc
108.48
KB
-rwxr-xr-x
2019-10-14 19:26
bzcat
36.86
KB
-rwxr-xr-x
2025-01-28 01:38
bzcmp
2.08
KB
-rwxr-xr-x
2025-01-28 01:38
bzdiff
2.08
KB
-rwxr-xr-x
2025-01-28 01:38
bzegrep
1.64
KB
-rwxr-xr-x
2025-01-28 01:38
bzfgrep
1.64
KB
-rwxr-xr-x
2025-01-28 01:38
bzgrep
1.64
KB
-rwxr-xr-x
2025-01-28 01:38
bzip2
36.86
KB
-rwxr-xr-x
2025-01-28 01:38
bzip2recover
16.44
KB
-rwxr-xr-x
2025-01-28 01:38
bzless
1.23
KB
-rwxr-xr-x
2025-01-28 01:38
bzmore
1.23
KB
-rwxr-xr-x
2025-01-28 01:38
c++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
c++filt
28.89
KB
-rwxr-xr-x
2025-12-18 14:21
c89
224
B
-rwxr-xr-x
2025-08-26 09:45
c99
215
B
-rwxr-xr-x
2025-08-26 09:45
ca-legacy
1.61
KB
-rwxr-xr-x
2025-10-30 14:25
cairo-sphinx
69.71
KB
-rwxr-xr-x
2022-04-18 16:06
cal
65.98
KB
-rwxr-xr-x
2026-02-04 20:18
callgrind_annotate
43.62
KB
-rwxr-xr-x
2026-06-16 16:35
callgrind_control
12.72
KB
-rwxr-xr-x
2026-06-16 16:35
captoinfo
85.31
KB
-rwxr-xr-x
2023-10-14 18:54
cat
37.46
KB
-rwxr-xr-x
2026-07-28 19:49
catchsegv
3.21
KB
-rwxr-xr-x
2026-07-21 14:46
catman
41.45
KB
-rwxr-xr-x
2021-10-08 13:04
cc
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
ccomps
24.72
KB
-rwxr-xr-x
2024-04-06 12:47
cd
26
B
-rwxr-xr-x
2025-08-26 08:48
centrino-decode
11.27
KB
-rwxr-xr-x
2026-08-26 07:56
certutil
199.15
KB
-rwxr-xr-x
2026-04-14 17:44
cg_annotate
42.56
KB
-rwxr-xr-x
2026-06-16 16:35
cg_diff
11.36
KB
-rwxr-xr-x
2026-06-16 16:35
cg_merge
10.26
KB
-rwxr-xr-x
2026-06-16 16:35
chacl
16.38
KB
-rwxr-xr-x
2026-07-22 11:05
chage
77.68
KB
-rwsr-xr-x
2025-12-18 13:51
chardetect
400
B
-rwxr-xr-x
2019-10-12 19:18
chattr
16.41
KB
-rwxr-xr-x
2025-10-07 07:08
chcat
13.57
KB
-rwxr-xr-x
2024-07-02 21:08
chcon
70.34
KB
-rwxr-xr-x
2026-07-28 19:49
check-regexp
109.59
KB
-rwxr-xr-x
2024-08-13 19:55
checkmodule
427.01
KB
-rwxr-xr-x
2019-12-10 17:48
checkpolicy
488.64
KB
-rwxr-xr-x
2019-12-10 17:48
checksctp
9.01
KB
-rwxr-xr-x
2019-12-05 11:44
chfn
32.9
KB
-rws--x--x
2026-02-04 20:18
chgrp
66.27
KB
-rwxr-xr-x
2026-07-28 19:49
chmem
45.47
KB
-rwxr-xr-x
2026-02-04 20:18
chmod
62.2
KB
-rwxr-xr-x
2026-07-28 19:49
chown
70.29
KB
-rwxr-xr-x
2026-07-28 19:49
chronyc
127.6
KB
-rwxr-xr-x
2024-11-05 07:47
chrt
37.19
KB
-rwxr-xr-x
2026-02-04 20:18
chsh
24.72
KB
-rwx--x--x
2026-02-04 20:18
chvt
12.53
KB
-rwxr-xr-x
2023-10-14 21:01
cifsiostat
41.35
KB
-rwxr-xr-x
2024-07-03 09:57
circo
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
cksum
37.39
KB
-rwxr-xr-x
2026-07-28 19:49
cl-linksafe-apply-group
554
B
-rwxr-xr-x
2022-08-30 11:44
cl-linksafe-reconfigure
4.83
KB
-rwxr-xr-x
2022-08-30 11:44
claude
11.15
MB
-rwxr-xr-x
2026-01-29 08:53
clear
12.54
KB
-rwxr-xr-x
2023-10-14 18:54
cluster
518.33
KB
-rwxr-xr-x
2024-04-06 12:47
cmp
103.76
KB
-rwxr-xr-x
2020-05-04 15:15
cmsutil
122.46
KB
-rwxr-xr-x
2026-04-14 17:44
cockpit-bridge
500.39
KB
-rwxr-xr-x
2026-05-28 14:05
col
29.01
KB
-rwxr-xr-x
2026-02-04 20:18
colcrt
16.48
KB
-rwxr-xr-x
2026-02-04 20:18
colrm
24.88
KB
-rwxr-xr-x
2026-02-04 20:18
column
49.47
KB
-rwxr-xr-x
2026-02-04 20:18
combinediff
55.44
KB
-rwxr-xr-x
2019-10-16 17:20
comm
41.56
KB
-rwxr-xr-x
2026-07-28 19:49
command
31
B
-rwxr-xr-x
2025-08-26 08:48
compare
11.85
KB
-rwxr-xr-x
2026-07-22 08:42
compile_et
1.31
KB
-rwxr-xr-x
2025-10-07 07:07
composite
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
config_data
6.97
KB
-rwxr-xr-x
2019-10-13 10:59
conjure
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
convert
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
coredumpctl
44.91
KB
-rwxr-xr-x
2026-06-16 17:17
corelist
14.64
KB
-rwxr-xr-x
2019-10-13 11:00
corepack
81
B
-rwxr-xr-x
2023-06-20 17:20
cp
147.98
KB
-rwxr-xr-x
2026-07-28 19:49
cpan
8.17
KB
-rwxr-xr-x
2025-06-03 14:32
cpan-mirrors
4.19
KB
-rwxr-xr-x
2025-06-03 14:32
cpapi1
3.33
MB
-rwxr-xr-x
2026-08-18 11:03
cpapi2
3.33
MB
-rwxr-xr-x
2026-08-18 11:03
cpapi3
3.33
MB
-rwxr-xr-x
2026-08-18 11:03
cpio
159.8
KB
-rwxr-xr-x
2022-04-18 17:19
cpp
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
cpp2html
47
B
-rwxr-xr-x
2024-08-13 19:55
cpupower
66.91
KB
-rwxr-xr-x
2026-08-26 07:52
crb
2.58
KB
-rwxr--r--
2025-04-22 17:22
crc32
1.02
KB
-rwxr-xr-x
2019-11-12 18:41
crlutil
134.95
KB
-rwxr-xr-x
2026-04-14 17:44
cronnext
49.8
KB
-rwxr-xr-x
2024-04-06 11:40
crontab
61.67
KB
-rwsr-xr-x
2024-04-06 11:40
csplit
53.68
KB
-rwxr-xr-x
2026-07-28 19:49
csslint-0.6
24.56
KB
-rwxr-xr-x
2020-09-22 21:07
ctags
272.94
KB
-rwxr-xr-x
2023-04-02 03:50
curl
230.08
KB
-rwxr-xr-x
2026-08-20 14:33
cut
49.52
KB
-rwxr-xr-x
2026-07-28 19:49
cvtsudoers
284.21
KB
-rwxr-xr-x
2026-04-29 08:49
cxpm
29.11
KB
-rwxr-xr-x
2024-03-30 13:53
date
105.95
KB
-rwxr-xr-x
2026-07-28 19:49
db_archive
12.45
KB
-rwxr-xr-x
2021-09-21 16:38
db_checkpoint
16.48
KB
-rwxr-xr-x
2021-09-21 16:38
db_deadlock
16.48
KB
-rwxr-xr-x
2021-09-21 16:38
db_dump
16.51
KB
-rwxr-xr-x
2021-09-21 16:38
db_dump185
69.55
KB
-rwxr-xr-x
2021-09-21 16:38
db_hotbackup
20.49
KB
-rwxr-xr-x
2021-09-21 16:38
db_load
28.61
KB
-rwxr-xr-x
2021-09-21 16:38
db_log_verify
16.52
KB
-rwxr-xr-x
2021-09-21 16:38
db_printlog
33.4
KB
-rwxr-xr-x
2021-09-21 16:38
db_recover
16.51
KB
-rwxr-xr-x
2021-09-21 16:38
db_replicate
16.49
KB
-rwxr-xr-x
2021-09-21 16:38
db_stat
16.48
KB
-rwxr-xr-x
2021-09-21 16:38
db_tuner
24.55
KB
-rwxr-xr-x
2021-09-21 16:38
db_upgrade
12.45
KB
-rwxr-xr-x
2021-09-21 16:38
db_verify
16.46
KB
-rwxr-xr-x
2021-09-21 16:38
dbus-binding-tool
110.43
KB
-rwxr-xr-x
2019-10-25 12:53
dbus-cleanup-sockets
16.39
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-daemon
239.7
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-monitor
28.58
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-run-session
15.88
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-send
28.54
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-test-tool
24.6
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-update-activation-environment
16.41
KB
-rwxr-xr-x
2026-05-05 11:24
dbus-uuidgen
12.38
KB
-rwxr-xr-x
2026-05-05 11:24
dc
53.02
KB
-rwxr-xr-x
2019-10-12 12:34
dd
77.97
KB
-rwxr-xr-x
2026-07-28 19:49
deallocvt
12.54
KB
-rwxr-xr-x
2023-10-14 21:01
debuginfo-install
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
debuginfod-find
16.47
KB
-rwxr-xr-x
2025-08-25 12:56
dehtmldiff
1.32
KB
-rwxr-xr-x
2019-10-16 17:20
delv
42.46
KB
-rwxr-xr-x
2026-08-13 18:53
df
91.09
KB
-rwxr-xr-x
2026-07-28 19:49
diff
268.01
KB
-rwxr-xr-x
2020-05-04 15:15
diff3
128.6
KB
-rwxr-xr-x
2020-05-04 15:15
diffimg
12.27
KB
-rwxr-xr-x
2024-04-06 12:47
diffstat
45.54
KB
-rwxr-xr-x
2019-10-13 08:21
dig
162.17
KB
-rwxr-xr-x
2026-08-13 18:53
dijkstra
16.71
KB
-rwxr-xr-x
2024-04-06 12:47
dir
139.89
KB
-rwxr-xr-x
2026-07-28 19:49
dircolors
49.55
KB
-rwxr-xr-x
2026-07-28 19:49
dirmngr
579.89
KB
-rwxr-xr-x
2026-01-16 01:48
dirmngr-client
120.12
KB
-rwxr-xr-x
2026-01-16 01:48
dirname
33.36
KB
-rwxr-xr-x
2026-07-28 19:49
display
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
distro
389
B
-rwxr-xr-x
2023-12-18 11:16
dltest
11.87
KB
-rwxr-xr-x
2025-12-18 13:02
dmesg
77.88
KB
-rwxr-xr-x
2026-02-04 20:18
dnf
2.05
KB
-rwxr-xr-x
2025-03-11 09:47
dnf-3
2.05
KB
-rwxr-xr-x
2025-03-11 09:47
dnsdomainname
21.16
KB
-rwxr-xr-x
2019-10-11 13:06
dnstap-read
20.43
KB
-rwxr-xr-x
2026-08-13 18:53
domainname
21.16
KB
-rwxr-xr-x
2019-10-11 13:06
dos2unix
58.54
KB
-rwxr-xr-x
2019-10-12 00:46
dot
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
dot2gxl
41.3
KB
-rwxr-xr-x
2024-04-06 12:47
dotty
2.04
KB
-rwxr-xr-x
2024-04-06 12:47
doveadm
950.69
KB
-rwxr-xr-x
2026-07-15 21:51
doveconf
388.52
KB
-rwxr-xr-x
2026-07-15 21:51
dovecot-sysreport
6.28
KB
-rwxr-xr-x
2026-07-15 21:49
dpkg
316.17
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-deb
165.5
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-divert
157.75
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-maintscript-helper
20.67
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-query
165.84
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-realpath
4.05
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-split
132.39
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-statoverride
66.41
KB
-rwxr-xr-x
2021-12-15 12:46
dpkg-trigger
87.66
KB
-rwxr-xr-x
2021-12-15 12:46
dracut
67.56
KB
-rwxr-xr-x
2026-08-14 00:13
dtrace
17.39
KB
-rwxr-xr-x
2023-10-14 13:06
du
107
KB
-rwxr-xr-x
2026-07-28 19:49
dumpkeys
169.88
KB
-rwxr-xr-x
2023-10-14 21:01
dumpsexp
16.44
KB
-rwxr-xr-x
2026-07-29 02:15
dwp
2.13
MB
-rwxr-xr-x
2025-12-18 14:21
dwz
167.64
KB
-rwxr-xr-x
2021-10-09 03:26
ea-php72
5.49
MB
-rwxr-xr-x
2026-08-11 23:17
ea-php72-pear
383
B
-rwxr-xr-x
2026-08-11 23:32
ea-php72-pecl
299
B
-rwxr-xr-x
2026-08-11 23:32
ea-php74
6.09
MB
-rwxr-xr-x
2026-08-11 23:27
ea-php74-pear
383
B
-rwxr-xr-x
2026-08-11 23:40
ea-php74-pecl
299
B
-rwxr-xr-x
2026-08-11 23:40
ea-php80
7.61
MB
-rwxr-xr-x
2026-08-04 22:55
ea-php80-pear
383
B
-rwxr-xr-x
2026-08-04 23:05
ea-php80-pecl
299
B
-rwxr-xr-x
2026-08-04 23:05
ea-php81
7.72
MB
-rwxr-xr-x
2026-08-04 22:52
ea-php81-pear
383
B
-rwxr-xr-x
2026-08-04 23:00
ea-php81-pecl
299
B
-rwxr-xr-x
2026-08-04 23:00
ea-php82
7.77
MB
-rwxr-xr-x
2026-08-04 22:55
ea-php82-pear
383
B
-rwxr-xr-x
2026-08-04 23:07
ea-php82-pecl
299
B
-rwxr-xr-x
2026-08-04 23:07
ea-wappspector
100
B
-rwxr-xr-x
2026-05-18 19:25
easy_install-2
234
B
-rwxr-xr-x
2024-04-10 05:04
easy_install-2.7
234
B
-rwxr-xr-x
2024-04-10 05:04
easy_install-3
246
B
-rwxr-xr-x
2025-07-15 09:13
easy_install-3.6
246
B
-rwxr-xr-x
2025-07-15 09:13
echo
37.35
KB
-rwxr-xr-x
2026-07-28 19:49
ed
57.28
KB
-rwxr-xr-x
2019-10-11 13:05
edgepaint
420.79
KB
-rwxr-xr-x
2024-04-06 12:47
editdiff
2
KB
-rwxr-xr-x
2019-10-16 17:20
efikeygen
102.81
KB
-rwxr-xr-x
2023-04-04 13:57
efisiglist
98.8
KB
-rwxr-xr-x
2023-04-04 13:57
egrep
28
B
-rwxr-xr-x
2019-10-11 15:15
eject
57.78
KB
-rwxr-xr-x
2026-02-04 20:18
elfedit
33.28
KB
-rwxr-xr-x
2025-12-18 14:21
enc2xs
40.97
KB
-rwxr-xr-x
2019-10-13 08:46
encguess
2.91
KB
-rwxr-xr-x
2019-10-13 08:46
enchant
21.08
KB
-rwxr-xr-x
2019-10-23 20:03
enchant-2
20.25
KB
-rwxr-xr-x
2021-04-08 10:42
enchant-lsmod
13.09
KB
-rwxr-xr-x
2019-10-23 20:03
enchant-lsmod-2
12.35
KB
-rwxr-xr-x
2021-04-08 10:42
env
41.36
KB
-rwxr-xr-x
2026-07-28 19:49
envml
4.1
KB
-rwxr-xr-x
2023-10-14 18:46
envsubst
48.99
KB
-rwxr-xr-x
2019-11-18 17:17
eps2eps
639
B
-rwxr-xr-x
2025-06-03 02:48
eqn
232.16
KB
-rwxr-xr-x
2019-10-13 14:29
espdiff
1.53
KB
-rwxr-xr-x
2019-10-16 17:20
eu-addr2line
28.48
KB
-rwxr-xr-x
2025-08-25 12:56
eu-ar
40.9
KB
-rwxr-xr-x
2025-08-25 12:56
eu-elfclassify
26.41
KB
-rwxr-xr-x
2025-08-25 12:56
eu-elfcmp
348.74
KB
-rwxr-xr-x
2025-08-25 12:56
eu-elfcompress
32.95
KB
-rwxr-xr-x
2025-08-25 12:56
eu-elflint
429.24
KB
-rwxr-xr-x
2025-08-25 12:56
eu-findtextrel
20.68
KB
-rwxr-xr-x
2025-08-25 12:56
eu-make-debug-archive
2.84
KB
-rwxr-xr-x
2025-08-25 12:56
eu-nm
361.16
KB
-rwxr-xr-x
2025-08-25 12:56
eu-objdump
349.01
KB
-rwxr-xr-x
2025-08-25 12:56
eu-ranlib
24.63
KB
-rwxr-xr-x
2025-08-25 12:56
eu-readelf
574.11
KB
-rwxr-xr-x
2025-08-25 12:56
eu-size
20.51
KB
-rwxr-xr-x
2025-08-25 12:56
eu-srcfiles
25.08
KB
-rwxr-xr-x
2025-08-25 12:56
eu-stack
29.41
KB
-rwxr-xr-x
2025-08-25 12:56
eu-strings
24.58
KB
-rwxr-xr-x
2025-08-25 12:56
eu-strip
369.05
KB
-rwxr-xr-x
2025-08-25 12:56
eu-unstrip
52.91
KB
-rwxr-xr-x
2025-08-25 12:56
event_rpcgen.py
54.26
KB
-rwxr-xr-x
2019-10-12 00:29
evmctl
62.54
KB
-rwxr-xr-x
2021-04-08 15:44
ex
1.13
MB
-rwxr-xr-x
2026-07-30 12:18
expand
41.59
KB
-rwxr-xr-x
2026-07-28 19:49
expr
49.56
KB
-rwxr-xr-x
2026-07-28 19:49
factor
85.97
KB
-rwxr-xr-x
2026-07-28 19:49
fallocate
28.96
KB
-rwxr-xr-x
2026-02-04 20:18
false
33.32
KB
-rwxr-xr-x
2026-07-28 19:49
fc
26
B
-rwxr-xr-x
2025-08-26 08:48
fc-cache
132
B
-rwxr-xr-x
2021-08-16 11:04
fc-cache-64
20.35
KB
-rwxr-xr-x
2021-10-09 09:02
fc-cat
16.35
KB
-rwxr-xr-x
2021-10-09 09:02
fc-conflist
12.25
KB
-rwxr-xr-x
2021-10-09 09:02
fc-list
12.25
KB
-rwxr-xr-x
2021-10-09 09:02
fc-match
16.26
KB
-rwxr-xr-x
2021-10-09 09:02
fc-pattern
12.26
KB
-rwxr-xr-x
2021-10-09 09:02
fc-query
12.24
KB
-rwxr-xr-x
2021-10-09 09:02
fc-scan
12.26
KB
-rwxr-xr-x
2021-10-09 09:02
fc-validate
16.26
KB
-rwxr-xr-x
2021-10-09 09:02
fdp
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
fg
26
B
-rwxr-xr-x
2025-08-26 08:48
fgconsole
12.55
KB
-rwxr-xr-x
2023-10-14 21:01
fgrep
28
B
-rwxr-xr-x
2019-10-11 15:15
filan
94.72
KB
-rwxr-xr-x
2025-07-15 09:33
file
24.69
KB
-rwxr-xr-x
2025-10-07 06:30
filterdiff
51.95
KB
-rwxr-xr-x
2019-10-16 17:20
fincore
33.04
KB
-rwxr-xr-x
2026-02-04 20:18
find
223.27
KB
-rwxr-xr-x
2025-12-18 14:57
find-repos-of-install
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
findmnt
70.61
KB
-rwxr-xr-x
2026-02-04 20:18
fips-finish-install
1.29
KB
-rwxr-xr-x
2023-08-01 15:18
fips-mode-setup
3.91
KB
-rwxr-xr-x
2023-08-01 15:18
firewall-cmd
139.6
KB
-rwxr-xr-x
2026-08-18 13:10
firewall-offline-cmd
120.73
KB
-rwxr-xr-x
2026-08-18 13:10
fixcvsdiff
1.83
KB
-rwxr-xr-x
2019-10-16 17:20
flex
428.45
KB
-rwxr-xr-x
2019-10-12 12:33
flex++
428.45
KB
-rwxr-xr-x
2019-10-12 12:33
flipdiff
55.44
KB
-rwxr-xr-x
2019-10-16 17:20
flock
33.2
KB
-rwxr-xr-x
2026-02-04 20:18
fmt
45.49
KB
-rwxr-xr-x
2026-07-28 19:49
fold
41.42
KB
-rwxr-xr-x
2026-07-28 19:49
fonttosfnt
41.18
KB
-rwxr-xr-x
2021-10-09 23:42
free
20.79
KB
-rwxr-xr-x
2023-10-14 20:31
freetype-config
4.31
KB
-rwxr-xr-x
2025-03-31 19:37
fribidi
21.14
KB
-rwxr-xr-x
2022-10-08 11:16
ftp
101.2
KB
-rwxr-xr-x
2019-10-12 12:59
funzip
36.63
KB
-rwxr-xr-x
2025-06-03 02:10
g++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
g13
211.98
KB
-rwxr-xr-x
2026-01-16 01:48
gapplication
20.45
KB
-rwxr-xr-x
2026-09-01 08:11
gawk
669.77
KB
-rwxr-xr-x
2022-04-18 15:56
gc
16.64
KB
-rwxr-xr-x
2024-04-06 12:47
gcc
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
gcc-ar
36.66
KB
-rwxr-xr-x
2025-08-26 09:47
gcc-nm
36.66
KB
-rwxr-xr-x
2025-08-26 09:47
gcc-ranlib
36.66
KB
-rwxr-xr-x
2025-08-26 09:47
gcore
3.35
KB
-rwxr-xr-x
2023-10-11 19:09
gcov
1.31
MB
-rwxr-xr-x
2025-08-26 09:47
gcov-dump
570.96
KB
-rwxr-xr-x
2025-08-26 09:47
gcov-tool
607.77
KB
-rwxr-xr-x
2025-08-26 09:47
gdb
10.99
MB
-rwxr-xr-x
2023-10-11 19:10
gdb-add-index
3.28
KB
-rwxr-xr-x
2023-10-11 19:09
gdbm_dump
21.05
KB
-rwxr-xr-x
2022-10-08 13:22
gdbm_load
25.31
KB
-rwxr-xr-x
2022-10-08 13:22
gdbmtool
111.57
KB
-rwxr-xr-x
2022-10-08 13:22
gdbus
48.72
KB
-rwxr-xr-x
2026-09-01 08:11
gdk-pixbuf-query-loaders-64
15.93
KB
-rwxr-xr-x
2026-04-27 11:28
gdk-pixbuf-thumbnailer
20.45
KB
-rwxr-xr-x
2026-04-27 11:28
gdlib-config
2.79
KB
-rwxr-xr-x
2020-08-29 08:49
gencat
24.84
KB
-rwxr-xr-x
2026-07-21 14:52
gendiff
499
B
-rwxr-xr-x
2024-12-17 04:11
genl-ctrl-list
12.04
KB
-rwxr-xr-x
2022-10-08 11:39
geoiplookup
21.89
KB
-rwxr-xr-x
2019-11-28 22:06
geoiplookup6
21.65
KB
-rwxr-xr-x
2019-11-28 22:06
geqn
232.16
KB
-rwxr-xr-x
2019-10-13 14:29
getconf
32.46
KB
-rwxr-xr-x
2026-07-21 14:52
getent
33.13
KB
-rwxr-xr-x
2026-07-21 14:52
getfacl
28.7
KB
-rwxr-xr-x
2026-07-22 11:05
getfattr
24.73
KB
-rwxr-xr-x
2026-08-18 13:09
getkeycodes
12.54
KB
-rwxr-xr-x
2023-10-14 21:01
getopt
20.53
KB
-rwxr-xr-x
2026-02-04 20:18
getopts
31
B
-rwxr-xr-x
2025-08-26 08:48
gettext
48.97
KB
-rwxr-xr-x
2019-11-18 17:17
gettext.sh
4.52
KB
-rwxr-xr-x
2019-11-18 17:16
gettextize
42.69
KB
-rwxr-xr-x
2019-11-18 17:16
ghostscript
12.35
KB
-rwxr-xr-x
2025-06-03 02:48
gio
85.22
KB
-rwxr-xr-x
2026-09-01 08:11
gio-querymodules-64
16.3
KB
-rwxr-xr-x
2026-09-01 08:11
git
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
git-receive-pack
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
git-shell
2.13
MB
-rwxr-xr-x
2025-07-23 06:59
git-upload-archive
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
git-upload-pack
3.67
MB
-rwxr-xr-x
2025-07-23 06:59
glib-compile-schemas
48.85
KB
-rwxr-xr-x
2026-09-01 08:11
gmake
235.32
KB
-rwxr-xr-x
2022-04-18 16:38
gml2gv
41.23
KB
-rwxr-xr-x
2024-04-06 12:47
gneqn
908
B
-rwxr-xr-x
2019-10-13 14:29
gnroff
3.23
KB
-rwxr-xr-x
2019-10-13 14:29
gpasswd
82.17
KB
-rwsr-xr-x
2025-12-18 13:51
gpg
1.04
MB
-rwxr-xr-x
2026-01-16 01:48
gpg-agent
419.3
KB
-rwxr-xr-x
2026-01-16 01:48
gpg-connect-agent
165.3
KB
-rwxr-xr-x
2026-01-16 01:48
gpg-error
34.16
KB
-rwxr-xr-x
2019-10-12 12:20
gpg-error-config
2.26
KB
-rwxr-xr-x
2019-10-12 12:20
gpg-wks-server
206.71
KB
-rwxr-xr-x
2026-01-16 01:48
gpg-zip
3.44
KB
-rwxr-xr-x
2026-01-16 01:48
gpg2
1.04
MB
-rwxr-xr-x
2026-01-16 01:48
gpgconf
176.1
KB
-rwxr-xr-x
2026-01-16 01:48
gpgme-json
85.68
KB
-rwxr-xr-x
2024-04-06 12:29
gpgparsemail
28.74
KB
-rwxr-xr-x
2026-01-16 01:48
gpgrt-config
2.26
KB
-rwxr-xr-x
2019-10-12 12:20
gpgsm
514.46
KB
-rwxr-xr-x
2026-01-16 01:48
gpgsplit
87.02
KB
-rwxr-xr-x
2026-01-16 01:48
gpgv
451.51
KB
-rwxr-xr-x
2026-01-16 01:48
gpgv2
451.51
KB
-rwxr-xr-x
2026-01-16 01:48
gpic
293.84
KB
-rwxr-xr-x
2019-10-13 14:29
gpio-event-mon
14.96
KB
-rwxr-xr-x
2026-08-26 07:56
gpio-hammer
14.96
KB
-rwxr-xr-x
2026-08-26 07:56
gprof
103.35
KB
-rwxr-xr-x
2025-12-18 14:21
gr2fonttest
29.95
KB
-rwxr-xr-x
2019-11-06 07:45
graphml2gv
20.65
KB
-rwxr-xr-x
2024-04-06 12:47
grep
193.63
KB
-rwxr-xr-x
2019-10-11 15:15
grepdiff
51.95
KB
-rwxr-xr-x
2019-10-16 17:20
groff
124.92
KB
-rwxr-xr-x
2019-10-13 14:29
grops
191.14
KB
-rwxr-xr-x
2019-10-13 14:29
grotty
141.9
KB
-rwxr-xr-x
2019-10-13 14:29
groups
37.39
KB
-rwxr-xr-x
2026-07-28 19:49
grub2-editenv
448.09
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-file
928.55
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-fstest
1.15
MB
-rwxr-xr-x
2026-08-03 03:56
grub2-glue-efi
279.41
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-kbdcomp
1.63
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-menulst2cfg
262.66
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mkfont
312.13
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mkimage
431.41
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mklayout
289.48
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mknetdir
485.83
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mkpasswd-pbkdf2
291.88
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mkrelpath
279.27
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-mkrescue
1.12
MB
-rwxr-xr-x
2026-08-03 03:56
grub2-mkstandalone
594.3
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-render-label
937.09
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-script-check
316
KB
-rwxr-xr-x
2026-08-03 03:56
grub2-syslinux2cfg
861.61
KB
-rwxr-xr-x
2026-08-03 03:56
gs
12.35
KB
-rwxr-xr-x
2025-06-03 02:48
gsettings
28.61
KB
-rwxr-xr-x
2026-09-01 08:11
gsnd
277
B
-rwxr-xr-x
2025-06-03 02:48
gsoelim
42.55
KB
-rwxr-xr-x
2019-10-13 14:29
gss-client
24.56
KB
-rwxr-xr-x
2026-05-13 06:34
gstack
1.04
KB
-rwxr-xr-x
2023-10-11 19:09
gtar
448.99
KB
-rwxr-xr-x
2025-08-26 08:57
gtbl
154.61
KB
-rwxr-xr-x
2019-10-13 14:29
gtk-query-immodules-2.0-64
16.29
KB
-rwxr-xr-x
2021-04-06 13:52
gtk-update-icon-cache
33.03
KB
-rwxr-xr-x
2024-09-24 02:16
gtroff
805.02
KB
-rwxr-xr-x
2019-10-13 14:29
guild
2.8
KB
-rwxr-xr-x
2019-10-13 01:11
guile
13.16
KB
-rwxr-xr-x
2019-10-13 01:18
guile-tools
2.8
KB
-rwxr-xr-x
2019-10-13 01:11
guile2
13.16
KB
-rwxr-xr-x
2019-10-13 01:18
guile2-tools
2.8
KB
-rwxr-xr-x
2019-10-13 01:11
gunzip
2.29
KB
-rwxr-xr-x
2022-04-27 05:49
gv2gml
24.7
KB
-rwxr-xr-x
2024-04-06 12:47
gv2gxl
41.3
KB
-rwxr-xr-x
2024-04-06 12:47
gvcolor
46.9
KB
-rwxr-xr-x
2024-04-06 12:47
gvgen
24.8
KB
-rwxr-xr-x
2024-04-06 12:47
gvmap
526.31
KB
-rwxr-xr-x
2024-04-06 12:47
gvmap.sh
2.14
KB
-rwxr-xr-x
2024-04-06 12:47
gvpack
460.59
KB
-rwxr-xr-x
2024-04-06 12:47
gvpr
7.83
KB
-rwxr-xr-x
2024-04-06 12:47
gxl2dot
41.3
KB
-rwxr-xr-x
2024-04-06 12:47
gxl2gv
41.3
KB
-rwxr-xr-x
2024-04-06 12:47
gzexe
6.23
KB
-rwxr-xr-x
2022-04-27 05:49
gzip
94.67
KB
-rwxr-xr-x
2022-04-27 05:49
h2ph
28.69
KB
-rwxr-xr-x
2025-07-28 08:08
h2xs
59.44
KB
-rwxr-xr-x
2025-07-28 08:07
hash
28
B
-rwxr-xr-x
2025-08-26 08:48
head
45.51
KB
-rwxr-xr-x
2026-07-28 19:49
hexdump
57.51
KB
-rwxr-xr-x
2026-02-04 20:18
hmac256
16.87
KB
-rwxr-xr-x
2026-07-29 02:15
host
142.3
KB
-rwxr-xr-x
2026-08-13 18:53
hostid
33.34
KB
-rwxr-xr-x
2026-07-28 19:49
hostname
21.16
KB
-rwxr-xr-x
2019-10-11 13:06
hostnamectl
20.83
KB
-rwxr-xr-x
2026-06-16 17:17
htdbm
31.72
KB
-rwxr-xr-x
2026-08-11 22:33
htdigest
21.71
KB
-rwxr-xr-x
2026-08-11 22:33
html2text
406
B
-rwxr-xr-x
2020-03-17 12:40
htpasswd
31.55
KB
-rwxr-xr-x
2026-08-11 22:33
httxt2dbm
21.1
KB
-rwxr-xr-x
2026-08-11 22:33
hunspell
144.7
KB
-rwxr-xr-x
2019-10-13 08:33
i386
20.76
KB
-rwxr-xr-x
2026-02-04 20:18
ibd2sdi
6.42
MB
-rwxr-xr-x
2026-04-07 17:09
iceauth
41.87
KB
-rwxr-xr-x
2019-10-15 13:08
iconv
61.43
KB
-rwxr-xr-x
2026-07-21 14:52
id
45.44
KB
-rwxr-xr-x
2026-07-28 19:49
identify
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
idiag-socket-details
12.09
KB
-rwxr-xr-x
2022-10-08 11:39
idle2
93
B
-rwxr-xr-x
2024-04-10 04:57
idle2.7
93
B
-rwxr-xr-x
2024-04-10 04:57
idn
39.41
KB
-rwxr-xr-x
2019-10-13 16:55
ifnames
4.03
KB
-rwxr-xr-x
2024-08-13 19:30
iio_event_monitor
22.98
KB
-rwxr-xr-x
2026-08-26 07:56
iio_generic_buffer
26.98
KB
-rwxr-xr-x
2026-08-26 07:56
import
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
imunify-agent-proxy
13.14
MB
-rwxr-xr-x
2026-08-19 07:52
imunify-antivirus
1
KB
-rwxr-xr-x
2026-08-05 11:19
imunify-fgw-dump
7.8
MB
-rwxr-xr-x
2026-08-21 14:07
imunify-service
1020
B
-rwxr-xr-x
2026-08-05 11:19
imunify360-agent
1
KB
-rwxr-xr-x
2026-08-05 11:19
imunify360-command-wrapper
11.92
KB
-rwxr-xr-x
2026-08-12 07:45
info
249.89
KB
-rwxr-xr-x
2022-04-18 17:09
infocmp
61.05
KB
-rwxr-xr-x
2023-10-14 18:54
infotocap
85.31
KB
-rwxr-xr-x
2023-10-14 18:54
innochecksum
6.36
MB
-rwxr-xr-x
2026-04-07 17:09
install
156.14
KB
-rwxr-xr-x
2026-07-28 19:49
install-catalog
4.27
KB
-rwxr-xr-x
2019-11-15 08:49
instmodsh
4.1
KB
-rwxr-xr-x
2019-10-13 08:55
intel-speed-select
93.02
KB
-rwxr-xr-x
2026-08-26 07:56
interdiff
55.44
KB
-rwxr-xr-x
2019-10-16 17:20
intltool-extract
30.42
KB
-rwxr-xr-x
2019-11-12 14:27
intltool-merge
38.94
KB
-rwxr-xr-x
2019-11-12 14:27
intltool-prepare
8.4
KB
-rwxr-xr-x
2019-11-12 14:27
intltool-update
34.72
KB
-rwxr-xr-x
2019-11-12 14:27
intltoolize
6.98
KB
-rwxr-xr-x
2019-11-12 14:27
ionice
28.98
KB
-rwxr-xr-x
2026-02-04 20:18
iostat
57.69
KB
-rwxr-xr-x
2024-07-03 09:57
ipcalc
46.08
KB
-rwxr-xr-x
2020-05-31 19:39
ipcmk
29.14
KB
-rwxr-xr-x
2026-02-04 20:18
ipcrm
28.99
KB
-rwxr-xr-x
2026-02-04 20:18
ipcs
53.4
KB
-rwxr-xr-x
2026-02-04 20:18
isc-config.sh
3.34
KB
-rwxr-xr-x
2026-08-13 18:53
isosize
24.88
KB
-rwxr-xr-x
2026-02-04 20:18
ispell
988
B
-rwxr-xr-x
2022-04-18 15:10
isql
36.58
KB
-rwxr-xr-x
2025-12-18 13:02
iusql
28.66
KB
-rwxr-xr-x
2025-12-18 13:02
java
11.27
KB
-rwxr-xr-x
2026-08-20 15:07
java2html
48
B
-rwxr-xr-x
2024-08-13 19:55
jjs
11.4
KB
-rwxr-xr-x
2026-08-20 15:05
jobs
28
B
-rwxr-xr-x
2025-08-26 08:48
join
53.7
KB
-rwxr-xr-x
2026-07-28 19:49
journalctl
76.99
KB
-rwxr-xr-x
2026-06-16 17:17
json_pp
4.19
KB
-rwxr-xr-x
2019-10-14 12:12
json_reformat
16.55
KB
-rwxr-xr-x
2023-10-14 13:17
json_verify
12.27
KB
-rwxr-xr-x
2023-10-14 13:17
json_xs
6.84
KB
-rwxr-xr-x
2025-10-03 07:13
kbd_mode
12.55
KB
-rwxr-xr-x
2023-10-14 21:01
kbdinfo
16.56
KB
-rwxr-xr-x
2023-10-14 21:01
kbdrate
16.45
KB
-rwxr-xr-x
2023-10-14 21:01
kbxutil
177.35
KB
-rwxr-xr-x
2026-01-16 01:48
kcare-scanner-interface
5.96
KB
-rwxr-xr-x
2026-06-24 13:05
kcare-uname
582
B
-rwxr-xr-x
2026-06-24 13:05
kcarectl
1.21
KB
-rwxr-xr-x
2026-06-24 13:05
kdumpctl
32.93
KB
-rwxr-xr-x
2026-02-10 17:24
kernel-install
4.41
KB
-rwxr-xr-x
2018-06-22 11:11
keyctl
36.82
KB
-rwxr-xr-x
2021-10-08 13:50
keytool
11.41
KB
-rwxr-xr-x
2026-08-20 15:05
kill
37.28
KB
-rwxr-xr-x
2026-02-04 20:18
killall
29.77
KB
-rwxr-xr-x
2020-11-06 14:24
kmod
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
krb5-config
6.98
KB
-rwxr-xr-x
2026-05-13 06:34
kvm_stat
60.85
KB
-rwxr-xr-x
2026-08-24 00:16
last
49.23
KB
-rwxr-xr-x
2026-02-04 20:18
lastb
49.23
KB
-rwxr-xr-x
2026-02-04 20:18
lastcomm
37.8
KB
-rwxr-xr-x
2019-10-21 16:09
lastlog
20.63
KB
-rwxr-xr-x
2025-12-18 13:51
lchfn
20.35
KB
-rwxr-xr-x
2024-09-24 02:24
lchsh
16.35
KB
-rwxr-xr-x
2024-09-24 02:24
ld
1.71
MB
-rwxr-xr-x
2025-12-18 14:21
ld.bfd
1.71
MB
-rwxr-xr-x
2025-12-18 14:21
ld.gold
2.35
MB
-rwxr-xr-x
2025-12-18 14:21
ld.so
1.05
MB
-rwxr-xr-x
2026-07-21 14:52
ldd
5.31
KB
-rwxr-xr-x
2026-07-21 14:46
lefty
304.52
KB
-rwxr-xr-x
2024-04-06 12:47
less
173.76
KB
-rwxr-xr-x
2024-07-02 20:10
lessecho
12.4
KB
-rwxr-xr-x
2024-07-02 20:10
lesskey
21.99
KB
-rwxr-xr-x
2024-07-02 20:10
lesspipe.sh
3.07
KB
-rwxr-xr-x
2024-07-02 19:57
lex
428.45
KB
-rwxr-xr-x
2019-10-12 12:33
lexgrog
93.7
KB
-rwxr-xr-x
2021-10-08 13:04
libcare-cron
1.07
KB
-rwxr-xr-x
2026-06-24 13:05
libgcrypt-config
3.84
KB
-rwxr-xr-x
2026-07-29 02:15
libnetcfg
15.41
KB
-rwxr-xr-x
2025-07-28 08:08
libpng-config
2.33
KB
-rwxr-xr-x
2026-06-25 17:21
libpng16-config
2.33
KB
-rwxr-xr-x
2026-06-25 17:21
libtool
359.11
KB
-rwxr-xr-x
2019-10-11 14:55
libtoolize
126.17
KB
-rwxr-xr-x
2019-10-11 14:55
libwmf-fontmap
13.03
KB
-rwxr-xr-x
2019-10-14 15:47
link
33.34
KB
-rwxr-xr-x
2026-07-28 19:49
linux-boot-prober
5.85
KB
-rwxr-xr-x
2026-01-23 09:05
linux32
20.76
KB
-rwxr-xr-x
2026-02-04 20:18
linux64
20.76
KB
-rwxr-xr-x
2026-02-04 20:18
ln
70.5
KB
-rwxr-xr-x
2026-07-28 19:49
lneato
1.51
KB
-rwxr-xr-x
2024-04-06 12:47
loadkeys
210.53
KB
-rwxr-xr-x
2023-10-14 21:01
loadunimap
29.03
KB
-rwxr-xr-x
2023-10-14 21:01
locale
56.44
KB
-rwxr-xr-x
2026-07-21 14:52
localectl
28.86
KB
-rwxr-xr-x
2026-06-16 17:17
localedef
307.47
KB
-rwxr-xr-x
2026-07-21 14:52
locate
47.41
KB
-rwx--x--x
2019-10-14 15:43
logger
49.98
KB
-rwxr-xr-x
2026-02-04 20:18
login
40.96
KB
-rwxr-xr-x
2026-02-04 20:18
loginctl
57.28
KB
-rwxr-xr-x
2026-06-16 17:17
logname
33.34
KB
-rwxr-xr-x
2026-07-28 19:49
logresolve
21.45
KB
-rwxr-xr-x
2026-08-11 22:33
look
16.46
KB
-rwxr-xr-x
2026-02-04 20:18
ls
139.89
KB
-rwxr-xr-x
2026-07-28 19:49
lsattr
11.93
KB
-rwxr-xr-x
2025-10-07 07:08
lsblk
90.14
KB
-rwxr-xr-x
2026-02-04 20:18
lscpu
81.7
KB
-rwxr-xr-x
2026-02-04 20:18
lsdiff
51.95
KB
-rwxr-xr-x
2019-10-16 17:20
lsgpio
15.06
KB
-rwxr-xr-x
2026-08-26 07:56
lsiio
22.98
KB
-rwxr-xr-x
2026-08-26 07:56
lsinitrd
8.68
KB
-rwxr-xr-x
2026-08-14 00:13
lsipc
73.74
KB
-rwxr-xr-x
2026-02-04 20:18
lslocks
37.53
KB
-rwxr-xr-x
2026-02-04 20:18
lslogins
65.62
KB
-rwxr-xr-x
2026-02-04 20:18
lsmcli
954
B
-rwxr-xr-x
2023-10-11 23:25
lsmd
24.88
KB
-rwxr-xr-x
2023-10-11 23:25
lsmem
45.34
KB
-rwxr-xr-x
2026-02-04 20:18
lsns
49.29
KB
-rwxr-xr-x
2026-02-04 20:18
lsof
175.4
KB
-rwxr-xr-x
2020-08-15 21:59
lsphp
937
B
-rwxr-xr-x
2026-05-18 16:37
lsscsi
86.01
KB
-rwxr-xr-x
2021-10-09 05:12
lsusb
244.14
KB
-rwxr-xr-x
2019-10-21 16:04
lsusb.py
14.89
KB
-rwxr-xr-x
2019-10-21 16:04
ltrace
246.07
KB
-rwxr-xr-x
2020-05-31 20:34
lua
20.45
KB
-rwxr-xr-x
2021-10-09 05:14
luac
152.77
KB
-rwxr-xr-x
2021-10-09 05:14
lwp-download
10.05
KB
-rwxr-xr-x
2022-04-22 20:13
lwp-dump
2.65
KB
-rwxr-xr-x
2022-04-22 20:13
lwp-mirror
2.36
KB
-rwxr-xr-x
2022-04-22 20:13
lwp-request
15.84
KB
-rwxr-xr-x
2022-04-22 20:13
lz4_decompress
6.26
MB
-rwxr-xr-x
2026-04-07 17:09
m4
185.56
KB
-rwxr-xr-x
2019-10-11 14:41
mac2unix
58.54
KB
-rwxr-xr-x
2019-10-12 00:46
mail
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
mailx
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
make
235.32
KB
-rwxr-xr-x
2022-04-18 16:38
make-dummy-cert
610
B
-rwxr-xr-x
2026-07-13 14:12
makedb
24.84
KB
-rwxr-xr-x
2026-07-21 14:52
man
112.52
KB
-rwxr-xr-x
2021-10-08 13:04
mandb
134.52
KB
-rwxr-xr-x
2021-10-08 13:04
manpath
33.42
KB
-rwxr-xr-x
2021-10-08 13:04
mapscrn
24.84
KB
-rwxr-xr-x
2023-10-14 21:01
mcookie
33.27
KB
-rwxr-xr-x
2026-02-04 20:18
mcpp
9.02
KB
-rwxr-xr-x
2019-10-14 15:45
md5sum
45.55
KB
-rwxr-xr-x
2026-07-28 19:49
mdig
48.52
KB
-rwxr-xr-x
2026-08-13 18:53
memstrack
83.78
KB
-rwxr-xr-x
2023-10-15 04:56
mesg
16.36
KB
-rwxr-xr-x
2026-02-04 20:18
mkdir
82.7
KB
-rwxr-xr-x
2026-07-28 19:49
mkfifo
66.46
KB
-rwxr-xr-x
2026-07-28 19:49
mkfontdir
65
B
-rwxr-xr-x
2021-10-09 23:42
mkfontscale
41.59
KB
-rwxr-xr-x
2021-10-09 23:42
mkinitrd
6.43
KB
-rwxr-xr-x
2026-08-14 00:13
mknod
70.47
KB
-rwxr-xr-x
2026-07-28 19:49
mktemp
45.66
KB
-rwxr-xr-x
2026-07-28 19:49
mm2gv
90.53
KB
-rwxr-xr-x
2024-04-06 12:47
mmdblookup
16.74
KB
-rwxr-xr-x
2024-02-12 02:30
modulecmd
384.75
KB
-rwxr-xr-x
2023-10-14 18:46
modulemd-validator
24.96
KB
-rwxr-xr-x
2021-10-09 01:37
modutil
177.43
KB
-rwxr-xr-x
2026-04-14 17:44
mogrify
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
mokutil
49.98
KB
-rwxr-xr-x
2022-10-08 14:02
montage
11.84
KB
-rwxr-xr-x
2026-07-22 08:42
more
44.94
KB
-rwxr-xr-x
2026-02-04 20:18
mount
49.15
KB
-rwsr-xr-x
2026-02-04 20:18
mountpoint
16.48
KB
-rwxr-xr-x
2026-02-04 20:18
mpicalc
20.38
KB
-rwxr-xr-x
2026-07-29 02:15
mpstat
53.51
KB
-rwxr-xr-x
2024-07-03 09:57
ms_print
23.76
KB
-rwxr-xr-x
2026-06-16 16:35
msgattrib
25.58
KB
-rwxr-xr-x
2019-11-18 17:17
msgcat
25.55
KB
-rwxr-xr-x
2019-11-18 17:17
msgcmp
26.12
KB
-rwxr-xr-x
2019-11-18 17:17
msgcomm
25.55
KB
-rwxr-xr-x
2019-11-18 17:17
msgconv
21.55
KB
-rwxr-xr-x
2019-11-18 17:17
msgen
21.55
KB
-rwxr-xr-x
2019-11-18 17:17
msgexec
21.55
KB
-rwxr-xr-x
2019-11-18 17:17
msgfilter
34.53
KB
-rwxr-xr-x
2019-11-18 17:17
msgfmt
90.3
KB
-rwxr-xr-x
2019-11-18 17:17
msgfmt2.7.py
6.33
KB
-rwxr-xr-x
2024-04-10 04:58
msgfmt2.py
6.33
KB
-rwxr-xr-x
2024-04-10 04:58
msggrep
43.6
KB
-rwxr-xr-x
2019-11-18 17:17
msginit
67.85
KB
-rwxr-xr-x
2019-11-18 17:17
msgmerge
71.48
KB
-rwxr-xr-x
2019-11-18 17:17
msgunfmt
35.8
KB
-rwxr-xr-x
2019-11-18 17:17
msguniq
25.56
KB
-rwxr-xr-x
2019-11-18 17:17
mv
143.95
KB
-rwxr-xr-x
2026-07-28 19:49
my_print_defaults
6.2
MB
-rwxr-xr-x
2026-04-07 17:09
myisam_ftdump
6.47
MB
-rwxr-xr-x
2026-04-07 17:09
myisamchk
6.57
MB
-rwxr-xr-x
2026-04-07 17:09
myisamlog
6.42
MB
-rwxr-xr-x
2026-04-07 17:09
myisampack
6.49
MB
-rwxr-xr-x
2026-04-07 17:09
mysql
7.38
MB
-rwxr-xr-x
2026-04-07 17:09
mysql_config
840
B
-rwxr-xr-x
2026-04-07 16:36
mysql_config-64
4.95
KB
-rwxr-xr-x
2026-04-07 16:36
mysql_config_editor
6.22
MB
-rwxr-xr-x
2026-04-07 17:09
mysql_migrate_keyring
7.16
MB
-rwxr-xr-x
2026-04-07 17:09
mysql_secure_installation
7.06
MB
-rwxr-xr-x
2026-04-07 17:09
mysql_ssl_rsa_setup
6.25
MB
-rwxr-xr-x
2026-04-07 17:09
mysql_tzinfo_to_sql
6.13
MB
-rwxr-xr-x
2026-04-07 17:09
mysql_upgrade
7.17
MB
-rwxr-xr-x
2026-04-07 17:09
mysqladmin
7.07
MB
-rwxr-xr-x
2026-04-07 17:09
mysqlbinlog
7.6
MB
-rwxr-xr-x
2026-04-07 17:09
mysqlcheck
7.09
MB
-rwxr-xr-x
2026-04-07 17:09
mysqld_pre_systemd
4.31
KB
-rwxr-xr-x
2026-04-07 16:36
mysqldump
7.15
MB
-rwxr-xr-x
2026-04-07 17:09
mysqldumpslow
7.54
KB
-rwxr-xr-x
2026-04-07 16:36
mysqlimport
7.07
MB
-rwxr-xr-x
2026-04-07 17:09
mysqlpump
7.67
MB
-rwxr-xr-x
2026-04-07 17:09
mysqlshow
7.06
MB
-rwxr-xr-x
2026-04-07 17:09
mysqlslap
7.09
MB
-rwxr-xr-x
2026-04-07 17:09
nail
408.89
KB
-rwxr-xr-x
2019-10-13 00:19
named-rrchecker
19.88
KB
-rwxr-xr-x
2026-08-13 18:53
namei
33.1
KB
-rwxr-xr-x
2026-02-04 20:18
nano
247.94
KB
-rwxr-xr-x
2024-09-24 02:16
nc
49.39
KB
-rwxr-xr-x
2026-05-20 09:14
ncurses6-config
5.87
KB
-rwxr-xr-x
2023-10-14 18:54
ncursesw6-config
5.88
KB
-rwxr-xr-x
2023-10-14 18:54
ndptool
24.45
KB
-rwxr-xr-x
2024-07-19 07:04
neato
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
needs-restarting
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
neqn
908
B
-rwxr-xr-x
2019-10-13 14:29
net-snmp-create-v3-user
3.15
KB
-rwxr-xr-x
2026-01-19 08:19
netcat
49.39
KB
-rwxr-xr-x
2026-05-20 09:14
netstat
158.68
KB
-rwxr-xr-x
2020-08-30 17:47
newgidmap
47.81
KB
-rwxr-xr-x
2025-12-18 13:51
newgrp
42.46
KB
-rwsr-xr-x
2025-12-18 13:51
newuidmap
47.77
KB
-rwxr-xr-x
2025-12-18 13:51
nf-ct-add
16.46
KB
-rwxr-xr-x
2022-10-08 11:39
nf-ct-events
12.38
KB
-rwxr-xr-x
2022-10-08 11:39
nf-ct-list
16.49
KB
-rwxr-xr-x
2022-10-08 11:39
nf-exp-add
16.87
KB
-rwxr-xr-x
2022-10-08 11:39
nf-exp-delete
16.66
KB
-rwxr-xr-x
2022-10-08 11:39
nf-exp-list
16.49
KB
-rwxr-xr-x
2022-10-08 11:39
nf-log
12.35
KB
-rwxr-xr-x
2022-10-08 11:39
nf-monitor
12.36
KB
-rwxr-xr-x
2022-10-08 11:39
nf-queue
16.35
KB
-rwxr-xr-x
2022-10-08 11:39
ngettext
48.97
KB
-rwxr-xr-x
2019-11-18 17:17
nice
37.33
KB
-rwxr-xr-x
2026-07-28 19:49
nisdomainname
21.16
KB
-rwxr-xr-x
2019-10-11 13:06
nl
45.55
KB
-rwxr-xr-x
2026-07-28 19:49
nl-addr-add
12.34
KB
-rwxr-xr-x
2022-10-08 11:39
nl-addr-delete
16.77
KB
-rwxr-xr-x
2022-10-08 11:39
nl-addr-list
16.88
KB
-rwxr-xr-x
2022-10-08 11:39
nl-class-add
16.73
KB
-rwxr-xr-x
2022-10-08 11:39
nl-class-delete
12.63
KB
-rwxr-xr-x
2022-10-08 11:39
nl-class-list
12.59
KB
-rwxr-xr-x
2022-10-08 11:39
nl-classid-lookup
12.47
KB
-rwxr-xr-x
2022-10-08 11:39
nl-cls-add
16.77
KB
-rwxr-xr-x
2022-10-08 11:39
nl-cls-delete
16.77
KB
-rwxr-xr-x
2022-10-08 11:39
nl-cls-list
12.73
KB
-rwxr-xr-x
2022-10-08 11:39
nl-fib-lookup
12.5
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-enslave
11.87
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-ifindex2name
11.87
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-list
12.23
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-name2ifindex
11.86
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-release
11.86
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-set
12.77
KB
-rwxr-xr-x
2022-10-08 11:39
nl-link-stats
12.59
KB
-rwxr-xr-x
2022-10-08 11:39
nl-list-caches
12.27
KB
-rwxr-xr-x
2022-10-08 11:39
nl-list-sockets
11.87
KB
-rwxr-xr-x
2022-10-08 11:39
nl-monitor
12.52
KB
-rwxr-xr-x
2022-10-08 11:39
nl-neigh-add
12.63
KB
-rwxr-xr-x
2022-10-08 11:39
nl-neigh-delete
12.66
KB
-rwxr-xr-x
2022-10-08 11:39
nl-neigh-list
12.19
KB
-rwxr-xr-x
2022-10-08 11:39
nl-neightbl-list
12.01
KB
-rwxr-xr-x
2022-10-08 11:39
nl-pktloc-lookup
12.56
KB
-rwxr-xr-x
2022-10-08 11:39
nl-qdisc-add
12.65
KB
-rwxr-xr-x
2022-10-08 11:39
nl-qdisc-delete
12.63
KB
-rwxr-xr-x
2022-10-08 11:39
nl-qdisc-list
16.74
KB
-rwxr-xr-x
2022-10-08 11:39
nl-route-add
16.39
KB
-rwxr-xr-x
2022-10-08 11:39
nl-route-delete
16.88
KB
-rwxr-xr-x
2022-10-08 11:39
nl-route-get
12.35
KB
-rwxr-xr-x
2022-10-08 11:39
nl-route-list
16.44
KB
-rwxr-xr-x
2022-10-08 11:39
nl-rule-list
12.05
KB
-rwxr-xr-x
2022-10-08 11:39
nl-tctree-list
12.66
KB
-rwxr-xr-x
2022-10-08 11:39
nl-util-addr
11.85
KB
-rwxr-xr-x
2022-10-08 11:39
nm
50.38
KB
-rwxr-xr-x
2025-12-18 14:21
nm-online
20.84
KB
-rwxr-xr-x
2026-08-24 06:01
nmcli
1009
KB
-rwxr-xr-x
2026-08-24 06:01
nmtui
784.12
KB
-rwxr-xr-x
2026-08-24 06:01
nmtui-connect
784.12
KB
-rwxr-xr-x
2026-08-24 06:01
nmtui-edit
784.12
KB
-rwxr-xr-x
2026-08-24 06:01
nmtui-hostname
784.12
KB
-rwxr-xr-x
2026-08-24 06:01
node
87.88
MB
-rwxr-xr-x
2023-08-08 22:27
nohup
37.41
KB
-rwxr-xr-x
2026-07-28 19:49
nop
12.5
KB
-rwxr-xr-x
2024-04-06 12:47
npm
54
B
-rwxr-xr-x
2023-08-26 23:19
nproc
37.41
KB
-rwxr-xr-x
2026-07-28 19:49
npx
2.86
KB
-rwxr-xr-x
2023-08-26 23:19
nroff
3.23
KB
-rwxr-xr-x
2019-10-13 14:29
nsenter
33.3
KB
-rwxr-xr-x
2026-02-04 20:18
nslookup
146.26
KB
-rwxr-xr-x
2026-08-13 18:53
nss-policy-check
16.3
KB
-rwxr-xr-x
2026-04-14 17:44
nsupdate
73.05
KB
-rwxr-xr-x
2026-08-13 18:53
numfmt
65.64
KB
-rwxr-xr-x
2026-07-28 19:49
objcopy
240.07
KB
-rwxr-xr-x
2025-12-18 14:21
objdump
419.76
KB
-rwxr-xr-x
2025-12-18 14:21
od
73.8
KB
-rwxr-xr-x
2026-07-28 19:49
odbc_config
11.84
KB
-rwxr-xr-x
2025-12-18 13:02
odbcinst
28.88
KB
-rwxr-xr-x
2025-12-18 13:02
open
20.97
KB
-rwxr-xr-x
2023-10-14 21:01
openssl
745.95
KB
-rwxr-xr-x
2026-07-13 14:12
openvt
20.97
KB
-rwxr-xr-x
2023-10-14 21:01
orbd
11.45
KB
-rwxr-xr-x
2026-08-20 15:05
os-prober
5.78
KB
-rwxr-xr-x
2026-01-23 09:05
osage
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
p11-kit
37.15
KB
-rwxr-xr-x
2024-04-06 14:16
pack200
11.41
KB
-rwxr-xr-x
2026-08-20 15:05
package-cleanup
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
page_owner_sort
11.34
KB
-rwxr-xr-x
2026-08-26 07:56
pango-list
11.88
KB
-rwxr-xr-x
2021-10-08 15:22
pango-view
57.44
KB
-rwxr-xr-x
2021-10-08 15:22
paperconf
13.07
KB
-rwxr-xr-x
2019-10-12 20:09
passwd
32.77
KB
-rwsr-xr-x
2022-04-18 22:59
paste
37.38
KB
-rwxr-xr-x
2026-07-28 19:49
patch
206.46
KB
-rwxr-xr-x
2020-06-01 15:14
patchwork
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
pathchk
37.33
KB
-rwxr-xr-x
2026-07-28 19:49
pathfix.py
6.63
KB
-rwxr-xr-x
2026-08-18 15:04
pcre-config
2.09
KB
-rwxr-xr-x
2021-10-08 19:17
pcre2-config
1.9
KB
-rwxr-xr-x
2022-08-02 16:07
pdf2dsc
698
B
-rwxr-xr-x
2025-06-03 02:48
pdf2ps
909
B
-rwxr-xr-x
2025-06-03 02:48
pdns_control
486.27
KB
-rwxr-xr-x
2026-08-10 19:13
pdnsutil
5.19
MB
-rwxr-xr-x
2026-08-10 19:13
peekfd
16.51
KB
-rwxr-xr-x
2020-11-06 14:24
perl
12.43
KB
-rwxr-xr-x
2025-07-28 08:07
perl5.26.3
12.43
KB
-rwxr-xr-x
2025-07-28 08:07
perlbug
44.39
KB
-rwxr-xr-x
2025-07-28 08:08
perldoc
118
B
-rwxr-xr-x
2019-10-13 11:53
perlivp
10.56
KB
-rwxr-xr-x
2025-07-28 08:07
perlml
6.61
KB
-rwxr-xr-x
2025-10-02 19:40
perlthanks
44.39
KB
-rwxr-xr-x
2025-07-28 08:08
perror
6.99
MB
-rwxr-xr-x
2026-04-07 17:09
pesigcheck
152.6
KB
-rwxr-xr-x
2023-04-04 13:57
pesign
194.29
KB
-rwxr-xr-x
2023-04-04 13:57
pesign-client
152.3
KB
-rwxr-xr-x
2023-04-04 13:57
pflags
2.57
KB
-rwxr-xr-x
2024-04-06 13:32
pftp
101.2
KB
-rwxr-xr-x
2019-10-12 12:59
pgrep
28.84
KB
-rwxr-xr-x
2023-10-14 20:31
php
937
B
-rwxr-xr-x
2026-05-18 16:37
pic
293.84
KB
-rwxr-xr-x
2019-10-13 14:29
piconv
8.08
KB
-rwxr-xr-x
2019-10-13 08:46
pidof
16.7
KB
-rwxr-xr-x
2023-10-14 20:31
pidstat
65.72
KB
-rwxr-xr-x
2024-07-03 09:57
pigz
125.38
KB
-rwxr-xr-x
2020-06-01 15:15
pinentry
2.35
KB
-rwxr-xr-x
2018-08-12 17:18
pinentry-curses
77.89
KB
-rwxr-xr-x
2019-11-24 17:39
ping
66.13
KB
-rwxr-xr-x
2023-10-14 17:19
pinky
41.46
KB
-rwxr-xr-x
2026-07-28 19:49
pip-2
206
B
-rwxr-xr-x
2022-04-21 18:08
pip-2.7
206
B
-rwxr-xr-x
2022-04-21 18:08
pip-3
209
B
-rwxr-xr-x
2024-04-06 13:40
pip-3.6
209
B
-rwxr-xr-x
2024-04-06 13:40
pip2
206
B
-rwxr-xr-x
2022-04-21 18:08
pip2.7
206
B
-rwxr-xr-x
2022-04-21 18:08
pip3
209
B
-rwxr-xr-x
2024-04-06 13:40
pip3.6
209
B
-rwxr-xr-x
2024-04-06 13:40
pk12util
111.12
KB
-rwxr-xr-x
2026-04-14 17:44
pkaction
16.38
KB
-rwxr-xr-x
2024-05-29 12:51
pkcheck
24.43
KB
-rwxr-xr-x
2024-05-29 12:51
pkcon
81.32
KB
-rwxr-xr-x
2026-04-29 12:09
pkexec
28.41
KB
-rwsr-xr-x
2024-05-29 12:51
pkg-config
40.04
KB
-rwxr-xr-x
2019-10-13 06:57
pkgconf
40.04
KB
-rwxr-xr-x
2019-10-13 06:57
pkill
28.84
KB
-rwxr-xr-x
2023-10-14 20:31
pkla-admin-identities
25.72
KB
-rwxr-xr-x
2019-11-18 15:17
pkla-check-authorization
33.78
KB
-rwxr-xr-x
2019-11-18 15:17
pkmon
20.75
KB
-rwxr-xr-x
2026-04-29 12:09
pkttyagent
20.38
KB
-rwxr-xr-x
2024-05-29 12:51
pl2pm
4.43
KB
-rwxr-xr-x
2025-07-28 08:08
pldd
16.75
KB
-rwxr-xr-x
2026-07-21 14:52
plesk_configure
342
B
-rwxr-xr-x
2022-08-30 11:44
pmap
32.78
KB
-rwxr-xr-x
2023-10-14 20:31
png-fix-itxt
11.85
KB
-rwxr-xr-x
2026-06-25 17:21
pngfix
52.85
KB
-rwxr-xr-x
2026-06-25 17:21
pod2html
4.04
KB
-rwxr-xr-x
2025-07-28 08:08
pod2man
14.68
KB
-rwxr-xr-x
2019-10-13 14:12
pod2text
10.55
KB
-rwxr-xr-x
2019-10-13 14:12
pod2usage
3.86
KB
-rwxr-xr-x
2019-10-13 11:57
podchecker
3.57
KB
-rwxr-xr-x
2019-10-13 11:46
podselect
2.47
KB
-rwxr-xr-x
2019-10-13 11:52
post-grohtml
238.73
KB
-rwxr-xr-x
2019-10-13 14:29
powernow-k8-decode
10.88
KB
-rwxr-xr-x
2026-08-26 07:56
pr
82.15
KB
-rwxr-xr-x
2026-07-28 19:49
pre-grohtml
130.55
KB
-rwxr-xr-x
2019-10-13 14:29
precat
5.52
KB
-rwxr-xr-x
2022-04-18 15:10
preconv
57.65
KB
-rwxr-xr-x
2019-10-13 14:29
preunzip
5.52
KB
-rwxr-xr-x
2022-04-18 15:10
prezip
5.52
KB
-rwxr-xr-x
2022-04-18 15:10
prezip-bin
11.98
KB
-rwxr-xr-x
2022-04-18 15:10
printenv
33.32
KB
-rwxr-xr-x
2026-07-28 19:49
printf
53.56
KB
-rwxr-xr-x
2026-07-28 19:49
prlimit
37.54
KB
-rwxr-xr-x
2026-02-04 20:18
procan
82.6
KB
-rwxr-xr-x
2025-07-15 09:33
protoc
16.49
KB
-rwxr-xr-x
2025-10-07 08:37
protoc-c
244.79
KB
-rwxr-xr-x
2023-10-14 21:21
protoc-gen-c
244.79
KB
-rwxr-xr-x
2023-10-14 21:21
prove
13.24
KB
-rwxr-xr-x
2019-10-13 12:42
prtstat
20.51
KB
-rwxr-xr-x
2020-11-06 14:24
prune
16.73
KB
-rwxr-xr-x
2024-04-06 12:47
ps
134.75
KB
-rwxr-xr-x
2023-10-14 20:31
ps2ascii
631
B
-rwxr-xr-x
2025-06-03 02:48
ps2epsi
2.69
KB
-rwxr-xr-x
2025-06-03 02:48
ps2pdf
272
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdf12
215
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdf13
215
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdf14
215
B
-rwxr-xr-x
2025-06-03 02:48
ps2pdfwr
1.07
KB
-rwxr-xr-x
2025-06-03 02:48
ps2ps
647
B
-rwxr-xr-x
2025-06-03 02:48
ps2ps2
669
B
-rwxr-xr-x
2025-06-03 02:48
psfaddtable
20.66
KB
-rwxr-xr-x
2023-10-14 21:01
psfgettable
20.66
KB
-rwxr-xr-x
2023-10-14 21:01
psfstriptable
20.66
KB
-rwxr-xr-x
2023-10-14 21:01
psfxtable
20.66
KB
-rwxr-xr-x
2023-10-14 21:01
pslog
12.48
KB
-rwxr-xr-x
2020-11-06 14:24
pstack
1.04
KB
-rwxr-xr-x
2023-10-11 19:09
pstree
33.53
KB
-rwxr-xr-x
2020-11-06 14:24
pstree.x11
33.53
KB
-rwxr-xr-x
2020-11-06 14:24
ptar
3.38
KB
-rwxr-xr-x
2026-08-03 03:54
ptardiff
2.48
KB
-rwxr-xr-x
2026-08-03 03:54
ptargrep
4.2
KB
-rwxr-xr-x
2026-08-03 03:54
ptx
77.99
KB
-rwxr-xr-x
2026-07-28 19:49
pwd
37.42
KB
-rwxr-xr-x
2026-07-28 19:49
pwdx
12.68
KB
-rwxr-xr-x
2023-10-14 20:31
pwmake
12.27
KB
-rwxr-xr-x
2023-04-01 18:24
pwscore
12.27
KB
-rwxr-xr-x
2023-04-01 18:24
pydoc-3
89
B
-rwxr-xr-x
2026-08-18 15:09
pydoc2
78
B
-rwxr-xr-x
2024-04-10 04:58
pydoc2.7
78
B
-rwxr-xr-x
2024-04-10 04:58
pydoc3
89
B
-rwxr-xr-x
2026-08-18 15:09
pydoc3.11
79
B
-rwxr-xr-x
2026-04-28 05:59
pydoc3.12
79
B
-rwxr-xr-x
2026-08-24 15:42
pydoc3.6
89
B
-rwxr-xr-x
2026-08-18 15:09
pygettext2.7.py
21.56
KB
-rwxr-xr-x
2024-04-10 04:58
pygettext2.py
21.56
KB
-rwxr-xr-x
2024-04-10 04:58
pynche2
138
B
-rwxr-xr-x
2024-04-10 04:48
pynche2.7
138
B
-rwxr-xr-x
2024-04-10 04:48
python-html2text
406
B
-rwxr-xr-x
2020-03-17 12:40
python2
7.84
KB
-rwxr-xr-x
2024-04-10 04:58
python2-config
1.8
KB
-rwxr-xr-x
2024-04-10 04:58
python2.7
7.84
KB
-rwxr-xr-x
2024-04-10 04:58
python2.7-config
1.8
KB
-rwxr-xr-x
2024-04-10 04:58
python3
11.59
KB
-rwxr-xr-x
2026-08-18 15:09
python3-config
204
B
-rwxr-xr-x
2026-08-18 15:09
python3-html2text
406
B
-rwxr-xr-x
2020-03-17 12:40
python3.11
7.57
KB
-rwxr-xr-x
2026-04-28 05:59
python3.12
7.57
KB
-rwxr-xr-x
2026-08-24 15:45
python3.6
11.59
KB
-rwxr-xr-x
2026-08-18 15:09
python3.6-config
204
B
-rwxr-xr-x
2026-08-18 15:09
python3.6m
11.59
KB
-rwxr-xr-x
2026-08-18 15:09
python3.6m-config
204
B
-rwxr-xr-x
2026-08-18 15:09
python3.6m-x86_64-config
3.54
KB
-rwxr-xr-x
2026-08-18 15:05
pyvenv-3
446
B
-rwxr-xr-x
2026-08-18 15:09
pyvenv-3.6
446
B
-rwxr-xr-x
2026-08-18 15:09
pzstd
662.2
KB
-rwxr-xr-x
2020-08-18 22:44
quota
91.49
KB
-rwsr-xr-x
2021-10-09 07:08
quotasync
74.69
KB
-rwxr-xr-x
2021-10-09 07:08
ranlib
61.97
KB
-rwxr-xr-x
2025-12-18 14:21
raw
16.5
KB
-rwxr-xr-x
2026-02-04 20:18
read
28
B
-rwxr-xr-x
2025-08-26 08:48
readelf
624.54
KB
-rwxr-xr-x
2025-12-18 14:21
readlink
45.88
KB
-rwxr-xr-x
2026-07-28 19:49
realpath
49.95
KB
-rwxr-xr-x
2026-07-28 19:49
recode-sr-latin
17.99
KB
-rwxr-xr-x
2019-11-18 17:17
recountdiff
3.36
KB
-rwxr-xr-x
2019-10-16 17:20
red
89
B
-rwxr-xr-x
2019-10-11 13:05
rediff
42.85
KB
-rwxr-xr-x
2019-10-16 17:20
rename
16.5
KB
-rwxr-xr-x
2026-02-04 20:18
renew-dummy-cert
725
B
-rwxr-xr-x
2026-07-13 14:12
renice
16.46
KB
-rwxr-xr-x
2026-02-04 20:18
repo-graph
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
repoclosure
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
repodiff
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
repomanage
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
repoquery
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
reposync
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
repotrack
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
rescan-scsi-bus.sh
38.24
KB
-rwxr-xr-x
2026-08-18 13:04
reset
24.76
KB
-rwxr-xr-x
2023-10-14 18:54
resizecons
20.77
KB
-rwxr-xr-x
2023-10-14 21:01
resolvectl
195.75
KB
-rwxr-xr-x
2026-06-16 17:17
rev
12.46
KB
-rwxr-xr-x
2026-02-04 20:18
rm
70.38
KB
-rwxr-xr-x
2026-07-28 19:49
rmdir
45.46
KB
-rwxr-xr-x
2026-07-28 19:49
rmid
11.4
KB
-rwxr-xr-x
2026-08-20 15:05
rmiregistry
11.41
KB
-rwxr-xr-x
2026-08-20 15:05
rnano
247.94
KB
-rwxr-xr-x
2024-09-24 02:16
rpcbind
61.55
KB
-rwxr-xr-x
2022-10-12 11:00
rpcinfo
32.64
KB
-rwxr-xr-x
2022-10-12 11:00
rpm
20.85
KB
-rwxr-xr-x
2024-12-17 04:11
rpm2archive
20.46
KB
-rwxr-xr-x
2024-12-17 04:11
rpm2cpio
11.84
KB
-rwxr-xr-x
2024-12-17 04:11
rpmbuild
30.8
KB
-rwxr-xr-x
2024-12-17 04:11
rpmdb
16.96
KB
-rwxr-xr-x
2024-12-17 04:11
rpmkeys
16.87
KB
-rwxr-xr-x
2024-12-17 04:11
rpmquery
20.85
KB
-rwxr-xr-x
2024-12-17 04:11
rpmsign
17.01
KB
-rwxr-xr-x
2024-12-17 04:11
rpmspec
17.05
KB
-rwxr-xr-x
2024-12-17 04:11
rpmverify
20.85
KB
-rwxr-xr-x
2024-12-17 04:11
rsync
522.35
KB
-rwxr-xr-x
2026-06-16 17:52
run-parts
1.94
KB
-rwxr-xr-x
2021-04-08 09:38
run-with-aspell
85
B
-rwxr-xr-x
2022-04-18 15:10
runcon
37.38
KB
-rwxr-xr-x
2026-07-28 19:49
rvi
1.13
MB
-rwxr-xr-x
2026-07-30 12:18
rview
1.13
MB
-rwxr-xr-x
2026-07-30 12:18
rvim
2.93
MB
-rwxr-xr-x
2026-07-30 12:18
sadf
334.57
KB
-rwxr-xr-x
2024-07-03 09:57
sandbox
17.62
KB
-rwxr-xr-x
2024-07-02 21:08
sar
135.77
KB
-rwxr-xr-x
2024-07-03 09:57
sasl2-sample-client
20.84
KB
-rwxr-xr-x
2022-02-23 20:13
sasl2-sample-server
24.7
KB
-rwxr-xr-x
2022-02-23 20:13
scalar
2.18
MB
-rwxr-xr-x
2025-07-23 06:59
sccmap
20.62
KB
-rwxr-xr-x
2024-04-06 12:47
scl
36.87
KB
-rwxr-xr-x
2023-04-01 16:10
scl_enabled
258
B
-rwxr-xr-x
2017-08-25 08:23
scl_source
1.82
KB
-rwxr-xr-x
2023-04-01 16:10
scp
102.84
KB
-rwxr-xr-x
2026-07-29 12:51
script
36.8
KB
-rwxr-xr-x
2026-02-04 20:18
scriptreplay
29
KB
-rwxr-xr-x
2026-02-04 20:18
scsi-rescan
38.24
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_logging_level
8.38
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_mandat
3.52
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_readcap
1.3
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_ready
1.09
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_satl
3.77
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_start
1.25
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_stop
1.44
KB
-rwxr-xr-x
2026-08-18 13:04
scsi_temperature
936
B
-rwxr-xr-x
2026-08-18 13:04
sctp_darn
46.57
KB
-rwxr-xr-x
2019-12-05 11:44
sctp_status
25.36
KB
-rwxr-xr-x
2019-12-05 11:44
sctp_test
37.43
KB
-rwxr-xr-x
2019-12-05 11:44
sdiff
105.33
KB
-rwxr-xr-x
2020-05-04 15:15
sealert
27.27
KB
-rwxr-xr-x
2024-04-06 13:44
secon
25.46
KB
-rwxr-xr-x
2024-07-02 21:04
secret-tool
21.17
KB
-rwxr-xr-x
2019-11-15 09:37
sed
115.27
KB
-rwxr-xr-x
2026-04-14 19:22
sedismod
273.66
KB
-rwxr-xr-x
2019-12-10 17:48
sedispol
198.48
KB
-rwxr-xr-x
2019-12-10 17:48
semodule_expand
12.28
KB
-rwxr-xr-x
2024-07-02 21:04
semodule_link
12.28
KB
-rwxr-xr-x
2024-07-02 21:04
semodule_package
16.68
KB
-rwxr-xr-x
2024-07-02 21:04
semodule_unpackage
12.3
KB
-rwxr-xr-x
2024-07-02 21:04
seq
53.45
KB
-rwxr-xr-x
2026-07-28 19:49
servertool
11.41
KB
-rwxr-xr-x
2026-08-20 15:05
sessreg
17.38
KB
-rwxr-xr-x
2019-10-15 13:08
setarch
20.76
KB
-rwxr-xr-x
2026-02-04 20:18
setfacl
44.98
KB
-rwxr-xr-x
2026-07-22 11:05
setfattr
24.72
KB
-rwxr-xr-x
2026-08-18 13:09
setfont
45.19
KB
-rwxr-xr-x
2023-10-14 21:01
setkeycodes
12.56
KB
-rwxr-xr-x
2023-10-14 21:01
setleds
16.6
KB
-rwxr-xr-x
2023-10-14 21:01
setmetamode
12.56
KB
-rwxr-xr-x
2023-10-14 21:01
setpriv
45.16
KB
-rwxr-xr-x
2026-02-04 20:18
setsid
16.38
KB
-rwxr-xr-x
2026-02-04 20:18
setterm
45.13
KB
-rwxr-xr-x
2026-02-04 20:18
setup-nsssysinit
1.5
KB
-rwxr-xr-x
2026-04-14 17:44
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
2026-04-14 17:44
setvtrgb
16.64
KB
-rwxr-xr-x
2023-10-14 21:01
sfdp
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
sftp
159.75
KB
-rwxr-xr-x
2026-07-29 12:51
sg
42.46
KB
-rwsr-xr-x
2025-12-18 13:51
sg_bg_ctl
16.08
KB
-rwxr-xr-x
2026-08-18 13:04
sg_compare_and_write
20.91
KB
-rwxr-xr-x
2026-08-18 13:04
sg_copy_results
20.82
KB
-rwxr-xr-x
2026-08-18 13:04
sg_dd
44.59
KB
-rwxr-xr-x
2026-08-18 13:04
sg_decode_sense
20.34
KB
-rwxr-xr-x
2026-08-18 13:04
sg_emc_trespass
12.27
KB
-rwxr-xr-x
2026-08-18 13:04
sg_format
33.38
KB
-rwxr-xr-x
2026-08-18 13:04
sg_get_config
33.33
KB
-rwxr-xr-x
2026-08-18 13:04
sg_get_lba_status
20.48
KB
-rwxr-xr-x
2026-08-18 13:04
sg_ident
16.18
KB
-rwxr-xr-x
2026-08-18 13:04
sg_inq
117.91
KB
-rwxr-xr-x
2026-08-18 13:04
sg_logs
150.03
KB
-rwxr-xr-x
2026-08-18 13:04
sg_luns
24.87
KB
-rwxr-xr-x
2026-08-18 13:04
sg_map
16.41
KB
-rwxr-xr-x
2026-08-18 13:04
sg_map26
24.88
KB
-rwxr-xr-x
2026-08-18 13:04
sg_modes
43.89
KB
-rwxr-xr-x
2026-08-18 13:04
sg_opcodes
28.69
KB
-rwxr-xr-x
2026-08-18 13:04
sg_persist
34.14
KB
-rwxr-xr-x
2026-08-18 13:04
sg_prevent
12.08
KB
-rwxr-xr-x
2026-08-18 13:04
sg_raw
24.4
KB
-rwxr-xr-x
2026-08-18 13:04
sg_rbuf
20.85
KB
-rwxr-xr-x
2026-08-18 13:04
sg_rdac
15.88
KB
-rwxr-xr-x
2026-08-18 13:04
sg_read
24.43
KB
-rwxr-xr-x
2026-08-18 13:04
sg_read_attr
34.8
KB
-rwxr-xr-x
2026-08-18 13:04
sg_read_block_limits
12.13
KB
-rwxr-xr-x
2026-08-18 13:04
sg_read_buffer
20.98
KB
-rwxr-xr-x
2026-08-18 13:04
sg_read_long
16.27
KB
-rwxr-xr-x
2026-08-18 13:04
sg_readcap
20.88
KB
-rwxr-xr-x
2026-08-18 13:04
sg_reassign
16.23
KB
-rwxr-xr-x
2026-08-18 13:04
sg_referrals
16.24
KB
-rwxr-xr-x
2026-08-18 13:04
sg_rep_zones
20.67
KB
-rwxr-xr-x
2026-08-18 13:04
sg_requests
16.31
KB
-rwxr-xr-x
2026-08-18 13:04
sg_reset
16.74
KB
-rwxr-xr-x
2026-08-18 13:04
sg_reset_wp
16.18
KB
-rwxr-xr-x
2026-08-18 13:04
sg_rmsn
12.08
KB
-rwxr-xr-x
2026-08-18 13:04
sg_rtpg
16.18
KB
-rwxr-xr-x
2026-08-18 13:04
sg_safte
20.27
KB
-rwxr-xr-x
2026-08-18 13:04
sg_sanitize
24.59
KB
-rwxr-xr-x
2026-08-18 13:04
sg_sat_identify
16.73
KB
-rwxr-xr-x
2026-08-18 13:04
sg_sat_phy_event
20.59
KB
-rwxr-xr-x
2026-08-18 13:04
sg_sat_read_gplog
16.3
KB
-rwxr-xr-x
2026-08-18 13:04
sg_sat_set_features
16.27
KB
-rwxr-xr-x
2026-08-18 13:04
sg_scan
16.52
KB
-rwxr-xr-x
2026-08-18 13:04
sg_seek
16.87
KB
-rwxr-xr-x
2026-08-18 13:04
sg_senddiag
25.28
KB
-rwxr-xr-x
2026-08-18 13:04
sg_ses
118.25
KB
-rwxr-xr-x
2026-08-18 13:04
sg_ses_microcode
29.49
KB
-rwxr-xr-x
2026-08-18 13:04
sg_start
20.95
KB
-rwxr-xr-x
2026-08-18 13:04
sg_stpg
20.31
KB
-rwxr-xr-x
2026-08-18 13:04
sg_stream_ctl
20.27
KB
-rwxr-xr-x
2026-08-18 13:04
sg_sync
16.23
KB
-rwxr-xr-x
2026-08-18 13:04
sg_test_rwbuf
20.75
KB
-rwxr-xr-x
2026-08-18 13:04
sg_timestamp
20.76
KB
-rwxr-xr-x
2026-08-18 13:04
sg_turs
16.76
KB
-rwxr-xr-x
2026-08-18 13:04
sg_unmap
24.33
KB
-rwxr-xr-x
2026-08-18 13:04
sg_verify
20.47
KB
-rwxr-xr-x
2026-08-18 13:04
sg_vpd
108.77
KB
-rwxr-xr-x
2026-08-18 13:04
sg_wr_mode
20.3
KB
-rwxr-xr-x
2026-08-18 13:04
sg_write_buffer
21.26
KB
-rwxr-xr-x
2026-08-18 13:04
sg_write_long
16.34
KB
-rwxr-xr-x
2026-08-18 13:04
sg_write_same
24.49
KB
-rwxr-xr-x
2026-08-18 13:04
sg_write_verify
20.8
KB
-rwxr-xr-x
2026-08-18 13:04
sg_write_x
53.77
KB
-rwxr-xr-x
2026-08-18 13:04
sg_xcopy
40.6
KB
-rwxr-xr-x
2026-08-18 13:04
sg_zone
16.3
KB
-rwxr-xr-x
2026-08-18 13:04
sginfo
74.85
KB
-rwxr-xr-x
2026-08-18 13:04
sgm_dd
32.56
KB
-rwxr-xr-x
2026-08-18 13:04
sgmlwhich
265
B
-rwxr-xr-x
2000-11-17 08:36
sgp_dd
36.96
KB
-rwxr-xr-x
2026-08-18 13:04
sh
1.1
MB
-rwxr-xr-x
2025-08-26 08:48
sha1hmac
32.66
KB
-rwxr-xr-x
2024-03-30 14:16
sha1sum
45.55
KB
-rwxr-xr-x
2026-07-28 19:49
sha224hmac
32.66
KB
-rwxr-xr-x
2024-03-30 14:16
sha224sum
45.58
KB
-rwxr-xr-x
2026-07-28 19:49
sha256hmac
32.66
KB
-rwxr-xr-x
2024-03-30 14:16
sha256sum
45.58
KB
-rwxr-xr-x
2026-07-28 19:49
sha384hmac
32.66
KB
-rwxr-xr-x
2024-03-30 14:16
sha384sum
45.59
KB
-rwxr-xr-x
2026-07-28 19:49
sha512hmac
32.66
KB
-rwxr-xr-x
2024-03-30 14:16
sha512sum
45.59
KB
-rwxr-xr-x
2026-07-28 19:49
shasum
9.66
KB
-rwxr-xr-x
2019-10-14 12:00
showconsolefont
20.73
KB
-rwxr-xr-x
2023-10-14 21:01
showkey
16.58
KB
-rwxr-xr-x
2023-10-14 21:01
showrgb
13.05
KB
-rwxr-xr-x
2019-10-15 13:08
shred
61.85
KB
-rwxr-xr-x
2026-07-28 19:49
shuf
58.09
KB
-rwxr-xr-x
2026-07-28 19:49
sieve-dump
35.03
KB
-rwxr-xr-x
2026-07-15 21:51
sieve-filter
44.48
KB
-rwxr-xr-x
2026-07-15 21:51
sieve-test
40.42
KB
-rwxr-xr-x
2026-07-15 21:51
sievec
35.28
KB
-rwxr-xr-x
2026-07-15 21:51
signver
114.79
KB
-rwxr-xr-x
2026-04-14 17:44
sim_client
16.27
KB
-rwxr-xr-x
2026-05-13 06:34
sim_lsmplugin
1.22
KB
-rwxr-xr-x
2023-10-11 23:25
simc_lsmplugin
114.45
KB
-rwxr-xr-x
2023-10-11 23:25
size
33.25
KB
-rwxr-xr-x
2025-12-18 14:21
skill
28.8
KB
-rwxr-xr-x
2023-10-14 20:31
slabinfo
36.15
KB
-rwxr-xr-x
2026-08-26 07:56
slabtop
20.84
KB
-rwxr-xr-x
2023-10-14 20:31
sleep
37.4
KB
-rwxr-xr-x
2026-07-28 19:49
slencheck
12.29
KB
-rwxr-xr-x
2025-12-18 13:02
sm3hmac
32.66
KB
-rwxr-xr-x
2024-03-30 14:16
smtpd2.7.py
18.11
KB
-rwxr-xr-x
2024-04-10 04:57
smtpd2.py
18.11
KB
-rwxr-xr-x
2024-04-10 04:57
snice
28.8
KB
-rwxr-xr-x
2023-10-14 20:31
snmpconf
25.44
KB
-rwxr-xr-x
2026-01-19 08:19
socat
406.49
KB
-rwxr-xr-x
2025-07-15 09:33
soelim
42.55
KB
-rwxr-xr-x
2019-10-13 14:29
sort
123.47
KB
-rwxr-xr-x
2026-07-28 19:49
sotruss
4.18
KB
-rwxr-xr-x
2026-07-21 14:46
source-highlight
84.3
KB
-rwxr-xr-x
2024-08-13 19:55
source-highlight-esc.sh
1017
B
-rwxr-xr-x
2024-08-13 19:55
source-highlight-settings
20.91
KB
-rwxr-xr-x
2024-08-13 19:55
spell
122
B
-rwxr-xr-x
2022-04-18 15:10
splain
18.7
KB
-rwxr-xr-x
2025-07-28 08:08
split
58.05
KB
-rwxr-xr-x
2026-07-28 19:49
splitdiff
3.38
KB
-rwxr-xr-x
2019-10-16 17:20
sprof
28.67
KB
-rwxr-xr-x
2026-07-21 14:52
sqlite3
1.28
MB
-rwxr-xr-x
2026-08-24 12:53
src-hilite-lesspipe.sh
490
B
-rwxr-xr-x
2024-08-13 19:55
sscg
57.14
KB
-rwxr-xr-x
2023-04-02 05:28
ssh
757.59
KB
-rwxr-xr-x
2026-07-29 12:51
ssh-add
346.14
KB
-rwxr-xr-x
2026-07-29 12:51
ssh-agent
325.57
KB
-rwxr-xr-x
2026-07-29 12:51
ssh-copy-id
10.44
KB
-rwxr-xr-x
2026-07-29 12:50
ssh-keygen
427.18
KB
-rwxr-xr-x
2026-07-29 12:51
ssh-keyscan
432.61
KB
-rwxr-xr-x
2026-07-29 12:51
ssltap
130.51
KB
-rwxr-xr-x
2026-04-14 17:44
sss_ssh_authorizedkeys
28.78
KB
-rwxr-xr-x
2026-07-28 01:54
sss_ssh_knownhostsproxy
28.78
KB
-rwxr-xr-x
2026-07-28 01:54
stap
3.84
MB
-rwxr-xr-x
2023-10-14 13:07
stap-merge
12.27
KB
-rwxr-xr-x
2023-10-14 13:07
stap-prep
6.34
KB
-rwxr-xr-x
2023-10-14 13:06
stap-profile-annotate
15.69
KB
-rwxr-xr-x
2023-10-14 13:06
stap-report
4.79
KB
-rwxr-xr-x
2023-10-14 13:06
stapbpf
272.02
KB
-rwxr-xr-x
2023-10-14 13:07
stapdyn
217.65
KB
-rwxr-xr-x
2023-10-14 13:07
staprun
253.38
KB
---s--x---
2023-10-14 13:07
stapsh
24.55
KB
-rwxr-xr-x
2023-10-14 13:07
stat
86.16
KB
-rwxr-xr-x
2026-07-28 19:49
stdbuf
49.5
KB
-rwxr-xr-x
2026-07-28 19:49
strace
1.94
MB
-rwxr-xr-x
2025-01-28 01:32
strace-log-merge
1.78
KB
-rwxr-xr-x
2021-02-16 08:00
stream
11.83
KB
-rwxr-xr-x
2026-07-22 08:42
strings
37.43
KB
-rwxr-xr-x
2025-12-18 14:21
strip
240.09
KB
-rwxr-xr-x
2025-12-18 14:21
stty
77.61
KB
-rwxr-xr-x
2026-07-28 19:49
su
48.99
KB
-rwsr-x---
2026-02-04 20:18
sudo
186.52
KB
---s--x--x
2026-04-29 08:49
sudoedit
186.52
KB
---s--x--x
2026-04-29 08:49
sudoreplay
119.2
KB
---x--x--x
2026-04-29 08:49
sum
45.53
KB
-rwxr-xr-x
2026-07-28 19:49
sw-engine
20.12
MB
-rwxr-xr-x
1990-01-01 12:00
sxpm
28.81
KB
-rwxr-xr-x
2024-03-30 13:53
symlinks
17.16
KB
-rwxr-xr-x
2019-10-21 15:07
sync
37.36
KB
-rwxr-xr-x
2026-07-28 19:49
systemctl
218.45
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-analyze
1.56
MB
-rwxr-xr-x
2026-06-16 17:17
systemd-ask-password
12.02
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-cat
16.03
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-cgls
16.44
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-cgtop
32.88
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-delta
24.45
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-detect-virt
11.88
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-escape
16.01
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-firstboot
36.98
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-hwdb
28.91
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-inhibit
16.03
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-machine-id-setup
24.75
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-mount
52.63
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-notify
16.03
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-path
16.02
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-resolve
195.75
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-run
48.95
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-socket-activate
24.77
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-stdio-bridge
16.02
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-sysusers
53.05
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-tmpfiles
73.3
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-tty-ask-password-agent
32.82
KB
-rwxr-xr-x
2026-06-16 17:17
systemd-umount
52.63
KB
-rwxr-xr-x
2026-06-16 17:17
tabs
16.55
KB
-rwxr-xr-x
2023-10-14 18:54
tac
41.49
KB
-rwxr-xr-x
2026-07-28 19:49
tail
74.13
KB
-rwxr-xr-x
2026-07-28 19:49
tapestat
41.32
KB
-rwxr-xr-x
2024-07-03 09:57
tar
448.99
KB
-rwxr-xr-x
2025-08-26 08:57
taskset
37.26
KB
-rwxr-xr-x
2026-02-04 20:18
tbl
154.61
KB
-rwxr-xr-x
2019-10-13 14:29
tcamgr
25.13
KB
-rwxr-xr-x
2019-10-13 01:22
tcamttest
21.16
KB
-rwxr-xr-x
2019-10-13 01:22
tcatest
57.6
KB
-rwxr-xr-x
2019-10-13 01:22
tcbmgr
29.1
KB
-rwxr-xr-x
2019-10-13 01:22
tcbmttest
53.22
KB
-rwxr-xr-x
2019-10-13 01:22
tcbtest
69.56
KB
-rwxr-xr-x
2019-10-13 01:22
tcfmgr
25.09
KB
-rwxr-xr-x
2019-10-13 01:22
tcfmttest
37.2
KB
-rwxr-xr-x
2019-10-13 01:22
tcftest
45.18
KB
-rwxr-xr-x
2019-10-13 01:22
tchmgr
25.09
KB
-rwxr-xr-x
2019-10-13 01:22
tchmttest
49.22
KB
-rwxr-xr-x
2019-10-13 01:22
tchtest
57.53
KB
-rwxr-xr-x
2019-10-13 01:22
tclsh
9.04
KB
-rwxr-xr-x
2019-10-12 00:25
tclsh8.6
9.04
KB
-rwxr-xr-x
2019-10-12 00:25
tcptraceroute
1.55
KB
-rwxr-xr-x
2025-03-11 07:45
tctmgr
37.09
KB
-rwxr-xr-x
2019-10-13 01:22
tctmttest
45.2
KB
-rwxr-xr-x
2019-10-13 01:22
tcttest
57.19
KB
-rwxr-xr-x
2019-10-13 01:22
tcucodec
37.08
KB
-rwxr-xr-x
2019-10-13 01:22
tcumttest
25.16
KB
-rwxr-xr-x
2019-10-13 01:22
tcutest
73.17
KB
-rwxr-xr-x
2019-10-13 01:22
teamd
160.52
KB
-rwxr-xr-x
2023-03-31 20:40
teamdctl
30.37
KB
-rwxr-xr-x
2023-03-31 20:40
teamnl
20.47
KB
-rwxr-xr-x
2023-03-31 20:40
tee
41.48
KB
-rwxr-xr-x
2026-07-28 19:49
test
53.56
KB
-rwxr-xr-x
2026-07-28 19:49
tic
85.31
KB
-rwxr-xr-x
2023-10-14 18:54
time
27.54
KB
-rwxr-xr-x
2019-10-11 15:23
timedatectl
36.96
KB
-rwxr-xr-x
2026-06-16 17:17
timeout
41.86
KB
-rwxr-xr-x
2026-07-28 19:49
tload
16.76
KB
-rwxr-xr-x
2023-10-14 20:31
tmon
39.63
KB
-rwxr-xr-x
2026-08-26 07:56
tmpwatch
35.47
KB
-rwxr-xr-x
2019-10-12 11:32
tnameserv
11.46
KB
-rwxr-xr-x
2026-08-20 15:05
toe
16.45
KB
-rwxr-xr-x
2023-10-14 18:54
top
121.7
KB
-rwxr-xr-x
2023-10-14 20:31
touch
93.94
KB
-rwxr-xr-x
2026-07-28 19:49
tput
24.8
KB
-rwxr-xr-x
2023-10-14 18:54
tr
49.63
KB
-rwxr-xr-x
2026-07-28 19:49
tracepath
20.44
KB
-rwxr-xr-x
2023-10-14 17:19
tracer
1.15
KB
-rwxr-xr-x
2024-04-06 12:27
traceroute
70.97
KB
-rwxr-xr-x
2025-03-11 07:45
traceroute6
70.97
KB
-rwxr-xr-x
2025-03-11 07:45
tred
16.59
KB
-rwxr-xr-x
2024-04-06 12:47
tree
81.59
KB
-rwxr-xr-x
2019-10-12 00:35
troff
805.02
KB
-rwxr-xr-x
2019-10-13 14:29
true
33.33
KB
-rwxr-xr-x
2026-07-28 19:49
truncate
41.36
KB
-rwxr-xr-x
2026-07-28 19:49
trust
219.55
KB
-rwxr-xr-x
2024-04-06 14:16
tset
24.76
KB
-rwxr-xr-x
2023-10-14 18:54
tsort
41.49
KB
-rwxr-xr-x
2026-07-28 19:49
tty
33.31
KB
-rwxr-xr-x
2026-07-28 19:49
turbostat
130.8
KB
-rwxr-xr-x
2026-08-26 07:56
twopi
12.26
KB
-rwxr-xr-x
2024-04-06 12:47
type
28
B
-rwxr-xr-x
2025-08-26 08:48
tzselect
15.01
KB
-rwxr-xr-x
2026-07-21 14:46
uapi
3.33
MB
-rwxr-xr-x
2026-08-18 11:03
ucs2any
24.41
KB
-rwxr-xr-x
2021-10-09 23:42
udevadm
424.56
KB
-rwxr-xr-x
2026-06-16 17:17
ul
20.59
KB
-rwxr-xr-x
2026-02-04 20:18
ulimit
30
B
-rwxr-xr-x
2025-08-26 08:48
umask
29
B
-rwxr-xr-x
2025-08-26 08:48
umount
32.75
KB
-rwsr-xr-x
2026-02-04 20:18
unalias
31
B
-rwxr-xr-x
2025-08-26 08:48
uname
37.33
KB
-rwxr-xr-x
2026-07-28 19:49
uname26
20.76
KB
-rwxr-xr-x
2026-02-04 20:18
unexpand
45.59
KB
-rwxr-xr-x
2026-07-28 19:49
unflatten
16.63
KB
-rwxr-xr-x
2024-04-06 12:47
unicode_start
2.55
KB
-rwxr-xr-x
2023-10-14 20:59
unicode_stop
363
B
-rwxr-xr-x
2023-10-14 20:59
uniq
49.64
KB
-rwxr-xr-x
2026-07-28 19:49
unix2dos
58.53
KB
-rwxr-xr-x
2019-10-12 00:46
unix2mac
58.53
KB
-rwxr-xr-x
2019-10-12 00:46
unlink
33.34
KB
-rwxr-xr-x
2026-07-28 19:49
unpack200
228.99
KB
-rwxr-xr-x
2026-08-20 15:05
unpigz
125.38
KB
-rwxr-xr-x
2020-06-01 15:15
unshare
24.93
KB
-rwxr-xr-x
2026-02-04 20:18
unversioned-python
157
B
-rwxr-xr-x
2026-08-18 15:09
unwrapdiff
5.8
KB
-rwxr-xr-x
2019-10-16 17:20
unxz
82.09
KB
-rwxr-xr-x
2022-06-14 13:03
unzip
201.88
KB
-rwxr-xr-x
2025-06-03 02:10
unzipsfx
101.48
KB
-rwxr-xr-x
2025-06-03 02:10
unzstd
766.11
KB
-rwxr-xr-x
2020-08-18 22:44
update-ca-trust
1.24
KB
-rwxr-xr-x
2025-10-30 14:25
update-crypto-policies
87
B
-rwxr-xr-x
2023-08-01 15:18
update-gtk-immodules
313
B
-rwxr-xr-x
2021-04-06 13:52
update-mime-database
57.22
KB
-rwxr-xr-x
2024-04-06 14:07
updatedb
53.84
KB
-rwxr-xr-x
2019-10-14 15:43
uptime
12.59
KB
-rwxr-xr-x
2023-10-14 20:31
usb-devices
4.01
KB
-rwxr-xr-x
2018-05-15 10:05
usbhid-dump
31.04
KB
-rwxr-xr-x
2019-10-21 16:04
users
37.4
KB
-rwxr-xr-x
2026-07-28 19:49
usleep
11.86
KB
-rwxr-xr-x
2025-11-04 09:19
utmpdump
28.66
KB
-rwxr-xr-x
2026-02-04 20:18
uuclient
15.88
KB
-rwxr-xr-x
2026-05-13 06:34
uuidgen
16.38
KB
-rwxr-xr-x
2026-02-04 20:18
uuidparse
37.13
KB
-rwxr-xr-x
2026-02-04 20:18
valgrind
23.45
KB
-rwxr-xr-x
2026-06-16 16:35
valgrind-di-server
31.38
KB
-rwxr-xr-x
2026-06-16 16:35
valgrind-listener
15.38
KB
-rwxr-xr-x
2026-06-16 16:35
vdir
139.9
KB
-rwxr-xr-x
2026-07-28 19:49
vdo
5
KB
-rwxr-xr-x
2024-12-17 09:08
vdo-by-dev
1.83
KB
-rwxr-xr-x
2024-12-17 09:08
vdodmeventd
62.45
KB
-rwxr-xr-x
2024-12-17 09:08
vdodumpconfig
536.63
KB
-rwxr-xr-x
2024-12-17 09:08
vdoforcerebuild
524.27
KB
-rwxr-xr-x
2024-12-17 09:08
vdoformat
549.13
KB
-rwxr-xr-x
2024-12-17 09:08
vdosetuuid
536.66
KB
-rwxr-xr-x
2024-12-17 09:08
vdostats
10.26
KB
-rwxr-xr-x
2024-12-17 09:08
verify_blkparse
11.87
KB
-rwxr-xr-x
2024-09-24 08:24
vgdb
75.55
KB
-rwxr-xr-x
2026-06-16 16:35
vi
1.13
MB
-rwxr-xr-x
2026-07-30 12:18
view
1.13
MB
-rwxr-xr-x
2026-07-30 12:18
vim
2.93
MB
-rwxr-xr-x
2026-07-30 12:18
vimdiff
2.93
MB
-rwxr-xr-x
2026-07-30 12:18
vimdot
1.06
KB
-rwxr-xr-x
2024-04-06 12:47
vimtutor
2.07
KB
-rwxr-xr-x
2026-07-30 12:18
vlock
20.83
KB
-rwxr-xr-x
2023-10-14 21:01
vmstat
36.79
KB
-rwxr-xr-x
2023-10-14 20:31
w
20.75
KB
-rwxr-xr-x
2023-10-14 20:31
wait
28
B
-rwxr-xr-x
2025-08-26 08:48
wall
33.05
KB
-rwxr-xr-x
2026-02-04 20:18
watch
29.19
KB
-rwxr-xr-x
2023-10-14 20:31
watchgnupg
16.44
KB
-rwxr-xr-x
2026-01-16 01:48
wc
49.64
KB
-rwxr-xr-x
2026-07-28 19:49
wdctl
36.98
KB
-rwxr-xr-x
2026-02-04 20:18
wget
521.43
KB
-rwxr-xr-x
2026-09-01 17:20
whatis
54.04
KB
-rwxr-xr-x
2021-10-08 13:04
whereis
29.27
KB
-rwxr-xr-x
2026-02-04 20:18
which
29.38
KB
-rwxr-xr-x
2025-08-26 08:54
whiptail
33.09
KB
-rwxr-xr-x
2020-06-01 14:11
who
53.59
KB
-rwxr-xr-x
2026-07-28 19:49
whoami
33.34
KB
-rwxr-xr-x
2026-07-28 19:49
wish
13.05
KB
-rwxr-xr-x
2019-10-16 17:25
wish8.6
13.05
KB
-rwxr-xr-x
2019-10-16 17:25
withsctp
246
B
-rwxr-xr-x
2019-12-05 11:44
wmf2eps
17.15
KB
-rwxr-xr-x
2019-10-14 15:47
wmf2fig
17.15
KB
-rwxr-xr-x
2019-10-14 15:47
wmf2gd
17.14
KB
-rwxr-xr-x
2019-10-14 15:47
wmf2svg
17.16
KB
-rwxr-xr-x
2019-10-14 15:47
wmf2x
17.13
KB
-rwxr-xr-x
2019-10-14 15:47
word-list-compress
11.99
KB
-rwxr-xr-x
2022-04-18 15:10
write
20.62
KB
-rwxr-sr-x
2026-02-04 20:18
x86_64
20.76
KB
-rwxr-xr-x
2026-02-04 20:18
x86_64-redhat-linux-c++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-g++
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-gcc
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-gcc-8
1.21
MB
-rwxr-xr-x
2025-08-26 09:47
x86_64-redhat-linux-gnu-pkg-config
424
B
-rwxr-xr-x
2019-10-13 06:57
x86_energy_perf_policy
31.95
KB
-rwxr-xr-x
2026-08-26 07:56
xargs
74.11
KB
-rwxr-xr-x
2025-12-18 14:57
xgamma
17.08
KB
-rwxr-xr-x
2019-10-15 13:08
xgettext
283.88
KB
-rwxr-xr-x
2019-11-18 17:17
xhost
17.12
KB
-rwxr-xr-x
2019-10-15 13:08
xinput
63.61
KB
-rwxr-xr-x
2019-10-15 13:08
xkill
17.1
KB
-rwxr-xr-x
2019-10-15 13:08
xml2-config
1.71
KB
-rwxr-xr-x
2017-07-23 05:10
xmlcatalog
20.38
KB
-rwxr-xr-x
2026-08-31 04:29
xmllint
73.38
KB
-rwxr-xr-x
2026-08-31 04:29
xmlwf
36.97
KB
-rwxr-xr-x
2026-06-03 11:35
xmodmap
39.98
KB
-rwxr-xr-x
2019-10-15 13:08
xorg-x11-fonts-update-dirs
1.29
KB
-rwxr--r--
2021-10-09 23:42
xrandr
65.46
KB
-rwxr-xr-x
2019-10-15 13:08
xrdb
33.98
KB
-rwxr-xr-x
2019-10-15 13:08
xrefresh
17.94
KB
-rwxr-xr-x
2019-10-15 13:08
xset
37.2
KB
-rwxr-xr-x
2019-10-15 13:08
xsetpointer
13.05
KB
-rwxr-xr-x
2019-10-15 13:08
xsetroot
21.44
KB
-rwxr-xr-x
2019-10-15 13:08
xslt-config
2.36
KB
-rwxr-xr-x
2015-05-10 14:11
xsltproc
28.47
KB
-rwxr-xr-x
2026-06-16 16:39
xstdcmap
17.68
KB
-rwxr-xr-x
2019-10-15 13:08
xsubpp
4.96
KB
-rwxr-xr-x
2019-10-13 08:58
xxd
20.54
KB
-rwxr-xr-x
2026-07-30 12:18
xz
82.09
KB
-rwxr-xr-x
2022-06-14 13:03
xzcat
82.09
KB
-rwxr-xr-x
2022-06-14 13:03
xzcmp
6.48
KB
-rwxr-xr-x
2022-06-14 13:03
xzdec
16.48
KB
-rwxr-xr-x
2022-06-14 13:03
xzdiff
6.48
KB
-rwxr-xr-x
2022-06-14 13:03
xzegrep
5.76
KB
-rwxr-xr-x
2022-06-14 13:03
xzfgrep
5.76
KB
-rwxr-xr-x
2022-06-14 13:03
xzgrep
5.76
KB
-rwxr-xr-x
2022-06-14 13:03
xzless
1.76
KB
-rwxr-xr-x
2022-06-14 13:03
xzmore
2.11
KB
-rwxr-xr-x
2022-06-14 13:03
yacc
108.48
KB
-rwxr-xr-x
2019-10-14 19:26
yat2m
33.34
KB
-rwxr-xr-x
2019-10-12 12:20
yes
33.37
KB
-rwxr-xr-x
2026-07-28 19:49
ypdomainname
21.16
KB
-rwxr-xr-x
2019-10-11 13:06
yum
2.05
KB
-rwxr-xr-x
2025-03-11 09:47
yum-builddep
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
yum-config-manager
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
yum-debug-dump
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
yum-debug-restore
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
yum-groups-manager
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
yumdownloader
3.62
KB
-rwxr-xr-x
2024-04-08 10:02
zcat
1.94
KB
-rwxr-xr-x
2022-04-27 05:49
zcmp
1.64
KB
-rwxr-xr-x
2022-04-27 05:49
zdiff
5.74
KB
-rwxr-xr-x
2022-04-27 05:49
zegrep
29
B
-rwxr-xr-x
2022-04-27 05:49
zfgrep
29
B
-rwxr-xr-x
2022-04-27 05:49
zforce
2.03
KB
-rwxr-xr-x
2022-04-27 05:49
zgrep
7.4
KB
-rwxr-xr-x
2022-04-27 05:49
zip
229
KB
-rwxr-xr-x
2019-10-11 13:11
zipcloak
102.91
KB
-rwxr-xr-x
2019-10-11 13:11
zipdetails
49.39
KB
-rwxr-xr-x
2026-06-29 03:15
zipgrep
2.88
KB
-rwxr-xr-x
2008-10-10 17:40
zipinfo
201.88
KB
-rwxr-xr-x
2025-06-03 02:10
zipnote
97.76
KB
-rwxr-xr-x
2019-10-11 13:11
zipsplit
97.76
KB
-rwxr-xr-x
2019-10-11 13:11
zless
2.15
KB
-rwxr-xr-x
2022-04-27 05:49
zlib_decompress
6.16
MB
-rwxr-xr-x
2026-04-07 17:09
zmore
1.8
KB
-rwxr-xr-x
2022-04-27 05:49
znew
4.45
KB
-rwxr-xr-x
2022-04-27 05:49
zone2json
1.39
MB
-rwxr-xr-x
2026-08-10 19:13
zone2sql
1.41
MB
-rwxr-xr-x
2026-08-10 19:13
zsoelim
42.55
KB
-rwxr-xr-x
2019-10-13 14:29
zstd
766.11
KB
-rwxr-xr-x
2020-08-18 22:44
zstdcat
766.11
KB
-rwxr-xr-x
2020-08-18 22:44
zstdgrep
3.79
KB
-rwxr-xr-x
2019-11-04 17:54
zstdless
30
B
-rwxr-xr-x
2019-11-04 17:54
zstdmt
766.11
KB
-rwxr-xr-x
2020-08-18 22:44
Save
Rename
#!/usr/bin/python3.12 # pyright: strict # -------------------------------------------------------------------- # --- Cachegrind's annotator. cg_annotate.in --- # -------------------------------------------------------------------- # This file is part of Cachegrind, a high-precision tracing profiler # built with Valgrind. # # Copyright (C) 2002-2023 Nicholas Nethercote # njn@valgrind.org # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # # The GNU General Public License is contained in the file COPYING. # This script reads Cachegrind output files and produces human-readable output. # # Use `make pyann` to "build" this script with `auxprogs/pybuild.rs` every time # it is changed. This runs the formatters, type-checkers, and linters on # `cg_annotate.in` and then generates `cg_annotate`. from __future__ import annotations import filecmp import os import re import sys from argparse import ArgumentParser, BooleanOptionalAction, Namespace from collections import defaultdict from typing import Callable, DefaultDict, NoReturn, TextIO def die(msg: str) -> NoReturn: print("cg_annotate: error:", msg, file=sys.stderr) sys.exit(1) SearchAndReplace = Callable[[str], str] # A typed wrapper for parsed args. class Args(Namespace): # None of these fields are modified after arg parsing finishes. diff: bool mod_filename: SearchAndReplace mod_funcname: SearchAndReplace show: list[str] sort: list[str] threshold: float # a percentage show_percs: bool annotate: bool context: int cgout_filename: list[str] @staticmethod def parse() -> Args: # We support Perl-style `s/old/new/flags` search-and-replace # expressions, because that's how this option was implemented in the # old Perl version of `cg_diff`. This requires conversion from # `s/old/new/` style to `re.sub`. The conversion isn't a perfect # emulation of Perl regexps (e.g. Python uses `\1` rather than `$1` for # using captures in the `new` part), but it should be close enough. The # only supported flags are `g` (global) and `i` (ignore case). def search_and_replace(regex: str | None) -> SearchAndReplace: if regex is None: return lambda s: s # Extract the parts of an `s/old/new/tail` regex. `(?<!\\)/` is an # example of negative lookbehind. It means "match a forward slash # unless preceded by a backslash". m = re.match(r"s/(.*)(?<!\\)/(.*)(?<!\\)/(g|i|gi|ig|)$", regex) if m is None: raise ValueError # Forward slashes must be escaped in an `s/old/new/` expression, # but we then must unescape them before using them with `re.sub`. pat = m.group(1).replace(r"\/", r"/") repl = m.group(2).replace(r"\/", r"/") tail = m.group(3) if "g" in tail: count = 0 # unlimited else: count = 1 if "i" in tail: flags = re.IGNORECASE else: flags = re.RegexFlag(0) return lambda s: re.sub(re.compile(pat, flags=flags), repl, s, count=count) def comma_separated_list(values: str) -> list[str]: return values.split(",") def threshold(n: str) -> float: f = float(n) if 0 <= f <= 20: return f raise ValueError # Add a bool argument that defaults to true. # # Supports these forms: `--foo`, `--no-foo`, `--foo=yes`, `--foo=no`. # The latter two were the forms supported by the old Perl version of # `cg_annotate`, and are now deprecated. def add_bool_argument( p: ArgumentParser, new_name: str, old_name: str, help_: str ) -> None: new_flag = "--" + new_name old_flag = "--" + old_name dest = new_name.replace("-", "_") # Note: the default value is always printed with `BooleanOptionalAction`, # due to an argparse bug: https://github.com/python/cpython/issues/83137. p.add_argument( new_flag, default=True, action=BooleanOptionalAction, help=help_, ) p.add_argument( f"{old_flag}=yes", dest=dest, action="store_true", help=f"(deprecated) same as --{new_name}", ) p.add_argument( f"{old_flag}=no", dest=dest, action="store_false", help=f"(deprecated) same as --no-{new_name}", ) p = ArgumentParser(description="Process one or more Cachegrind output files.") p.add_argument("--version", action="version", version="%(prog)s-3.22.0") p.add_argument( "--diff", default=False, action="store_true", help="perform a diff between two Cachegrind output files", ) p.add_argument( "--mod-filename", type=search_and_replace, metavar="REGEX", default=search_and_replace(None), help="a search-and-replace regex applied to filenames, e.g. " "`s/prog[0-9]/progN/`", ) p.add_argument( "--mod-funcname", type=search_and_replace, metavar="REGEX", default=search_and_replace(None), help="like --mod-filename, but for function names", ) p.add_argument( "--show", type=comma_separated_list, metavar="A,B,C", help="only show figures for events A,B,C (default: all events)", ) p.add_argument( "--sort", type=comma_separated_list, metavar="A,B,C", help="sort functions by events A,B,C (default: event column order)", ) p.add_argument( "--threshold", type=threshold, default=0.1, metavar="N:[0,20]", help="only show file:function/function:file pairs with more than " "N%% of primary sort event counts (default: %(default)s)", ) add_bool_argument( p, "show-percs", "show-percs", "show a percentage for each non-zero count", ) add_bool_argument( p, "annotate", "auto", "annotate all source files containing functions that reached the " "event count threshold", ) p.add_argument( "--context", type=int, default=8, metavar="N", help="print N lines of context before and after annotated lines " "(default: %(default)s)", ) p.add_argument( "cgout_filename", nargs="+", metavar="cachegrind-out-file", help="file produced by Cachegrind", ) # `args0` name used to avoid shadowing the global `args`, which pylint # doesn't like. args0 = p.parse_args(namespace=Args()) if args0.diff and len(args0.cgout_filename) != 2: p.print_usage(file=sys.stderr) die("argument --diff: requires exactly two Cachegrind output files") return args0 # type: ignore [return-value] # Args are stored in a global for easy access. args = Args.parse() # A single instance of this class is constructed, from `args` and the `events:` # line in the cgout file. class Events: # The event names. events: list[str] # Equal to `len(self.events)`. num_events: int # The order in which we must traverse events for --show. Can be shorter # than `events`. show_events: list[str] # Like `show_events`, but indices into `events`, rather than names. show_indices: list[int] # The order in which we must traverse events for --sort. Can be shorter # than `events`. sort_events: list[str] # Like `sort_events`, but indices into `events`, rather than names. sort_indices: list[int] def __init__(self) -> None: # All fields are left uninitialized here, and set instead in `init`. pass def init(self, text: str) -> None: self.events = text.split() self.num_events = len(self.events) # A temporary dict mapping events to indices, [0, n-1]. event_indices = {event: n for n, event in enumerate(self.events)} # If --show is given, check it is valid. If --show is not given, # default to all events in the standard order. if args.show: for event in args.show: if event not in event_indices: die(f"--show event `{event}` did not appear in `events:` line") self.show_events = args.show else: self.show_events = self.events self.show_indices = [event_indices[event] for event in self.show_events] # Likewise for --sort. if args.sort: for event in args.sort: if event not in event_indices: die(f"--sort event `{event}` did not appear in `events:` line") self.sort_events = args.sort else: self.sort_events = self.events self.sort_indices = [event_indices[event] for event in self.sort_events] # Raises a `ValueError` exception on syntax error. def mk_cc(self, str_counts: list[str]) -> Cc: # This is slightly faster than a list comprehension. counts = list(map(int, str_counts)) if len(counts) == self.num_events: pass elif len(counts) < self.num_events: # Add zeroes at the end for any missing numbers. counts.extend([0] * (self.num_events - len(counts))) else: raise ValueError return counts def mk_empty_cc(self) -> Cc: # This is much faster than a list comprehension. return [0] * self.num_events def mk_empty_dcc(self) -> Dcc: return Dcc(self.mk_empty_cc(), defaultdict(self.mk_empty_cc)) # A "cost centre", which is a dumb container for counts. Always the same length # as `Events.events`, but it doesn't even know event names. `Events.mk_cc` and # `Events.mk_empty_cc` are used for construction. # # This used to be a class with a single field `counts: list[int]`, but this # type is very hot and just using a type alias is much faster. Cc = list[int] # Add the counts in `a_cc` to `b_cc`. def add_cc_to_cc(a_cc: Cc, b_cc: Cc) -> None: for i, a_count in enumerate(a_cc): b_cc[i] += a_count # Subtract the counts in `a_cc` from `b_cc`. def sub_cc_from_cc(a_cc: Cc, b_cc: Cc) -> None: for i, a_count in enumerate(a_cc): b_cc[i] -= a_count # Unrolled version of `add_cc_to_cc`, for speed. def add_cc_to_ccs( a_cc: Cc, b_cc1: Cc, b_cc2: Cc, b_cc3: Cc, b_cc4: Cc, b_cc5: Cc, total_cc: Cc ) -> None: for i, a_count in enumerate(a_cc): b_cc1[i] += a_count b_cc2[i] += a_count b_cc3[i] += a_count b_cc4[i] += a_count b_cc5[i] += a_count total_cc[i] += a_count # Unrolled version of `sub_cc_from_cc`, for speed. Note that the last one, # `total_cc`, is added. def sub_cc_from_ccs( a_cc: Cc, b_cc1: Cc, b_cc2: Cc, b_cc3: Cc, b_cc4: Cc, b_cc5: Cc, total_cc: Cc ) -> None: for i, a_count in enumerate(a_cc): b_cc1[i] -= a_count b_cc2[i] -= a_count b_cc3[i] -= a_count b_cc4[i] -= a_count b_cc5[i] -= a_count total_cc[i] += a_count # Update `min_cc` and `max_cc` with `self`. def update_cc_extremes(self: Cc, min_cc: Cc, max_cc: Cc) -> None: for i, count in enumerate(self): if count > max_cc[i]: max_cc[i] = count elif count < min_cc[i]: min_cc[i] = count # Note: some abbrevations used below: # - Ofl/ofl: original filename, as mentioned in a cgout file. # - Ofn/ofn: original function name, as mentioned in a cgout file. # - Mfl/mfl: modified filename, the result of passing an Ofl through # `--mod-filename`. # - Mfn/mfn: modified function name, the result of passing an Ofn through # `--mod-funcname`. # - Mname/mname: modified name, used for what could be an Mfl or an Mfn. # A deep cost centre with a dict for the inner mnames and CCs. class Dcc: outer_cc: Cc inner_dict_mname_cc: DictMnameCc def __init__(self, outer_cc: Cc, inner_dict_mname_cc: DictMnameCc) -> None: self.outer_cc = outer_cc self.inner_dict_mname_cc = inner_dict_mname_cc # A deep cost centre with a list for the inner mnames and CCs. Used during # filtering and sorting. class Lcc: outer_cc: Cc inner_list_mname_cc: ListMnameCc def __init__(self, outer_cc: Cc, inner_list_mname_cc: ListMnameCc) -> None: self.outer_cc = outer_cc self.inner_list_mname_cc = inner_list_mname_cc # Per-Mfl/Mfn CCs. The list version is used during filtering and sorting. DictMnameCc = DefaultDict[str, Cc] ListMnameCc = list[tuple[str, Cc]] # Per-Mfl/Mfn DCCs. The outer Mnames are Mfls and the inner Mnames are Mfns, or # vice versa. The list version is used during filtering and sorting. DictMnameDcc = DefaultDict[str, Dcc] ListMnameLcc = list[tuple[str, Lcc]] # Per-line CCs, organised by Mfl and line number. DictLineCc = DefaultDict[int, Cc] DictMflDictLineCc = DefaultDict[str, DictLineCc] # A dictionary tracking how Ofls get mapped to Mfls by `--mod-filename`. If # `--mod-filename` isn't used, each entry will be the identity mapping: ("foo" # -> set(["foo"])). DictMflOfls = DefaultDict[str, set[str]] def read_cgout_file( cgout_filename: str, is_first_file: bool, descs: list[str], cmds: list[str], events: Events, dict_mfl_ofls: DictMflOfls, dict_mfl_dcc: DictMnameDcc, dict_mfn_dcc: DictMnameDcc, dict_mfl_dict_line_cc: DictMflDictLineCc, summary_cc: Cc, ) -> None: # The file format is described in Cachegrind's manual. try: cgout_file = open(cgout_filename, "r", encoding="utf-8") except OSError as err: die(f"{err}") with cgout_file: cgout_line_num = 0 def parse_die(msg: str) -> NoReturn: die(f"{cgout_file.name}:{cgout_line_num}: {msg}") def readline() -> str: nonlocal cgout_line_num cgout_line_num += 1 return cgout_file.readline() # Read "desc:" lines. desc = "" while line := readline(): if m := re.match(r"desc:\s+(.*)", line): desc += m.group(1) + "\n" else: break descs.append(desc) # Read "cmd:" line. (`line` is already set from the "desc:" loop.) if m := re.match(r"cmd:\s+(.*)", line): cmds.append(m.group(1)) else: parse_die("missing a `command:` line") # Read "events:" line. line = readline() if m := re.match(r"events:\s+(.*)", line): if is_first_file: events.init(m.group(1)) else: events2 = Events() events2.init(m.group(1)) if events.events != events2.events: die("events in data files don't match") else: parse_die("missing an `events:` line") def mk_empty_dict_line_cc() -> DictLineCc: return defaultdict(events.mk_empty_cc) # The current Mfl and Mfn. mfl = "" mfn = "" # These values are passed in by reference and are modified by this # function. But they can't be properly initialized until the `events:` # line of the first file is read and the number of events is known. So # we initialize them in an invalid state in `main`, and then # reinitialize them properly here, before their first use. if is_first_file: dict_mfl_dcc.default_factory = events.mk_empty_dcc dict_mfn_dcc.default_factory = events.mk_empty_dcc dict_mfl_dict_line_cc.default_factory = mk_empty_dict_line_cc summary_cc.extend(events.mk_empty_cc()) # These are refs into the dicts above, used to avoid repeated lookups. # They are all overwritten before first use. mfl_dcc = events.mk_empty_dcc() mfn_dcc = events.mk_empty_dcc() mfl_dcc_inner_mfn_cc = events.mk_empty_cc() mfn_dcc_inner_mfl_cc = events.mk_empty_cc() dict_line_cc = mk_empty_dict_line_cc() total_cc = events.mk_empty_cc() # When diffing, we negate the first cgout file's counts to effectively # achieve `cgout2 - cgout1`. if args.diff and is_first_file: combine_cc_with_cc = sub_cc_from_cc combine_cc_with_ccs = sub_cc_from_ccs else: combine_cc_with_cc = add_cc_to_cc combine_cc_with_ccs = add_cc_to_ccs summary_cc_present = False # Line matching is done in order of pattern frequency, for speed. while line := readline(): if line[0].isdigit(): split_line = line.split() try: line_num = int(split_line[0]) cc = events.mk_cc(split_line[1:]) except ValueError: parse_die("malformed or too many event counts") # Record this CC at various levels. combine_cc_with_ccs( cc, mfl_dcc.outer_cc, mfn_dcc.outer_cc, mfl_dcc_inner_mfn_cc, mfn_dcc_inner_mfl_cc, dict_line_cc[line_num], total_cc, ) elif line.startswith("fn="): ofn = line[3:-1] mfn = args.mod_funcname(ofn) # `mfl_dcc` is unchanged. mfn_dcc = dict_mfn_dcc[mfn] mfl_dcc_inner_mfn_cc = mfl_dcc.inner_dict_mname_cc[mfn] mfn_dcc_inner_mfl_cc = mfn_dcc.inner_dict_mname_cc[mfl] elif line.startswith("fl="): ofl = line[3:-1] mfl = args.mod_filename(ofl) dict_mfl_ofls[mfl].add(ofl) # A `fn=` line should follow, overwriting the function name. mfn = "<unspecified>" mfl_dcc = dict_mfl_dcc[mfl] mfn_dcc = dict_mfn_dcc[mfn] mfl_dcc_inner_mfn_cc = mfl_dcc.inner_dict_mname_cc[mfn] mfn_dcc_inner_mfl_cc = mfn_dcc.inner_dict_mname_cc[mfl] dict_line_cc = dict_mfl_dict_line_cc[mfl] elif m := re.match(r"summary:\s+(.*)", line): summary_cc_present = True try: this_summary_cc = events.mk_cc(m.group(1).split()) combine_cc_with_cc(this_summary_cc, summary_cc) # Check summary is correct. Note that `total_cc` doesn't # get negated for the first file in a diff, unlike the # other CCs, because it's only used here as a sanity check. if this_summary_cc != total_cc: msg = ( "`summary:` line doesn't match computed total\n" f"- summary: {this_summary_cc}\n" f"- computed: {total_cc}" ) parse_die(msg) except ValueError: parse_die("malformed or too many event counts") elif line == "\n" or line.startswith("#"): # Skip empty lines and comment lines. pass else: parse_die(f"malformed line: {line[:-1]}") # Check if summary line was present. if not summary_cc_present: parse_die("missing `summary:` line, aborting") # The width of a column, in three parts. class Width: # Width of the widest commified event count. count: int # Width of the widest first percentage, of the form ` (n.n%)` or ` (n.n%,`. perc1: int # Width of the widest second percentage, of the form ` n.n%)`. perc2: int def __init__(self, count: int, perc1: int, perc2: int) -> None: self.count = count self.perc1 = perc1 self.perc2 = perc2 class CcPrinter: # Note: every `CcPrinter` gets the same `Events` object. events: Events # Note: every `CcPrinter` gets the same summary CC. summary_cc: Cc # String to print before the event names. events_prefix: str # The widths of each event column. For simplicity, its length matches # `events.events`, even though not all events are necessarily shown. widths: list[Width] # Text of a missing CC, which can be computed in advance. missing_cc_str: str # Must call `init_ccs` or `init_list_mname_lcc` after this. def __init__(self, events: Events, summary_cc: Cc) -> None: self.events = events self.summary_cc = summary_cc # Other fields initialized in `init_*`. def init_ccs(self, ccs: list[Cc]) -> None: self.events_prefix = "" # Find min and max count for each event. One of them will be the widest # value. min_cc = self.events.mk_empty_cc() max_cc = self.events.mk_empty_cc() for cc in ccs: update_cc_extremes(cc, min_cc, max_cc) self.init_widths(min_cc, max_cc, None, None) def init_list_mname_lcc(self, list_mname_lcc: ListMnameLcc) -> None: self.events_prefix = " " cumul_cc = self.events.mk_empty_cc() # Find min and max value for each event. One of them will be the widest # value. Likewise for the cumulative counts. min_cc = self.events.mk_empty_cc() max_cc = self.events.mk_empty_cc() min_cumul_cc = self.events.mk_empty_cc() max_cumul_cc = self.events.mk_empty_cc() for _, lcc in list_mname_lcc: # Consider both outer and inner CCs for `count` and `perc1`. update_cc_extremes(lcc.outer_cc, min_cc, max_cc) for _, inner_cc in lcc.inner_list_mname_cc: update_cc_extremes(inner_cc, min_cc, max_cc) # Consider only outer CCs for `perc2`. add_cc_to_cc(lcc.outer_cc, cumul_cc) update_cc_extremes(cumul_cc, min_cumul_cc, max_cumul_cc) self.init_widths(min_cc, max_cc, min_cumul_cc, max_cumul_cc) def init_widths( self, min_cc1: Cc, max_cc1: Cc, min_cc2: Cc | None, max_cc2: Cc | None ) -> None: self.widths = [Width(0, 0, 0)] * self.events.num_events for i in range(len(self.events.events)): # Get count and percs widths of the min and max CCs. (min_count, min_perc1, min_perc2) = self.count_and_percs_strs( min_cc1, min_cc2, i ) (max_count, max_perc1, max_perc2) = self.count_and_percs_strs( max_cc1, max_cc2, i ) self.widths[i] = Width( max(len(min_count), len(max_count)), max(len(min_perc1), len(max_perc1)), max(len(min_perc2), len(max_perc2)), ) self.missing_cc_str = "" for i in self.events.show_indices: self.missing_cc_str += self.count_and_percs_str(i, ".", "", "") # Get the count and perc string for `cc1[i]` and the perc string for # `cc2[i]`. (Unless `cc2` is `None`, in which case `perc2` will be "".) def count_and_percs_strs( self, cc1: Cc, cc2: Cc | None, i: int ) -> tuple[str, str, str]: count = f"{cc1[i]:,d}" # commify if args.show_percs: summary_count = self.summary_cc[i] if cc2 is None: # A plain or inner CC, with a single percentage. if cc1[i] == 0: # Don't show percentages for "0" entries, it's just clutter. perc1 = "" elif summary_count == 0: # Avoid dividing by zero. perc1 = " (n/a)" else: perc1 = f" ({cc1[i] * 100 / summary_count:.1f}%)" perc2 = "" else: # An outer CC, with two percentages. if summary_count == 0: # Avoid dividing by zero. perc1 = " (n/a," perc2 = " n/a)" else: perc1 = f" ({cc1[i] * 100 / summary_count:.1f}%," perc2 = f" {cc2[i] * 100 / summary_count:.1f}%)" else: perc1 = "" perc2 = "" return (count, perc1, perc2) def count_and_percs_str(self, i: int, count: str, perc1: str, perc2: str) -> str: event_w = len(self.events.events[i]) count_w = self.widths[i].count perc1_w = self.widths[i].perc1 perc2_w = self.widths[i].perc2 pre_w = max(0, event_w - count_w - perc1_w - perc2_w) return f"{'':>{pre_w}}{count:>{count_w}}{perc1:>{perc1_w}}{perc2:>{perc2_w}} " def print_events(self, suffix: str) -> None: print(self.events_prefix, end="") for i in self.events.show_indices: event = self.events.events[i] event_w = len(event) count_w = self.widths[i].count perc1_w = self.widths[i].perc1 perc2_w = self.widths[i].perc2 print(f"{event:_<{max(event_w, count_w + perc1_w + perc2_w)}} ", end="") print(suffix) def print_lcc(self, indent: str, lcc: Lcc, outer_mname: str, cumul_cc: Cc) -> None: print(indent, end="") if ( len(lcc.inner_list_mname_cc) == 1 and lcc.outer_cc == lcc.inner_list_mname_cc[0][1] ): # There is only one inner CC, it met the threshold, and it is equal # to the outer CC. Print the inner CC and outer CC in a single # line, because they are the same. inner_mname = lcc.inner_list_mname_cc[0][0] self.print_cc(lcc.outer_cc, cumul_cc, f"{outer_mname}:{inner_mname}") else: # There are multiple inner CCs, and at least one met the threshold. # Print the outer CC and then the inner CCs, indented. self.print_cc(lcc.outer_cc, cumul_cc, f"{outer_mname}:") for inner_mname, inner_cc in lcc.inner_list_mname_cc: print(" ", end="") self.print_cc(inner_cc, None, f" {inner_mname}") print() # If `cc2` is `None`, it's a vanilla CC or inner CC. Otherwise, it's an # outer CC. def print_cc(self, cc: Cc, cc2: Cc | None, suffix: str) -> None: for i in self.events.show_indices: (count, perc1, perc2) = self.count_and_percs_strs(cc, cc2, i) print(self.count_and_percs_str(i, count, perc1, perc2), end="") print("", suffix) def print_missing_cc(self, suffix: str) -> None: print(self.missing_cc_str, suffix) # Used in various places in the output. def print_fancy(text: str) -> None: fancy = "-" * 80 print(fancy) print("--", text) print(fancy) def print_metadata(descs: list[str], cmds: list[str], events: Events) -> None: print_fancy("Metadata") def all_the_same(strs: list[str]) -> bool: for i in range(len(strs) - 1): if strs[i] != strs[i + 1]: return False return True print("Invocation: ", *sys.argv) # When there are multiple descriptions, they are usually all the same. Only # print the description once in that case. if all_the_same(descs): print(descs[0], end="") else: for i, desc in enumerate(descs): print(f"Description {i+1}:") print(desc, end="") # Commands are sometimes the same, sometimes not. Always print them # individually, but refer to the previous one when appropriate. if len(cmds) == 1: print("Command: ", cmds[0]) else: for i, cmd in enumerate(cmds): if i > 0 and cmds[i - 1] == cmd: print(f"Command {i+1}: (same as Command {i})") else: print(f"Command {i+1}: ", cmd) print("Events recorded: ", *events.events) print("Events shown: ", *events.show_events) print("Event sort order:", *events.sort_events) print("Threshold: ", args.threshold, "%", sep="") print("Annotation: ", "on" if args.annotate else "off") print() def print_summary(events: Events, summary_cc: Cc) -> None: printer = CcPrinter(events, summary_cc) printer.init_ccs([summary_cc]) print_fancy("Summary") printer.print_events("") print() printer.print_cc(summary_cc, None, "PROGRAM TOTALS") print() def print_mname_summary( kind: str, indent: str, events: Events, dict_mname_dcc: DictMnameDcc, summary_cc: Cc ) -> set[str]: # The primary sort event is used for the threshold. threshold_index = events.sort_indices[0] # Convert the threshold from a percentage to an event count. threshold = args.threshold * abs(summary_cc[threshold_index]) / 100 def meets_threshold(mname_and_cc: tuple[str, Cc]) -> bool: cc = mname_and_cc[1] return abs(cc[threshold_index]) >= threshold # Create a list with the outer CC counts in sort order, so that # left-to-right list comparison does the right thing. Plus the outer name # at the end for deterministic output when all the event counts are # identical in two CCs. def key_mname_and_lcc(mname_and_lcc: tuple[str, Lcc]) -> tuple[list[int], str]: (outer_mname, lcc) = mname_and_lcc return ( [abs(lcc.outer_cc[i]) for i in events.sort_indices], outer_mname, ) # Similar to `key_mname_and_lcc`. def key_mname_and_cc(mname_and_cc: tuple[str, Cc]) -> tuple[list[int], str]: (mname, cc) = mname_and_cc return ([abs(cc[i]) for i in events.sort_indices], mname) # This is a `filter_map` operation, which Python doesn't directly support. list_mname_lcc: ListMnameLcc = [] for outer_mname, dcc in dict_mname_dcc.items(): # Filter out inner CCs for which the primary sort event count is below the # threshold, and sort the remainder. inner_list_mname_cc = sorted( filter(meets_threshold, dcc.inner_dict_mname_cc.items()), key=key_mname_and_cc, reverse=True, ) # If no inner CCs meet the threshold, ignore the entire DCC, even if # the outer CC meets the threshold. if len(inner_list_mname_cc) == 0: continue list_mname_lcc.append((outer_mname, Lcc(dcc.outer_cc, inner_list_mname_cc))) list_mname_lcc = sorted(list_mname_lcc, key=key_mname_and_lcc, reverse=True) printer = CcPrinter(events, summary_cc) printer.init_list_mname_lcc(list_mname_lcc) print_fancy(kind + " summary") printer.print_events(" " + kind.lower()) print() # Print LCCs. threshold_mnames: set[str] = set([]) cumul_cc = events.mk_empty_cc() for mname, lcc in list_mname_lcc: add_cc_to_cc(lcc.outer_cc, cumul_cc) printer.print_lcc(indent, lcc, mname, cumul_cc) threshold_mnames.add(mname) return threshold_mnames class AnnotatedCcs: line_nums_known_cc: Cc line_nums_unknown_cc: Cc non_identical_cc: Cc unreadable_cc: Cc below_threshold_cc: Cc files_unknown_cc: Cc labels = [ " annotated: files known & above threshold & readable, line numbers known", " annotated: files known & above threshold & readable, line numbers unknown", "unannotated: files known & above threshold & two or more non-identical", "unannotated: files known & above threshold & unreadable ", "unannotated: files known & below threshold", "unannotated: files unknown", ] def __init__(self, events: Events) -> None: self.line_nums_known_cc = events.mk_empty_cc() self.line_nums_unknown_cc = events.mk_empty_cc() self.non_identical_cc = events.mk_empty_cc() self.unreadable_cc = events.mk_empty_cc() self.below_threshold_cc = events.mk_empty_cc() self.files_unknown_cc = events.mk_empty_cc() def ccs(self) -> list[Cc]: return [ self.line_nums_known_cc, self.line_nums_unknown_cc, self.non_identical_cc, self.unreadable_cc, self.below_threshold_cc, self.files_unknown_cc, ] def mk_warning(msg: str) -> str: return f"""\ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ WARNING @@ WARNING @@ WARNING @@ WARNING @@ WARNING @@ WARNING @@ WARNING @@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ {msg}\ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ """ def warn_ofls_are_all_newer(ofls: list[str], cgout_filename: str) -> None: s = "".join([f"@ - {ofl}\n" for ofl in ofls]) msg = f"""\ @ Original source files are all newer than data file '{cgout_filename}': {s}@ Annotations may not be correct. """ print(mk_warning(msg)) def warn_bogus_lines(src_filename: str) -> None: msg = f"""\ @@ Information recorded about lines past the end of '{src_filename}'. """ print(mk_warning(msg), end="") def print_annotated_src_file( events: Events, dict_line_cc: DictLineCc, src_file: TextIO, annotated_ccs: AnnotatedCcs, summary_cc: Cc, ) -> None: printer = CcPrinter(events, summary_cc) printer.init_ccs(list(dict_line_cc.values())) # The starting fancy has already been printed by the caller. printer.print_events("") print() # The CC for line 0 is special, holding counts attributed to the source # file but not to any particular line (due to incomplete debug info). # Annotate the start of the file with this info, if present. line0_cc = dict_line_cc.pop(0, None) if line0_cc: suffix = "<unknown (line 0)>" printer.print_cc(line0_cc, None, suffix) add_cc_to_cc(line0_cc, annotated_ccs.line_nums_unknown_cc) print() # Find interesting line ranges: all lines with a CC, and all lines within # `args.context` lines of a line with a CC. line_nums = list(sorted(dict_line_cc.keys())) pairs: list[tuple[int, int]] = [] n = len(line_nums) i = 0 context = args.context while i < n: lo = max(line_nums[i] - context, 1) # `max` to prevent negatives while i < n - 1 and line_nums[i] + 2 * context >= line_nums[i + 1]: i += 1 hi = line_nums[i] + context pairs.append((lo, hi)) i += 1 def print_lines(pairs: list[tuple[int, int]]) -> None: line_num = 0 while pairs: src_line = "" (lo, hi) = pairs.pop(0) while line_num < lo - 1: src_line = src_file.readline() line_num += 1 if not src_line: return # EOF # Print line number, unless start of file. if lo != 1: print("-- line", lo, "-" * 40) while line_num < hi: src_line = src_file.readline() line_num += 1 if not src_line: return # EOF if line_nums and line_num == line_nums[0]: printer.print_cc(dict_line_cc[line_num], None, src_line[:-1]) add_cc_to_cc( dict_line_cc[line_num], annotated_ccs.line_nums_known_cc ) del line_nums[0] else: printer.print_missing_cc(src_line[:-1]) # Print line number. print("-- line", hi, "-" * 40) # Annotate chosen lines, tracking total annotated counts. if pairs: print_lines(pairs) # If there was info on lines past the end of the file, warn. if line_nums: print() for line_num in line_nums: printer.print_cc( dict_line_cc[line_num], None, f"<bogus line {line_num}>" ) add_cc_to_cc(dict_line_cc[line_num], annotated_ccs.line_nums_known_cc) print() warn_bogus_lines(src_file.name) print() # This partially consumes `dict_mfl_dict_line_cc`, and fully consumes # `dict_mfl_olfs`. def print_annotated_src_files( ann_mfls: set[str], events: Events, dict_mfl_ofls: DictMflOfls, dict_mfl_dict_line_cc: DictMflDictLineCc, summary_cc: Cc, ) -> AnnotatedCcs: annotated_ccs = AnnotatedCcs(events) def add_dict_line_cc_to_cc(dict_line_cc: DictLineCc, accum_cc: Cc) -> None: for line_cc in dict_line_cc.values(): add_cc_to_cc(line_cc, accum_cc) # Exclude the unknown ("???") file, which is unannotatable. ann_mfls.discard("???") if "???" in dict_mfl_dict_line_cc: dict_line_cc = dict_mfl_dict_line_cc.pop("???") add_dict_line_cc_to_cc(dict_line_cc, annotated_ccs.files_unknown_cc) def print_ann_fancy(mfl: str) -> None: print_fancy(f"Annotated source file: {mfl}") # This can raise an `OSError`. def all_ofl_contents_identical(ofls: list[str]) -> bool: for i in range(len(ofls) - 1): if not filecmp.cmp(ofls[i], ofls[i + 1], shallow=False): return False return True for mfl in sorted(ann_mfls): ofls = sorted(dict_mfl_ofls.pop(mfl)) first_ofl = ofls[0] try: if all_ofl_contents_identical(ofls): # All the Ofls that map to this Mfl are identical, which means we # can annotate, and it doesn't matter which Ofl we use. with open(first_ofl, "r", encoding="utf-8") as src_file: dict_line_cc = dict_mfl_dict_line_cc.pop(mfl) print_ann_fancy(mfl) # Because all the Ofls are identical, we can treat their # mtimes as if they are all as early as the earliest one. # Therefore, we warn only if the earliest source file is # more recent than the cgout file. min_ofl_st_mtime_ns = min(os.stat(ofl).st_mtime_ns for ofl in ofls) for cgout_filename in args.cgout_filename: if min_ofl_st_mtime_ns > os.stat(cgout_filename).st_mtime_ns: warn_ofls_are_all_newer(ofls, cgout_filename) print_annotated_src_file( events, dict_line_cc, src_file, annotated_ccs, summary_cc, ) else: dict_line_cc = dict_mfl_dict_line_cc.pop(mfl) add_dict_line_cc_to_cc(dict_line_cc, annotated_ccs.non_identical_cc) # We could potentially do better here. # - Annotate until the first line where the src files diverge. # - Also, heuristic resyncing, e.g. by looking for matching # lines (of sufficient complexity) after a divergence. print_ann_fancy(mfl) print( "Unannotated because two or more of these original files are not " "identical:", *ofls, sep="\n- ", ) print() except OSError: dict_line_cc = dict_mfl_dict_line_cc.pop(mfl) add_dict_line_cc_to_cc(dict_line_cc, annotated_ccs.unreadable_cc) print_ann_fancy(mfl) print( "Unannotated because one or more of these original files are " "unreadable:", *ofls, sep="\n- ", ) print() # Sum the CCs remaining in `dict_mfl_dict_line_cc`, which are all in files # below the threshold. for dict_line_cc in dict_mfl_dict_line_cc.values(): add_dict_line_cc_to_cc(dict_line_cc, annotated_ccs.below_threshold_cc) return annotated_ccs def print_annotation_summary( events: Events, annotated_ccs: AnnotatedCcs, summary_cc: Cc, ) -> None: # Show how many events were covered by annotated lines above. printer = CcPrinter(events, summary_cc) printer.init_ccs(annotated_ccs.ccs()) print_fancy("Annotation summary") printer.print_events("") print() total_cc = events.mk_empty_cc() for cc, label in zip(annotated_ccs.ccs(), AnnotatedCcs.labels): printer.print_cc(cc, None, label) add_cc_to_cc(cc, total_cc) print() # Internal sanity check. if summary_cc != total_cc: msg = ( "`summary:` line doesn't match computed annotated counts\n" f"- summary: {summary_cc}\n" f"- annotated: {total_cc}" ) die(msg) def main() -> None: # Metadata, initialized to empty states. descs: list[str] = [] cmds: list[str] = [] events = Events() # For tracking original filenames to modified filenames. dict_mfl_ofls: DictMflOfls = defaultdict(set) # Different places where we accumulate CC data. Initialized to invalid # states prior to the number of events being known. dict_mfl_dcc: DictMnameDcc = defaultdict(None) dict_mfn_dcc: DictMnameDcc = defaultdict(None) dict_mfl_dict_line_cc: DictMflDictLineCc = defaultdict(None) summary_cc: Cc = [] for n, filename in enumerate(args.cgout_filename): is_first_file = n == 0 read_cgout_file( filename, is_first_file, descs, cmds, events, dict_mfl_ofls, dict_mfl_dcc, dict_mfn_dcc, dict_mfl_dict_line_cc, summary_cc, ) # Each of the following calls prints a section of the output. print_metadata(descs, cmds, events) print_summary(events, summary_cc) ann_mfls = print_mname_summary( "File:function", "< ", events, dict_mfl_dcc, summary_cc ) print_mname_summary("Function:file", "> ", events, dict_mfn_dcc, summary_cc) if args.annotate: annotated_ccs = print_annotated_src_files( ann_mfls, events, dict_mfl_ofls, dict_mfl_dict_line_cc, summary_cc ) print_annotation_summary(events, annotated_ccs, summary_cc) if __name__ == "__main__": main()