Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 18.191.92.32
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
appadmin
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
bash-completion /
completions /
[ HOME SHELL ]
Name
Size
Permission
Action
2to3
908
B
-rw-r--r--
7z
4.12
KB
-rw-r--r--
7za
4.12
KB
-rw-r--r--
_adb
1.74
KB
-rw-r--r--
_cal
926
B
-rw-r--r--
_chfn
238
B
-rw-r--r--
_chsh
690
B
-rw-r--r--
_dmesg
909
B
-rw-r--r--
_eject
793
B
-rw-r--r--
_hexdump
669
B
-rw-r--r--
_hwclock
605
B
-rw-r--r--
_ionice
1.23
KB
-rw-r--r--
_look
447
B
-rw-r--r--
_mock
2.01
KB
-rw-r--r--
_modules
2.48
KB
-rw-r--r--
_mount
2.02
KB
-rw-r--r--
_mount.linux
10.47
KB
-rw-r--r--
_newgrp
432
B
-rw-r--r--
_nmcli
6.1
KB
-rw-r--r--
_renice
769
B
-rw-r--r--
_repomanage
605
B
-rw-r--r--
_reptyr
547
B
-rw-r--r--
_rfkill
931
B
-rw-r--r--
_rtcwake
863
B
-rw-r--r--
_runuser
241
B
-rw-r--r--
_su
981
B
-rw-r--r--
_svn
8.62
KB
-rw-r--r--
_svnadmin
2.27
KB
-rw-r--r--
_svnlook
1.94
KB
-rw-r--r--
_udevadm
2.08
KB
-rw-r--r--
_umount
629
B
-rw-r--r--
_umount.linux
4.47
KB
-rw-r--r--
_write
239
B
-rw-r--r--
_xm
7.53
KB
-rw-r--r--
_yum
4.37
KB
-rw-r--r--
a2disconf
1.44
KB
-rw-r--r--
a2dismod
1.44
KB
-rw-r--r--
a2dissite
1.44
KB
-rw-r--r--
a2enconf
1.44
KB
-rw-r--r--
a2enmod
1.44
KB
-rw-r--r--
a2ensite
1.44
KB
-rw-r--r--
a2x
895
B
-rw-r--r--
abook
1.18
KB
-rw-r--r--
aclocal
844
B
-rw-r--r--
aclocal-1.10
844
B
-rw-r--r--
aclocal-1.11
844
B
-rw-r--r--
aclocal-1.12
844
B
-rw-r--r--
aclocal-1.13
844
B
-rw-r--r--
aclocal-1.14
844
B
-rw-r--r--
aclocal-1.15
844
B
-rw-r--r--
aclocal-1.16
844
B
-rw-r--r--
acpi
452
B
-rw-r--r--
add_members
761
B
-rw-r--r--
addpart
447
B
-rw-r--r--
alias
490
B
-rw-r--r--
alpine
873
B
-rw-r--r--
alternatives
2.35
KB
-rw-r--r--
animate
8.79
KB
-rw-r--r--
ant
2.71
KB
-rw-r--r--
apache2ctl
380
B
-rw-r--r--
appdata-validate
788
B
-rw-r--r--
apropos
2.8
KB
-rw-r--r--
apt
6.94
KB
-rw-r--r--
apt-build
1.42
KB
-rw-r--r--
apt-cache
1.99
KB
-rw-r--r--
apt-get
3.7
KB
-rw-r--r--
aptitude
3
KB
-rw-r--r--
aptitude-curses
3
KB
-rw-r--r--
arch
1.05
KB
-rw-r--r--
arm-koji
6.17
KB
-rw-r--r--
arp
1.55
KB
-rw-r--r--
arping
599
B
-rw-r--r--
arpspoof
564
B
-rw-r--r--
asciidoc
1.16
KB
-rw-r--r--
asciidoc.py
1.16
KB
-rw-r--r--
aspell
3.29
KB
-rw-r--r--
autoconf
947
B
-rw-r--r--
autoheader
1009
B
-rw-r--r--
automake
868
B
-rw-r--r--
automake-1.10
868
B
-rw-r--r--
automake-1.11
868
B
-rw-r--r--
automake-1.12
868
B
-rw-r--r--
automake-1.13
868
B
-rw-r--r--
automake-1.14
868
B
-rw-r--r--
automake-1.15
868
B
-rw-r--r--
automake-1.16
868
B
-rw-r--r--
autoreconf
1009
B
-rw-r--r--
autorpm
348
B
-rw-r--r--
autoscan
739
B
-rw-r--r--
autossh
15.54
KB
-rw-r--r--
autoupdate
739
B
-rw-r--r--
avctrl
471
B
-rw-r--r--
badblocks
595
B
-rw-r--r--
bind
832
B
-rw-r--r--
bk
429
B
-rw-r--r--
blkdiscard
639
B
-rw-r--r--
blkid
2.07
KB
-rw-r--r--
blkzone
971
B
-rw-r--r--
blockdev
725
B
-rw-r--r--
bootctl
2.85
KB
-rw-r--r--
brctl
1.02
KB
-rw-r--r--
bsdtar
18.47
KB
-rw-r--r--
btdownloadcurses.py
1.03
KB
-rw-r--r--
btdownloadgui.py
1.03
KB
-rw-r--r--
btdownloadheadless.py
1.03
KB
-rw-r--r--
btrfs
3.38
KB
-rw-r--r--
busctl
7.18
KB
-rw-r--r--
bzip2
1.06
KB
-rw-r--r--
c++
2.58
KB
-rw-r--r--
cancel
555
B
-rw-r--r--
cardctl
380
B
-rw-r--r--
carton
1.8
KB
-rw-r--r--
cc
2.58
KB
-rw-r--r--
ccache
1014
B
-rw-r--r--
ccze
1.16
KB
-rw-r--r--
cdrecord
3.49
KB
-rw-r--r--
cfagent
419
B
-rw-r--r--
cfdisk
546
B
-rw-r--r--
cfrun
1.25
KB
-rw-r--r--
chage
651
B
-rw-r--r--
change_pw
529
B
-rw-r--r--
chcpu
1.49
KB
-rw-r--r--
check_db
374
B
-rw-r--r--
check_perms
319
B
-rw-r--r--
checksec
738
B
-rw-r--r--
chgrp
949
B
-rw-r--r--
chkconfig
903
B
-rw-r--r--
chmem
501
B
-rw-r--r--
chmod
867
B
-rw-r--r--
chown
1.08
KB
-rw-r--r--
chpasswd
687
B
-rw-r--r--
chrome
1.37
KB
-rw-r--r--
chromium
1.37
KB
-rw-r--r--
chromium-browser
1.37
KB
-rw-r--r--
chronyc
1.53
KB
-rw-r--r--
chrpath
528
B
-rw-r--r--
chrt
920
B
-rw-r--r--
ci
890
B
-rw-r--r--
ciptool
9.45
KB
-rw-r--r--
civclient
1.02
KB
-rw-r--r--
civserver
473
B
-rw-r--r--
cksfv
520
B
-rw-r--r--
cleanarch
352
B
-rw-r--r--
clisp
668
B
-rw-r--r--
clone_member
540
B
-rw-r--r--
cloud-init
3.24
KB
-rw-r--r--
clzip
1.1
KB
-rw-r--r--
co
890
B
-rw-r--r--
colormake
6.02
KB
-rw-r--r--
compare
8.79
KB
-rw-r--r--
compgen
1.43
KB
-rw-r--r--
complete
1.43
KB
-rw-r--r--
composite
8.79
KB
-rw-r--r--
config_list
580
B
-rw-r--r--
configure
1.16
KB
-rw-r--r--
conjure
8.79
KB
-rw-r--r--
convert
8.79
KB
-rw-r--r--
cowsay
543
B
-rw-r--r--
cowthink
543
B
-rw-r--r--
cpan2dist
1.19
KB
-rw-r--r--
cpio
2.85
KB
-rw-r--r--
cppcheck
2.54
KB
-rw-r--r--
createdb
4.19
KB
-rw-r--r--
createuser
4.19
KB
-rw-r--r--
crontab
1.16
KB
-rw-r--r--
cryptdisks
1.18
KB
-rw-r--r--
cryptsetup
2.91
KB
-rw-r--r--
ctrlaltdel
335
B
-rw-r--r--
curl
3.08
KB
-rw-r--r--
cvs
11.71
KB
-rw-r--r--
cvsps
1.45
KB
-rw-r--r--
dcop
379
B
-rw-r--r--
dd
1.26
KB
-rw-r--r--
debconf
294
B
-rw-r--r--
debconf-show
294
B
-rw-r--r--
declare
1.25
KB
-rw-r--r--
deja-dup
681
B
-rw-r--r--
delpart
526
B
-rw-r--r--
desktop-file-validate
472
B
-rw-r--r--
dfutool
9.45
KB
-rw-r--r--
dhclient
696
B
-rw-r--r--
dict
1.76
KB
-rw-r--r--
display
8.79
KB
-rw-r--r--
dmesg
1.15
KB
-rw-r--r--
dmypy
1.05
KB
-rw-r--r--
dnssec-keygen
1.13
KB
-rw-r--r--
dnsspoof
500
B
-rw-r--r--
docker
111.88
KB
-rw-r--r--
dot
1.25
KB
-rw-r--r--
dpkg
3.97
KB
-rw-r--r--
dpkg-deb
3.97
KB
-rw-r--r--
dpkg-query
3.97
KB
-rw-r--r--
dpkg-reconfigure
3.97
KB
-rw-r--r--
dpkg-source
3.25
KB
-rw-r--r--
dropdb
4.19
KB
-rw-r--r--
dropuser
4.19
KB
-rw-r--r--
dselect
615
B
-rw-r--r--
dsniff
512
B
-rw-r--r--
dumpdb
371
B
-rw-r--r--
dumpe2fs
518
B
-rw-r--r--
e2freefrag
458
B
-rw-r--r--
e2label
292
B
-rw-r--r--
eatmydata
31
B
-rw-r--r--
ebtables
3.53
KB
-rw-r--r--
ecryptfs-migrate-home
497
B
-rw-r--r--
edquota
3.58
KB
-rw-r--r--
eog
634
B
-rw-r--r--
ether-wake
537
B
-rw-r--r--
etherwake
537
B
-rw-r--r--
ethtool
23.46
KB
-rw-r--r--
evince
935
B
-rw-r--r--
explodepkg
152
B
-rw-r--r--
export
1.56
KB
-rw-r--r--
f77
2.58
KB
-rw-r--r--
f95
2.58
KB
-rw-r--r--
faillog
629
B
-rw-r--r--
fallocate
721
B
-rw-r--r--
fbgs
1.52
KB
-rw-r--r--
fbi
1.77
KB
-rw-r--r--
fdformat
566
B
-rw-r--r--
fdisk
1.79
KB
-rw-r--r--
feh
4.04
KB
-rw-r--r--
file
743
B
-rw-r--r--
file-roller
1.07
KB
-rw-r--r--
filebucket
9.51
KB
-rw-r--r--
filefrag
350
B
-rw-r--r--
filesnarf
447
B
-rw-r--r--
fincore
916
B
-rw-r--r--
find
3.81
KB
-rw-r--r--
find_member
535
B
-rw-r--r--
findfs
695
B
-rw-r--r--
findmnt
3.12
KB
-rw-r--r--
fio
2.31
KB
-rw-r--r--
firefox
1.14
KB
-rw-r--r--
flake8
987
B
-rw-r--r--
flock
874
B
-rw-r--r--
freebsd-update
587
B
-rw-r--r--
freeciv
1.02
KB
-rw-r--r--
freeciv-gtk2
1.02
KB
-rw-r--r--
freeciv-gtk3
1.02
KB
-rw-r--r--
freeciv-sdl
1.02
KB
-rw-r--r--
freeciv-server
473
B
-rw-r--r--
freeciv-xaw
1.02
KB
-rw-r--r--
fsck
787
B
-rw-r--r--
fsck.cramfs
684
B
-rw-r--r--
fsck.minix
383
B
-rw-r--r--
fsfreeze
524
B
-rw-r--r--
fstrim
715
B
-rw-r--r--
function
1.25
KB
-rw-r--r--
fusermount
640
B
-rw-r--r--
fwupdagent
610
B
-rw-r--r--
fwupdmgr
3.65
KB
-rw-r--r--
fwupdtool
3.26
KB
-rw-r--r--
g++
2.58
KB
-rw-r--r--
g++-5
2.58
KB
-rw-r--r--
g++-6
2.58
KB
-rw-r--r--
g++-7
2.58
KB
-rw-r--r--
g++-8
2.58
KB
-rw-r--r--
g4
1.44
KB
-rw-r--r--
g77
2.58
KB
-rw-r--r--
g95
2.58
KB
-rw-r--r--
gapplication
1.36
KB
-rw-r--r--
gcc
2.58
KB
-rw-r--r--
gcc-5
2.58
KB
-rw-r--r--
gcc-6
2.58
KB
-rw-r--r--
gcc-7
2.58
KB
-rw-r--r--
gcc-8
2.58
KB
-rw-r--r--
gccgo
2.58
KB
-rw-r--r--
gccgo-5
2.58
KB
-rw-r--r--
gccgo-6
2.58
KB
-rw-r--r--
gccgo-7
2.58
KB
-rw-r--r--
gccgo-8
2.58
KB
-rw-r--r--
gcj
2.58
KB
-rw-r--r--
gcl
615
B
-rw-r--r--
gdb
1.6
KB
-rw-r--r--
gdbus
935
B
-rw-r--r--
genaliases
322
B
-rw-r--r--
gendiff
267
B
-rw-r--r--
genisoimage
861
B
-rw-r--r--
geoiplookup
677
B
-rw-r--r--
geoiplookup6
677
B
-rw-r--r--
getconf
798
B
-rw-r--r--
getent
1.92
KB
-rw-r--r--
getopt
815
B
-rw-r--r--
gfortran
2.58
KB
-rw-r--r--
gfortran-5
2.58
KB
-rw-r--r--
gfortran-6
2.58
KB
-rw-r--r--
gfortran-7
2.58
KB
-rw-r--r--
gfortran-8
2.58
KB
-rw-r--r--
gio
3.67
KB
-rw-r--r--
git
68.43
KB
-rw-r--r--
gitk
68.43
KB
-rw-r--r--
gkrellm
915
B
-rw-r--r--
gkrellm2
915
B
-rw-r--r--
gm
854
B
-rw-r--r--
gmake
6.02
KB
-rw-r--r--
gmplayer
11.02
KB
-rw-r--r--
gnatmake
1015
B
-rw-r--r--
gnokii
6.76
KB
-rw-r--r--
gnome-mplayer
940
B
-rw-r--r--
gnome-screenshot
793
B
-rw-r--r--
gnumake
6.02
KB
-rw-r--r--
google-chrome
1.37
KB
-rw-r--r--
google-chrome-stable
1.37
KB
-rw-r--r--
gpasswd
598
B
-rw-r--r--
gpc
2.58
KB
-rw-r--r--
gpg
1.24
KB
-rw-r--r--
gpg2
1.3
KB
-rw-r--r--
gpgv
1.09
KB
-rw-r--r--
gpgv2
1.09
KB
-rw-r--r--
gphoto2
1.36
KB
-rw-r--r--
gprof
1.27
KB
-rw-r--r--
gresource
1.32
KB
-rw-r--r--
groupadd
610
B
-rw-r--r--
groupdel
536
B
-rw-r--r--
groupmems
603
B
-rw-r--r--
groupmod
681
B
-rw-r--r--
growisofs
888
B
-rw-r--r--
grpck
496
B
-rw-r--r--
grub
10.39
KB
-rw-r--r--
grub-bios-setup
10.39
KB
-rw-r--r--
grub-editenv
10.39
KB
-rw-r--r--
grub-install
10.39
KB
-rw-r--r--
grub-mkconfig
10.39
KB
-rw-r--r--
grub-mkfont
10.39
KB
-rw-r--r--
grub-mkimage
10.39
KB
-rw-r--r--
grub-mkpasswd-pbkdf2
10.39
KB
-rw-r--r--
grub-mkrescue
10.39
KB
-rw-r--r--
grub-probe
10.39
KB
-rw-r--r--
grub-reboot
10.39
KB
-rw-r--r--
grub-script-check
10.39
KB
-rw-r--r--
grub-set-default
10.39
KB
-rw-r--r--
gsettings
2.76
KB
-rw-r--r--
gssdp-discover
866
B
-rw-r--r--
gtar
18.47
KB
-rw-r--r--
gzip
1.14
KB
-rw-r--r--
hciattach
9.45
KB
-rw-r--r--
hciconfig
9.45
KB
-rw-r--r--
hcitool
9.45
KB
-rw-r--r--
hd
669
B
-rw-r--r--
hddtemp
871
B
-rw-r--r--
hid2hci
348
B
-rw-r--r--
host
1.96
KB
-rw-r--r--
hostname
485
B
-rw-r--r--
hostnamectl
2.02
KB
-rw-r--r--
hping
786
B
-rw-r--r--
hping2
786
B
-rw-r--r--
hping3
786
B
-rw-r--r--
htop
802
B
-rw-r--r--
htpasswd
912
B
-rw-r--r--
hunspell
1
KB
-rw-r--r--
hwclock
960
B
-rw-r--r--
iceweasel
1.14
KB
-rw-r--r--
iconv
904
B
-rw-r--r--
id
435
B
-rw-r--r--
identify
8.79
KB
-rw-r--r--
idn
657
B
-rw-r--r--
ifdown
898
B
-rw-r--r--
ifquery
898
B
-rw-r--r--
ifstat
1.93
KB
-rw-r--r--
ifstatus
898
B
-rw-r--r--
iftop
504
B
-rw-r--r--
ifup
898
B
-rw-r--r--
import
8.79
KB
-rw-r--r--
influx
824
B
-rw-r--r--
info
1.88
KB
-rw-r--r--
inject
508
B
-rw-r--r--
inotifywait
1.23
KB
-rw-r--r--
inotifywatch
1.23
KB
-rw-r--r--
insmod
517
B
-rw-r--r--
insmod.static
517
B
-rw-r--r--
installpkg
733
B
-rw-r--r--
interdiff
763
B
-rw-r--r--
invoke-rc.d
1.19
KB
-rw-r--r--
ionice
1.13
KB
-rw-r--r--
ip
10.25
KB
-rw-r--r--
ipcmk
576
B
-rw-r--r--
ipcrm
1.39
KB
-rw-r--r--
ipcs
514
B
-rw-r--r--
iperf
1.98
KB
-rw-r--r--
iperf3
1.98
KB
-rw-r--r--
ipmitool
5.61
KB
-rw-r--r--
ipsec
3.1
KB
-rw-r--r--
iptables
1.84
KB
-rw-r--r--
ipv6calc
1
KB
-rw-r--r--
iscsiadm
1.87
KB
-rw-r--r--
isort
1.24
KB
-rw-r--r--
isosize
529
B
-rw-r--r--
isql
352
B
-rw-r--r--
iwconfig
2.73
KB
-rw-r--r--
iwlist
613
B
-rw-r--r--
iwpriv
735
B
-rw-r--r--
iwspy
484
B
-rw-r--r--
jar
499
B
-rw-r--r--
jarsigner
1.61
KB
-rw-r--r--
java
8.71
KB
-rw-r--r--
javac
8.71
KB
-rw-r--r--
javadoc
8.71
KB
-rw-r--r--
javaws
770
B
-rw-r--r--
journalctl
5.87
KB
-rw-r--r--
jpegoptim
878
B
-rw-r--r--
jps
595
B
-rw-r--r--
jq
1.17
KB
-rw-r--r--
jshint
886
B
-rw-r--r--
json_xs
865
B
-rw-r--r--
jsonschema
635
B
-rw-r--r--
k3b
1.13
KB
-rw-r--r--
kcov
1.72
KB
-rw-r--r--
kernel-install
1.64
KB
-rw-r--r--
kill
577
B
-rw-r--r--
killall
774
B
-rw-r--r--
kldload
475
B
-rw-r--r--
kldunload
372
B
-rw-r--r--
kmod
3.16
KB
-rw-r--r--
koji
6.17
KB
-rw-r--r--
kplayer
11.02
KB
-rw-r--r--
ktutil
2.93
KB
-rw-r--r--
l2ping
9.45
KB
-rw-r--r--
larch
1.93
KB
-rw-r--r--
last
949
B
-rw-r--r--
lastlog
573
B
-rw-r--r--
lbzip2
1.06
KB
-rw-r--r--
ldapadd
4.36
KB
-rw-r--r--
ldapcompare
4.36
KB
-rw-r--r--
ldapdelete
4.36
KB
-rw-r--r--
ldapmodify
4.36
KB
-rw-r--r--
ldapmodrdn
4.36
KB
-rw-r--r--
ldappasswd
4.36
KB
-rw-r--r--
ldapsearch
4.36
KB
-rw-r--r--
ldapvi
1.35
KB
-rw-r--r--
ldapwhoami
4.36
KB
-rw-r--r--
ldattach
1.44
KB
-rw-r--r--
lftp
683
B
-rw-r--r--
lftpget
306
B
-rw-r--r--
lilo
1.16
KB
-rw-r--r--
links
3.1
KB
-rw-r--r--
links2
3.1
KB
-rw-r--r--
lintian
5.25
KB
-rw-r--r--
lintian-info
5.25
KB
-rw-r--r--
lisp
633
B
-rw-r--r--
list_admins
385
B
-rw-r--r--
list_lists
465
B
-rw-r--r--
list_members
852
B
-rw-r--r--
list_owners
411
B
-rw-r--r--
locale-gen
710
B
-rw-r--r--
localectl
3.24
KB
-rw-r--r--
logger
1.52
KB
-rw-r--r--
loginctl
3.97
KB
-rw-r--r--
losetup
1.7
KB
-rw-r--r--
lpq
594
B
-rw-r--r--
lpr
904
B
-rw-r--r--
lrzip
1.09
KB
-rw-r--r--
lsblk
1.98
KB
-rw-r--r--
lscpu
1.04
KB
-rw-r--r--
lsipc
1.28
KB
-rw-r--r--
lslocks
1.06
KB
-rw-r--r--
lslogins
1.69
KB
-rw-r--r--
lsmem
1.04
KB
-rw-r--r--
lsns
1.16
KB
-rw-r--r--
lsof
1.35
KB
-rw-r--r--
lsscsi
583
B
-rw-r--r--
lsusb
417
B
-rw-r--r--
lua
430
B
-rw-r--r--
luac
482
B
-rw-r--r--
luseradd
1011
B
-rw-r--r--
luserdel
475
B
-rw-r--r--
lusermod
1011
B
-rw-r--r--
lvchange
18.9
KB
-rw-r--r--
lvcreate
18.9
KB
-rw-r--r--
lvdisplay
18.9
KB
-rw-r--r--
lvextend
18.9
KB
-rw-r--r--
lvm
18.9
KB
-rw-r--r--
lvmdiskscan
18.9
KB
-rw-r--r--
lvreduce
18.9
KB
-rw-r--r--
lvremove
18.9
KB
-rw-r--r--
lvrename
18.9
KB
-rw-r--r--
lvresize
18.9
KB
-rw-r--r--
lvs
18.9
KB
-rw-r--r--
lvscan
18.9
KB
-rw-r--r--
lz4
1.15
KB
-rw-r--r--
lz4c
1.15
KB
-rw-r--r--
lzip
1.1
KB
-rw-r--r--
lzma
926
B
-rw-r--r--
lzop
1.45
KB
-rw-r--r--
macof
425
B
-rw-r--r--
mailmanctl
465
B
-rw-r--r--
mailsnarf
447
B
-rw-r--r--
make
6.02
KB
-rw-r--r--
makepkg
1.02
KB
-rw-r--r--
man
2.8
KB
-rw-r--r--
mc
668
B
-rw-r--r--
mcookie
599
B
-rw-r--r--
mcrypt
1.82
KB
-rw-r--r--
mdadm
4.41
KB
-rw-r--r--
mdecrypt
1.82
KB
-rw-r--r--
mdtool
2.06
KB
-rw-r--r--
medusa
676
B
-rw-r--r--
mencoder
11.02
KB
-rw-r--r--
mesg
412
B
-rw-r--r--
micropython
1.72
KB
-rw-r--r--
mii-diag
651
B
-rw-r--r--
mii-tool
849
B
-rw-r--r--
minicom
1.07
KB
-rw-r--r--
mkfs
638
B
-rw-r--r--
mkfs.bfs
656
B
-rw-r--r--
mkfs.cramfs
821
B
-rw-r--r--
mkfs.minix
714
B
-rw-r--r--
mkinitrd
1.19
KB
-rw-r--r--
mkisofs
861
B
-rw-r--r--
mkswap
841
B
-rw-r--r--
mktemp
670
B
-rw-r--r--
mmcli
5.41
KB
-rw-r--r--
mmsitepass
328
B
-rw-r--r--
modinfo
1.2
KB
-rw-r--r--
modprobe
3.97
KB
-rw-r--r--
mogrify
8.79
KB
-rw-r--r--
monodevelop
442
B
-rw-r--r--
montage
8.79
KB
-rw-r--r--
more
528
B
-rw-r--r--
mount
2.05
KB
-rw-r--r--
mountpoint
487
B
-rw-r--r--
mozilla-firefox
1.14
KB
-rw-r--r--
mplayer
11.02
KB
-rw-r--r--
mplayer2
11.02
KB
-rw-r--r--
mr
2.46
KB
-rw-r--r--
msgsnarf
447
B
-rw-r--r--
msynctool
1.31
KB
-rw-r--r--
mtr
1.88
KB
-rw-r--r--
mtx
1.15
KB
-rw-r--r--
munin-node-configure
752
B
-rw-r--r--
munin-run
643
B
-rw-r--r--
munin-update
652
B
-rw-r--r--
munindoc
318
B
-rw-r--r--
mussh
1.15
KB
-rw-r--r--
mutt
4.19
KB
-rw-r--r--
muttng
4.19
KB
-rw-r--r--
mypy
1.38
KB
-rw-r--r--
mysql
2.55
KB
-rw-r--r--
mysqladmin
1.69
KB
-rw-r--r--
namei
500
B
-rw-r--r--
nc
1.21
KB
-rw-r--r--
ncal
926
B
-rw-r--r--
ncftp
621
B
-rw-r--r--
nethogs
558
B
-rw-r--r--
netplan
988
B
-rw-r--r--
networkctl
2.08
KB
-rw-r--r--
newlist
571
B
-rw-r--r--
newusers
653
B
-rw-r--r--
ngrep
837
B
-rw-r--r--
nmap
1.81
KB
-rw-r--r--
npm
1.73
KB
-rw-r--r--
nproc
490
B
-rw-r--r--
nsenter
1.14
KB
-rw-r--r--
nslookup
1.96
KB
-rw-r--r--
nsupdate
898
B
-rw-r--r--
ntpdate
715
B
-rw-r--r--
oggdec
861
B
-rw-r--r--
op
1.41
KB
-rw-r--r--
openssl
11.18
KB
-rw-r--r--
opera
1.35
KB
-rw-r--r--
optipng
1.15
KB
-rw-r--r--
p4
1.44
KB
-rw-r--r--
pack200
2.16
KB
-rw-r--r--
partx
1.24
KB
-rw-r--r--
passwd
539
B
-rw-r--r--
patch
1.72
KB
-rw-r--r--
pbzip2
1.06
KB
-rw-r--r--
pccardctl
380
B
-rw-r--r--
pdftotext
920
B
-rw-r--r--
pdlzip
1.1
KB
-rw-r--r--
perl
4.19
KB
-rw-r--r--
perlcritic
1.35
KB
-rw-r--r--
perldoc
4.19
KB
-rw-r--r--
perltidy
1.25
KB
-rw-r--r--
pgrep
1.18
KB
-rw-r--r--
phing
2.71
KB
-rw-r--r--
pidof
520
B
-rw-r--r--
pigz
1.14
KB
-rw-r--r--
pine
873
B
-rw-r--r--
pinfo
1.88
KB
-rw-r--r--
ping
1.96
KB
-rw-r--r--
ping6
1.96
KB
-rw-r--r--
pivot_root
387
B
-rw-r--r--
pkcon
2.67
KB
-rw-r--r--
pkg-config
1.28
KB
-rw-r--r--
pkg-get
2.08
KB
-rw-r--r--
pkg_deinstall
460
B
-rw-r--r--
pkg_delete
460
B
-rw-r--r--
pkg_info
460
B
-rw-r--r--
pkgadd
1.7
KB
-rw-r--r--
pkgrm
1.04
KB
-rw-r--r--
pkgtool
846
B
-rw-r--r--
pkgutil
3.93
KB
-rw-r--r--
pkill
1.18
KB
-rw-r--r--
plague-client
413
B
-rw-r--r--
plzip
1.1
KB
-rw-r--r--
pm-hibernate
319
B
-rw-r--r--
pm-is-supported
334
B
-rw-r--r--
pm-powersave
280
B
-rw-r--r--
pm-suspend
319
B
-rw-r--r--
pm-suspend-hybrid
319
B
-rw-r--r--
pmake
6.02
KB
-rw-r--r--
pngfix
809
B
-rw-r--r--
portinstall
909
B
-rw-r--r--
portsnap
493
B
-rw-r--r--
portupgrade
477
B
-rw-r--r--
postalias
962
B
-rw-r--r--
postcat
880
B
-rw-r--r--
postconf
809
B
-rw-r--r--
postfix
813
B
-rw-r--r--
postmap
962
B
-rw-r--r--
postsuper
1.53
KB
-rw-r--r--
povray
1.93
KB
-rw-r--r--
ppc-koji
6.17
KB
-rw-r--r--
prelink
911
B
-rw-r--r--
prlimit
1.3
KB
-rw-r--r--
pro
1.94
KB
-rw-r--r--
protoc
1.49
KB
-rw-r--r--
psql
4.19
KB
-rw-r--r--
puppet
9.51
KB
-rw-r--r--
puppetca
9.51
KB
-rw-r--r--
puppetd
9.51
KB
-rw-r--r--
puppetdoc
9.51
KB
-rw-r--r--
puppetmasterd
9.51
KB
-rw-r--r--
puppetqd
9.51
KB
-rw-r--r--
puppetrun
9.51
KB
-rw-r--r--
pv
721
B
-rw-r--r--
pvchange
18.9
KB
-rw-r--r--
pvcreate
18.9
KB
-rw-r--r--
pvdisplay
18.9
KB
-rw-r--r--
pvmove
18.9
KB
-rw-r--r--
pvremove
18.9
KB
-rw-r--r--
pvs
18.9
KB
-rw-r--r--
pvscan
18.9
KB
-rw-r--r--
pwck
386
B
-rw-r--r--
pwd
445
B
-rw-r--r--
pwdx
481
B
-rw-r--r--
pwgen
592
B
-rw-r--r--
pxz
1.45
KB
-rw-r--r--
py.test
2.3
KB
-rw-r--r--
py.test-2
2.3
KB
-rw-r--r--
py.test-3
2.3
KB
-rw-r--r--
pycodestyle
726
B
-rw-r--r--
pydoc
1.01
KB
-rw-r--r--
pydoc3
1.01
KB
-rw-r--r--
pydocstyle
818
B
-rw-r--r--
pyflakes
441
B
-rw-r--r--
pylint
3.06
KB
-rw-r--r--
pylint-2
3.06
KB
-rw-r--r--
pylint-3
3.06
KB
-rw-r--r--
pypy
1.72
KB
-rw-r--r--
pypy3
1.72
KB
-rw-r--r--
pytest
2.3
KB
-rw-r--r--
pytest-2
2.3
KB
-rw-r--r--
pytest-3
2.3
KB
-rw-r--r--
python
1.72
KB
-rw-r--r--
python2
1.72
KB
-rw-r--r--
python3
1.72
KB
-rw-r--r--
pyvenv
428
B
-rw-r--r--
pyvenv-3.4
428
B
-rw-r--r--
pyvenv-3.5
428
B
-rw-r--r--
pyvenv-3.6
428
B
-rw-r--r--
pyvenv-3.7
428
B
-rw-r--r--
pyvenv-3.8
428
B
-rw-r--r--
qdbus
379
B
-rw-r--r--
qemu
3.24
KB
-rw-r--r--
qemu-kvm
3.24
KB
-rw-r--r--
qemu-system-i386
3.24
KB
-rw-r--r--
qemu-system-x86_64
3.24
KB
-rw-r--r--
qrunner
391
B
-rw-r--r--
querybts
1.22
KB
-rw-r--r--
quota
3.58
KB
-rw-r--r--
quotacheck
3.58
KB
-rw-r--r--
quotaoff
3.58
KB
-rw-r--r--
quotaon
3.58
KB
-rw-r--r--
radvdump
492
B
-rw-r--r--
ralsh
9.51
KB
-rw-r--r--
raw
482
B
-rw-r--r--
rcs
890
B
-rw-r--r--
rcsdiff
890
B
-rw-r--r--
rdesktop
1.63
KB
-rw-r--r--
rdict
1.76
KB
-rw-r--r--
readprofile
679
B
-rw-r--r--
remove_members
569
B
-rw-r--r--
removepkg
550
B
-rw-r--r--
renice
784
B
-rw-r--r--
reportbug
3.24
KB
-rw-r--r--
repquota
3.58
KB
-rw-r--r--
resizepart
568
B
-rw-r--r--
resolvconf
426
B
-rw-r--r--
resolvectl
5.56
KB
-rw-r--r--
rev
432
B
-rw-r--r--
rfcomm
9.45
KB
-rw-r--r--
ri
3.66
KB
-rw-r--r--
rlog
890
B
-rw-r--r--
rmlist
363
B
-rw-r--r--
rmmod
519
B
-rw-r--r--
route
790
B
-rw-r--r--
rpcdebug
981
B
-rw-r--r--
rpm
10.08
KB
-rw-r--r--
rpm2targz
368
B
-rw-r--r--
rpm2tgz
368
B
-rw-r--r--
rpm2txz
368
B
-rw-r--r--
rpmbuild
10.08
KB
-rw-r--r--
rpmbuild-md5
10.08
KB
-rw-r--r--
rpmcheck
512
B
-rw-r--r--
rrdtool
438
B
-rw-r--r--
rsync
3.44
KB
-rw-r--r--
rtcwake
1.06
KB
-rw-r--r--
s390-koji
6.17
KB
-rw-r--r--
sbcl
675
B
-rw-r--r--
sbcl-mt
675
B
-rw-r--r--
sbopkg
1.71
KB
-rw-r--r--
scp
15.54
KB
-rw-r--r--
screen
2.91
KB
-rw-r--r--
script
775
B
-rw-r--r--
scriptreplay
625
B
-rw-r--r--
scrub
868
B
-rw-r--r--
sdptool
9.45
KB
-rw-r--r--
setarch
790
B
-rw-r--r--
setpriv
2.77
KB
-rw-r--r--
setquota
3.58
KB
-rw-r--r--
setsid
440
B
-rw-r--r--
setterm
2.53
KB
-rw-r--r--
sfdisk
1.96
KB
-rw-r--r--
sftp
15.54
KB
-rw-r--r--
sh
885
B
-rw-r--r--
shellcheck
1.62
KB
-rw-r--r--
sidedoor
15.54
KB
-rw-r--r--
sitecopy
1.29
KB
-rw-r--r--
slackpkg
3.32
KB
-rw-r--r--
slapt-get
2.36
KB
-rw-r--r--
slapt-src
1.84
KB
-rw-r--r--
slogin
15.54
KB
-rw-r--r--
smartctl
4.18
KB
-rw-r--r--
smbcacls
6.92
KB
-rw-r--r--
smbclient
6.92
KB
-rw-r--r--
smbcquotas
6.92
KB
-rw-r--r--
smbget
6.92
KB
-rw-r--r--
smbpasswd
6.92
KB
-rw-r--r--
smbtar
6.92
KB
-rw-r--r--
smbtree
6.92
KB
-rw-r--r--
snap
2.48
KB
-rw-r--r--
snownews
363
B
-rw-r--r--
sparc-koji
6.17
KB
-rw-r--r--
spovray
1.93
KB
-rw-r--r--
sqlite3
882
B
-rw-r--r--
ss
1.09
KB
-rw-r--r--
ssh
15.54
KB
-rw-r--r--
ssh-add
677
B
-rw-r--r--
ssh-copy-id
684
B
-rw-r--r--
ssh-keygen
1.84
KB
-rw-r--r--
sshfs
594
B
-rw-r--r--
sshmitm
364
B
-rw-r--r--
sshow
498
B
-rw-r--r--
star
18.47
KB
-rw-r--r--
strace
3.26
KB
-rw-r--r--
stream
8.79
KB
-rw-r--r--
strings
1.12
KB
-rw-r--r--
su
892
B
-rw-r--r--
sudo
1.41
KB
-rw-r--r--
sudoedit
1.41
KB
-rw-r--r--
svcadm
4.95
KB
-rw-r--r--
svk
8.56
KB
-rw-r--r--
swaplabel
635
B
-rw-r--r--
swapoff
743
B
-rw-r--r--
swapon
1.96
KB
-rw-r--r--
sync_members
730
B
-rw-r--r--
synclient
588
B
-rw-r--r--
sysbench
3.96
KB
-rw-r--r--
sysctl
802
B
-rw-r--r--
systemctl
13.26
KB
-rw-r--r--
systemd-analyze
5.2
KB
-rw-r--r--
systemd-cat
1.66
KB
-rw-r--r--
systemd-cgls
2.04
KB
-rw-r--r--
systemd-cgtop
1.84
KB
-rw-r--r--
systemd-delta
1.7
KB
-rw-r--r--
systemd-detect-virt
1.28
KB
-rw-r--r--
systemd-path
1.68
KB
-rw-r--r--
systemd-resolve
2.63
KB
-rw-r--r--
systemd-run
5.23
KB
-rw-r--r--
tar
18.47
KB
-rw-r--r--
taskset
1.18
KB
-rw-r--r--
tc
26.49
KB
-rw-r--r--
tcpdump
1.62
KB
-rw-r--r--
tcpkill
440
B
-rw-r--r--
tcpnice
431
B
-rw-r--r--
tightvncviewer
2.94
KB
-rw-r--r--
timedatectl
2.86
KB
-rw-r--r--
timeout
993
B
-rw-r--r--
tipc
7.15
KB
-rw-r--r--
tox
1.33
KB
-rw-r--r--
tracepath
559
B
-rw-r--r--
tracepath6
559
B
-rw-r--r--
tshark
4.18
KB
-rw-r--r--
tune2fs
1.72
KB
-rw-r--r--
typeset
1.25
KB
-rw-r--r--
ua
1.94
KB
-rw-r--r--
udevadm
7.96
KB
-rw-r--r--
udisksctl
857
B
-rw-r--r--
ufw
2.44
KB
-rw-r--r--
ulimit
901
B
-rw-r--r--
umount
2.2
KB
-rw-r--r--
unace
476
B
-rw-r--r--
unpack200
1.22
KB
-rw-r--r--
unrar
619
B
-rw-r--r--
unshare
855
B
-rw-r--r--
unshunt
347
B
-rw-r--r--
update-alternatives
2.35
KB
-rw-r--r--
update-initramfs
581
B
-rw-r--r--
update-rc.d
1.92
KB
-rw-r--r--
upgradepkg
805
B
-rw-r--r--
urlsnarf
507
B
-rw-r--r--
useradd
1.22
KB
-rw-r--r--
userdel
543
B
-rw-r--r--
usermod
1.33
KB
-rw-r--r--
utmpdump
475
B
-rw-r--r--
uuidd
862
B
-rw-r--r--
uuidgen
657
B
-rw-r--r--
uuidparse
727
B
-rw-r--r--
valgrind
3.43
KB
-rw-r--r--
vgcfgbackup
18.9
KB
-rw-r--r--
vgcfgrestore
18.9
KB
-rw-r--r--
vgchange
18.9
KB
-rw-r--r--
vgck
18.9
KB
-rw-r--r--
vgconvert
18.9
KB
-rw-r--r--
vgcreate
18.9
KB
-rw-r--r--
vgdisplay
18.9
KB
-rw-r--r--
vgexport
18.9
KB
-rw-r--r--
vgextend
18.9
KB
-rw-r--r--
vgimport
18.9
KB
-rw-r--r--
vgmerge
18.9
KB
-rw-r--r--
vgmknodes
18.9
KB
-rw-r--r--
vgreduce
18.9
KB
-rw-r--r--
vgremove
18.9
KB
-rw-r--r--
vgrename
18.9
KB
-rw-r--r--
vgs
18.9
KB
-rw-r--r--
vgscan
18.9
KB
-rw-r--r--
vgsplit
18.9
KB
-rw-r--r--
vigr
438
B
-rw-r--r--
vipw
438
B
-rw-r--r--
vmstat
696
B
-rw-r--r--
vncviewer
2.94
KB
-rw-r--r--
vpnc
2.25
KB
-rw-r--r--
wall
634
B
-rw-r--r--
watch
1.15
KB
-rw-r--r--
wdctl
1.34
KB
-rw-r--r--
webmitm
364
B
-rw-r--r--
wget
6.34
KB
-rw-r--r--
whatis
2.8
KB
-rw-r--r--
whereis
535
B
-rw-r--r--
whiptail
345
B
-rw-r--r--
wine
536
B
-rw-r--r--
wine-development
536
B
-rw-r--r--
wine-stable
536
B
-rw-r--r--
wipefs
1.16
KB
-rw-r--r--
withlist
411
B
-rw-r--r--
wodim
3.49
KB
-rw-r--r--
wol
1.12
KB
-rw-r--r--
wsimport
1.09
KB
-rw-r--r--
wtf
926
B
-rw-r--r--
wvdial
1.24
KB
-rw-r--r--
xdg-mime
2.21
KB
-rw-r--r--
xdg-settings
761
B
-rw-r--r--
xfreerdp
2.07
KB
-rw-r--r--
xgamma
1.99
KB
-rw-r--r--
xhost
376
B
-rw-r--r--
xmllint
1.23
KB
-rw-r--r--
xmlwf
696
B
-rw-r--r--
xmms
687
B
-rw-r--r--
xmodmap
435
B
-rw-r--r--
xpovray
1.93
KB
-rw-r--r--
xrandr
2.13
KB
-rw-r--r--
xrdb
506
B
-rw-r--r--
xsltproc
1.19
KB
-rw-r--r--
xvfb-run
871
B
-rw-r--r--
xvnc4viewer
2.94
KB
-rw-r--r--
xxd
467
B
-rw-r--r--
xz
1.45
KB
-rw-r--r--
xzdec
630
B
-rw-r--r--
ypcat
759
B
-rw-r--r--
ypmatch
759
B
-rw-r--r--
yum-arch
357
B
-rw-r--r--
zopfli
676
B
-rw-r--r--
zopflipng
926
B
-rw-r--r--
zramctl
1.26
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : tc
# tc(8) completion -*- shell-script -*- # Copyright 2016 6WIND S.A. # Copyright 2016 Quentin Monnet <quentin.monnet@6wind.com> QDISC_KIND=' choke codel bfifo pfifo pfifo_head_drop fq fq_codel gred hhf \ mqprio multiq netem pfifo_fast pie red rr sfb sfq tbf atm cbq drr \ dsmark hfsc htb prio qfq ' FILTER_KIND=' basic bpf cgroup flow flower fw route rsvp tcindex u32 matchall ' ACTION_KIND=' gact mirred bpf sample ' # Takes a list of words in argument; each one of them is added to COMPREPLY if # it is not already present on the command line. Returns no value. _tc_once_attr() { local w subcword found for w in $*; do found=0 for (( subcword=3; subcword < ${#words[@]}-1; subcword++ )); do if [[ $w == ${words[subcword]} ]]; then found=1 break fi done [[ $found -eq 0 ]] && \ COMPREPLY+=( $( compgen -W "$w" -- "$cur" ) ) done } # Takes a list of words in argument; each one of them is added to COMPREPLY if # it is not already present on the command line from the provided index. Returns # no value. _tc_once_attr_from() { local w subcword found from=$1 shift for w in $*; do found=0 for (( subcword=$from; subcword < ${#words[@]}-1; subcword++ )); do if [[ $w == ${words[subcword]} ]]; then found=1 break fi done [[ $found -eq 0 ]] && \ COMPREPLY+=( $( compgen -W "$w" -- "$cur" ) ) done } # Takes a list of words in argument; adds them all to COMPREPLY if none of them # is already present on the command line. Returns no value. _tc_one_of_list() { local w subcword for w in $*; do for (( subcword=3; subcword < ${#words[@]}-1; subcword++ )); do [[ $w == ${words[subcword]} ]] && return 1 done done COMPREPLY+=( $( compgen -W "$*" -- "$cur" ) ) } # Takes a list of words in argument; adds them all to COMPREPLY if none of them # is already present on the command line from the provided index. Returns no # value. _tc_one_of_list_from() { local w subcword from=$1 shift for w in $*; do for (( subcword=$from; subcword < ${#words[@]}-1; subcword++ )); do [[ $w == ${words[subcword]} ]] && return 1 done done COMPREPLY+=( $( compgen -W "$*" -- "$cur" ) ) } # Returns "$cur ${cur}arg1 ${cur}arg2 ..." _tc_expand_units() { [[ $cur =~ ^[0-9]+ ]] || return 1 local value=${cur%%[^0-9]*} [[ $cur == $value ]] && echo $cur echo ${@/#/$value} } # Complete based on given word, usually $prev (or possibly the word before), # for when an argument or an option name has but a few possible arguments (so # tc does not take particular commands into account here). # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_direct_complete() { case $1 in # Command options dev) _available_interfaces return 0 ;; classid) return 0 ;; estimator) local list=$( _tc_expand_units 'secs' 'msecs' 'usecs' ) COMPREPLY+=( $( compgen -W "$list" -- "$cur" ) ) return 0 ;; handle) return 0 ;; parent|flowid) local i iface ids cmd for (( i=3; i < ${#words[@]}-2; i++ )); do [[ ${words[i]} == dev ]] && iface=${words[i+1]} break done for cmd in qdisc class; do if [[ -n $iface ]]; then ids+=$( tc $cmd show dev $iface 2>/dev/null | \ cut -d\ -f 3 )" " else ids+=$( tc $cmd show 2>/dev/null | cut -d\ -f 3 ) fi done [[ $ids != " " ]] && \ COMPREPLY+=( $( compgen -W "$ids" -- "$cur" ) ) return 0 ;; protocol) # list comes from lib/ll_proto.c COMPREPLY+=( $( compgen -W ' 802.1Q 802.1ad 802_2 802_3 LLDP aarp \ all aoe arp atalk atmfate atmmpoa ax25 bpq can control cust \ ddcmp dec diag dna_dl dna_rc dna_rt econet ieeepup ieeepupat \ ip ipv4 ipv6 ipx irda lat localtalk loop mobitex ppp_disc \ ppp_mp ppp_ses ppptalk pup pupat rarp sca snap tipc tr_802_2 \ wan_ppp x25' -- "$cur" ) ) return 0 ;; prio) return 0 ;; stab) COMPREPLY+=( $( compgen -W 'mtu tsize mpu overhead linklayer' -- "$cur" ) ) ;; # Qdiscs and classes options alpha|bands|beta|buckets|corrupt|debug|decrement|default|\ default_index|depth|direct_qlen|divisor|duplicate|ewma|flow_limit|\ flows|hh_limit|increment|indices|linklayer|non_hh_weight|num_tc|\ penalty_burst|penalty_rate|prio|priomap|probability|queues|r2q|\ reorder|vq|vqs) return 0 ;; setup) COMPREPLY+=( $( compgen -W 'vqs' -- "$cur" ) ) return 0 ;; hw) COMPREPLY+=( $( compgen -W '1 0' -- "$cur" ) ) return 0 ;; distribution) COMPREPLY+=( $( compgen -W 'uniform normal pareto paretonormal' -- "$cur" ) ) return 0 ;; loss) COMPREPLY+=( $( compgen -W 'random state gmodel' -- "$cur" ) ) return 0 ;; # Qdiscs and classes options options gap|gmodel|state) return 0 ;; # Filters options map) COMPREPLY+=( $( compgen -W 'key' -- "$cur" ) ) return 0 ;; hash) COMPREPLY+=( $( compgen -W 'keys' -- "$cur" ) ) return 0 ;; indev) _available_interfaces return 0 ;; eth_type) COMPREPLY+=( $( compgen -W 'ipv4 ipv6' -- "$cur" ) ) return 0 ;; ip_proto) COMPREPLY+=( $( compgen -W 'tcp udp' -- "$cur" ) ) return 0 ;; # Filters options options key|keys) [[ ${words[@]} =~ graft ]] && return 1 COMPREPLY+=( $( compgen -W 'src dst proto proto-src proto-dst iif \ priority mark nfct nfct-src nfct-dst nfct-proto-src \ nfct-proto-dst rt-classid sk-uid sk-gid vlan-tag rxhash' -- \ "$cur" ) ) return 0 ;; # BPF options - used for filters, actions, and exec export|bytecode|bytecode-file|object-file) _filedir return 0 ;; object-pinned|graft) # Pinned object is probably under /sys/fs/bpf/ [[ -n "$cur" ]] && _filedir && return 0 COMPREPLY=( $( compgen -G "/sys/fs/bpf/*" -- "$cur" ) ) || _filedir compopt -o nospace return 0 ;; section) if (type objdump > /dev/null 2>&1) ; then local fword objfile section_list for (( fword=3; fword < ${#words[@]}-3; fword++ )); do if [[ ${words[fword]} == object-file ]]; then objfile=${words[fword+1]} break fi done section_list=$( objdump -h $objfile 2>/dev/null | \ sed -n 's/^ *[0-9]\+ \([^ ]*\) *.*/\1/p' ) COMPREPLY+=( $( compgen -W "$section_list" -- "$cur" ) ) fi return 0 ;; import|run) _filedir return 0 ;; type) COMPREPLY+=( $( compgen -W 'cls act' -- "$cur" ) ) return 0 ;; # Actions options random) _tc_one_of_list 'netrand determ' return 0 ;; # Units for option arguments bandwidth|maxrate|peakrate|rate) local list=$( _tc_expand_units 'bit' \ 'kbit' 'kibit' 'kbps' 'kibps' \ 'mbit' 'mibit' 'mbps' 'mibps' \ 'gbit' 'gibit' 'gbps' 'gibps' \ 'tbit' 'tibit' 'tbps' 'tibps' ) COMPREPLY+=( $( compgen -W "$list" -- "$cur" ) ) ;; admit_bytes|avpkt|burst|cell|initial_quantum|limit|max|min|mtu|mpu|\ overhead|quantum|redflowlist) local list=$( _tc_expand_units \ 'b' 'kbit' 'k' 'mbit' 'm' 'gbit' 'g' ) COMPREPLY+=( $( compgen -W "$list" -- "$cur" ) ) ;; db|delay|evict_timeout|interval|latency|perturb|rehash|reset_timeout|\ target|tupdate) local list=$( _tc_expand_units 'secs' 'msecs' 'usecs' ) COMPREPLY+=( $( compgen -W "$list" -- "$cur" ) ) ;; esac return 1 } # Complete with options names for qdiscs. Each qdisc has its own set of options # and it seems we cannot really parse it from anywhere, so we add it manually # in this function. # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_qdisc_options() { case $1 in choke) _tc_once_attr 'limit bandwidth ecn min max burst' return 0 ;; codel) _tc_once_attr 'limit target interval' _tc_one_of_list 'ecn noecn' return 0 ;; bfifo|pfifo|pfifo_head_drop) _tc_once_attr 'limit' return 0 ;; fq) _tc_once_attr 'limit flow_limit quantum initial_quantum maxrate \ buckets' _tc_one_of_list 'pacing nopacing' return 0 ;; fq_codel) _tc_once_attr 'limit flows target interval quantum' _tc_one_of_list 'ecn noecn' return 0 ;; gred) _tc_once_attr 'setup vqs default grio vq prio limit min max avpkt \ burst probability bandwidth ecn harddrop' return 0 ;; hhf) _tc_once_attr 'limit quantum hh_limit reset_timeout admit_bytes \ evict_timeout non_hh_weight' return 0 ;; mqprio) _tc_once_attr 'num_tc map queues hw' return 0 ;; netem) _tc_once_attr 'delay distribution corrupt duplicate loss ecn \ reorder rate' return 0 ;; pie) _tc_once_attr 'limit target tupdate alpha beta' _tc_one_of_list 'bytemode nobytemode' _tc_one_of_list 'ecn noecn' _tc_one_of_list 'dq_rate_estimator no_dq_rate_estimator' return 0 ;; red) _tc_once_attr 'limit min max avpkt burst adaptive probability \ bandwidth ecn harddrop' return 0 ;; rr|prio) _tc_once_attr 'bands priomap multiqueue' return 0 ;; sfb) _tc_once_attr 'rehash db limit max target increment decrement \ penalty_rate penalty_burst' return 0 ;; sfq) _tc_once_attr 'limit perturb quantum divisor flows depth headdrop \ redflowlimit min max avpkt burst probability ecn harddrop' return 0 ;; tbf) _tc_once_attr 'limit burst rate mtu peakrate latency overhead \ linklayer' return 0 ;; cbq) _tc_once_attr 'bandwidth avpkt mpu cell ewma' return 0 ;; dsmark) _tc_once_attr 'indices default_index set_tc_index' return 0 ;; hfsc) _tc_once_attr 'default' return 0 ;; htb) _tc_once_attr 'default r2q direct_qlen debug' return 0 ;; multiq|pfifo_fast|atm|drr|qfq) return 0 ;; esac return 1 } # Complete with options names for BPF filters or actions. # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_bpf_options() { [[ ${words[${#words[@]}-3]} == object-file ]] && \ _tc_once_attr 'section export' [[ ${words[${#words[@]}-5]} == object-file ]] && \ [[ ${words[${#words[@]}-3]} =~ (section|export) ]] && \ _tc_once_attr 'section export' _tc_one_of_list 'bytecode bytecode-file object-file object-pinned' _tc_once_attr 'verbose index direct-action action classid' return 0 } # Complete with options names for filter actions. # This function is recursive, thus allowing multiple actions statement to be # parsed. # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_filter_action_options() { for ((acwd=$1; acwd < ${#words[@]}-1; acwd++)); do if [[ action == ${words[acwd]} ]]; then _tc_filter_action_options $((acwd+1)) && return 0 fi done local action acwd for ((acwd=$1; acwd < ${#words[@]}-1; acwd++)); do if [[ $ACTION_KIND =~ ' '${words[acwd]}' ' ]]; then _tc_one_of_list_from $acwd action _tc_action_options $acwd && return 0 fi done _tc_one_of_list_from $acwd $ACTION_KIND return 0 } # Complete with options names for filters. # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_filter_options() { for ((acwd=$1; acwd < ${#words[@]}-1; acwd++)); do if [[ action == ${words[acwd]} ]]; then _tc_filter_action_options $((acwd+1)) && return 0 fi done filter=${words[$1]} case $filter in basic) _tc_once_attr 'match action classid' return 0 ;; bpf) _tc_bpf_options return 0 ;; cgroup) _tc_once_attr 'match action' return 0 ;; flow) local i for (( i=5; i < ${#words[@]}-1; i++ )); do if [[ ${words[i]} =~ ^keys?$ ]]; then _tc_direct_complete 'key' COMPREPLY+=( $( compgen -W 'or and xor rshift addend' -- \ "$cur" ) ) break fi done _tc_once_attr 'map hash divisor baseclass match action' return 0 ;; matchall) _tc_once_attr 'action classid skip_sw skip_hw' return 0 ;; flower) _tc_once_attr 'action classid indev dst_mac src_mac eth_type \ ip_proto dst_ip src_ip dst_port src_port' return 0 ;; fw) _tc_once_attr 'action classid' return 0 ;; route) _tc_one_of_list 'from fromif' _tc_once_attr 'to classid action' return 0 ;; rsvp) _tc_once_attr 'ipproto session sender classid action tunnelid \ tunnel flowlabel spi/ah spi/esp u8 u16 u32' [[ ${words[${#words[@]}-3]} == tunnel ]] && \ COMPREPLY+=( $( compgen -W 'skip' -- "$cur" ) ) [[ ${words[${#words[@]}-3]} =~ u(8|16|32) ]] && \ COMPREPLY+=( $( compgen -W 'mask' -- "$cur" ) ) [[ ${words[${#words[@]}-3]} == mask ]] && \ COMPREPLY+=( $( compgen -W 'at' -- "$cur" ) ) return 0 ;; tcindex) _tc_once_attr 'hash mask shift classid action' _tc_one_of_list 'pass_on fall_through' return 0 ;; u32) _tc_once_attr 'match link classid action offset ht hashkey sample' COMPREPLY+=( $( compgen -W 'ip ip6 udp tcp icmp u8 u16 u32 mark \ divisor' -- "$cur" ) ) return 0 ;; esac return 1 } # Complete with options names for actions. # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_action_options() { local from=$1 local action=${words[from]} case $action in bpf) _tc_bpf_options return 0 ;; mirred) _tc_one_of_list_from $from 'ingress egress' _tc_one_of_list_from $from 'mirror redirect' _tc_once_attr_from $from 'index dev' return 0 ;; sample) _tc_once_attr_from $from 'rate' _tc_once_attr_from $from 'trunc' _tc_once_attr_from $from 'group' return 0 ;; gact) _tc_one_of_list_from $from 'reclassify drop continue pass' _tc_once_attr_from $from 'random' return 0 ;; esac return 1 } # Complete with options names for exec. # Returns 0 is completion should stop after running this function, 1 otherwise. _tc_exec_options() { case $1 in import) [[ ${words[${#words[@]}-3]} == import ]] && \ _tc_once_attr 'run' return 0 ;; graft) COMPREPLY+=( $( compgen -W 'key type' -- "$cur" ) ) [[ ${words[${#words[@]}-3]} == object-file ]] && \ _tc_once_attr 'type' _tc_bpf_options return 0 ;; esac return 1 } # Main completion function # Logic is as follows: # 1. Check if previous word is a global option; if so, propose arguments. # 2. Check if current word is a global option; if so, propose completion. # 3. Check for the presence of a main command (qdisc|class|filter|...). If # there is one, first call _tc_direct_complete to see if previous word is # waiting for a particular completion. If so, propose completion and exit. # 4. Extract main command and -- if available -- its subcommand # (add|delete|show|...). # 5. Propose completion based on main and sub- command in use. Additional # functions may be called for qdiscs, classes or filter options. _tc() { local cur prev words cword _init_completion || return case $prev in -V|-Version) return 0 ;; -b|-batch|-cf|-conf) _filedir return 0 ;; -force) COMPREPLY=( $( compgen -W '-batch' -- "$cur" ) ) return 0 ;; -nm|name) [[ -r /etc/iproute2/tc_cls ]] || \ COMPREPLY=( $( compgen -W '-conf' -- "$cur" ) ) return 0 ;; -n|-net|-netns) local nslist=$( ip netns list 2>/dev/null ) COMPREPLY+=( $( compgen -W "$nslist" -- "$cur" ) ) return 0 ;; -tshort) _tc_once_attr '-statistics' COMPREPLY+=( $( compgen -W 'monitor' -- "$cur" ) ) return 0 ;; -timestamp) _tc_once_attr '-statistics -tshort' COMPREPLY+=( $( compgen -W 'monitor' -- "$cur" ) ) return 0 ;; esac # Search for main commands local subcword cmd subcmd for (( subcword=1; subcword < ${#words[@]}-1; subcword++ )); do [[ ${words[subcword]} == -b?(atch) ]] && return 0 [[ -n $cmd ]] && subcmd=${words[subcword]} && break [[ ${words[subcword]} != -* && \ ${words[subcword-1]} != -@(n?(et?(ns))|c?(on)f) ]] && \ cmd=${words[subcword]} done if [[ -z $cmd ]]; then case $cur in -*) local c='-Version -statistics -details -raw -pretty \ -iec -graphe -batch -name -netns -timestamp' [[ $cword -eq 1 ]] && c+=' -force' COMPREPLY=( $( compgen -W "$c" -- "$cur" ) ) return 0 ;; *) COMPREPLY=( $( compgen -W "help $( tc help 2>&1 | \ command sed \ -e '/OBJECT := /!d' \ -e 's/.*{//' \ -e 's/}.*//' \ -e \ 's/|//g' )" -- "$cur" ) ) return 0 ;; esac fi [[ $subcmd == help ]] && return 0 # For this set of commands we may create COMPREPLY just by analysing the # previous word, if it expects for a specific list of options or values. if [[ $cmd =~ (qdisc|class|filter|action|exec) ]]; then _tc_direct_complete $prev && return 0 if [[ ${words[${#words[@]}-3]} == estimator ]]; then local list=$( _tc_expand_units 'secs' 'msecs' 'usecs' ) COMPREPLY+=( $( compgen -W "$list" -- "$cur" ) ) && return 0 fi fi # Completion depends on main command and subcommand in use. case $cmd in qdisc) case $subcmd in add|change|replace|link|del|delete) if [[ $(($cword-$subcword)) -eq 1 ]]; then COMPREPLY=( $( compgen -W 'dev' -- "$cur" ) ) return 0 fi local qdisc qdwd for ((qdwd=$subcword; qdwd < ${#words[@]}-1; qdwd++)); do if [[ $QDISC_KIND =~ ' '${words[qdwd]}' ' ]]; then qdisc=${words[qdwd]} _tc_qdisc_options $qdisc && return 0 fi done _tc_one_of_list $QDISC_KIND _tc_one_of_list 'root ingress parent clsact' _tc_once_attr 'handle estimator stab' ;; show) _tc_once_attr 'dev' _tc_one_of_list 'ingress clsact' _tc_once_attr '-statistics -details -raw -pretty -iec \ -graph -name' ;; help) return 0 ;; *) [[ $cword -eq $subcword ]] && \ COMPREPLY=( $( compgen -W 'help add delete change \ replace link show' -- "$cur" ) ) ;; esac ;; class) case $subcmd in add|change|replace|del|delete) if [[ $(($cword-$subcword)) -eq 1 ]]; then COMPREPLY=( $( compgen -W 'dev' -- "$cur" ) ) return 0 fi local qdisc qdwd for ((qdwd=$subcword; qdwd < ${#words[@]}-1; qdwd++)); do if [[ $QDISC_KIND =~ ' '${words[qdwd]}' ' ]]; then qdisc=${words[qdwd]} _tc_qdisc_options $qdisc && return 0 fi done _tc_one_of_list $QDISC_KIND _tc_one_of_list 'root parent' _tc_once_attr 'classid' ;; show) _tc_once_attr 'dev' _tc_one_of_list 'root parent' _tc_once_attr '-statistics -details -raw -pretty -iec \ -graph -name' ;; help) return 0 ;; *) [[ $cword -eq $subcword ]] && \ COMPREPLY=( $( compgen -W 'help add delete change \ replace show' -- "$cur" ) ) ;; esac ;; filter) case $subcmd in add|change|replace|del|delete) if [[ $(($cword-$subcword)) -eq 1 ]]; then COMPREPLY=( $( compgen -W 'dev' -- "$cur" ) ) return 0 fi local filter fltwd for ((fltwd=$subcword; fltwd < ${#words[@]}-1; fltwd++)); do if [[ $FILTER_KIND =~ ' '${words[fltwd]}' ' ]]; then _tc_filter_options $fltwd && return 0 fi done _tc_one_of_list $FILTER_KIND _tc_one_of_list 'root ingress egress parent' _tc_once_attr 'handle estimator pref protocol' ;; show) _tc_once_attr 'dev' _tc_one_of_list 'root ingress egress parent' _tc_once_attr '-statistics -details -raw -pretty -iec \ -graph -name' ;; help) return 0 ;; *) [[ $cword -eq $subcword ]] && \ COMPREPLY=( $( compgen -W 'help add delete change \ replace show' -- "$cur" ) ) ;; esac ;; action) case $subcmd in add|change|replace) local action acwd for ((acwd=$subcword; acwd < ${#words[@]}-1; acwd++)); do if [[ $ACTION_KIND =~ ' '${words[acwd]}' ' ]]; then _tc_action_options $acwd && return 0 fi done _tc_one_of_list $ACTION_KIND ;; get|del|delete) _tc_once_attr 'index' ;; lst|list|flush|show) _tc_one_of_list $ACTION_KIND ;; *) [[ $cword -eq $subcword ]] && \ COMPREPLY=( $( compgen -W 'help add delete change \ replace show list flush action' -- "$cur" ) ) ;; esac ;; monitor) COMPREPLY=( $( compgen -W 'help' -- "$cur" ) ) ;; exec) case $subcmd in bpf) local excmd exwd EXEC_KIND=' import debug graft ' for ((exwd=$subcword; exwd < ${#words[@]}-1; exwd++)); do if [[ $EXEC_KIND =~ ' '${words[exwd]}' ' ]]; then excmd=${words[exwd]} _tc_exec_options $excmd && return 0 fi done _tc_one_of_list $EXEC_KIND ;; *) [[ $cword -eq $subcword ]] && \ COMPREPLY=( $( compgen -W 'bpf' -- "$cur" ) ) ;; esac ;; esac } && complete -F _tc tc # ex: ts=4 sw=4 et filetype=sh
Close