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.117.166.217
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 : ethtool
# bash completion for ethtool(8) -*- shell-script -*- # shellcheck shell=bash disable=SC2207 # Complete a word representing a set of characters. # @param $@ chars Characters which may be present in completed set. _ethtool_compgen_letterset() { local char for char; do case "$cur" in *"$char"*) # $cur already contains $char ;; *) COMPREPLY+=( "$cur$char" ) ;; esac done } # Generate completions for words matched case-insensitively # @param $@ choices Completion choices. _ethtool_compgen_nocase() { local reset reset=$( shopt -p nocasematch ) shopt -s nocasematch local choice for choice; do case "$choice" in "$cur"*) COMPREPLY+=( "$choice" ) ;; esac done $reset } # Gets names from a section of ethtool output. # @param $1 section_bre POSIX BRE matching section heading (without : at end). # @param $@ ethtool arguments _ethtool_get_names_in_section() { local section_bre="$1" shift PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin" \ ethtool "$@" 2>/dev/null | command sed -n " # Line is section heading iff it ends with : # From requested section heading to next section heading /^$section_bre:$/,/:$/ { # If line is section heading, ignore it /:$/d # Remove value and separator, if present s/[[:space:]]*:.*// # Remove leading space, if present s/^[[:space:]]*// # Print the line p }" } # Complete an RSS Context ID _ethtool_context() { COMPREPLY=( $(PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin" \ ethtool --show-nfc "${words[2]}" 2>/dev/null | command sed -n 's/^[[:space:]]*RSS Context ID:[[:space:]]*\([0-9]*\)$/\1/p' | sort -u) ) } # Complete a network flow traffic type # Available OPTIONS: # --hash Complete only types suitable for rx hashing _ethtool_flow_type() { local types='ah4 ah6 esp4 esp6 ether sctp4 sctp6 tcp4 tcp6 udp4 udp6' if [ "${1-}" != --hash ]; then types="$types ip4 ip6" fi COMPREPLY=( $( compgen -W "$types" -- "$cur" ) ) } # Completion for ethtool --change _ethtool_change() { local -A settings=( [advertise]=notseen [autoneg]=notseen [duplex]=notseen [mdix]=notseen [msglvl]=notseen [port]=notseen [phyad]=notseen [speed]=notseen [wol]=notseen [xcvr]=notseen ) local -A msgtypes=( [drv]=notseen [hw]=notseen [ifdown]=notseen [ifup]=notseen [intr]=notseen [link]=notseen [pktdata]=notseen [probe]=notseen [rx_err]=notseen [rx_status]=notseen [timer]=notseen [tx_done]=notseen [tx_err]=notseen [tx_queued]=notseen [wol]=notseen ) # Mark seen settings and msgtypes, and whether in msglvl sub-command local in_msglvl= local word for word in "${words[@]:3:${#words[@]}-4}"; do if [ "$in_msglvl" ] && [ "${msgtypes[$word]+set}" ]; then msgtypes[$word]=seen elif [ "${settings[$word]+set}" ]; then settings[$word]=seen if [ "$word" = msglvl ]; then in_msglvl=1 else in_msglvl= fi fi done if [ "$in_msglvl" ] && [ "${msgtypes[$prev]+set}" ]; then # All msgtypes take an on/off argument COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return fi case "$prev" in advertise) # Hex number return ;; autoneg) COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return ;; duplex) COMPREPLY=( $( compgen -W 'half full' -- "$cur" ) ) return ;; mdix) COMPREPLY=( $( compgen -W 'auto on off' -- "$cur" ) ) return ;; msglvl) # Unsigned integer or msgtype COMPREPLY=( $( compgen -W "${!msgtypes[*]}" -- "$cur" ) ) return ;; port) COMPREPLY=( $( compgen -W 'aui bnc fibre mii tp' -- "$cur" ) ) return ;; phyad) # Integer return ;; sopass) _mac_addresses return ;; speed) # Number return ;; wol) # $cur is a set of wol type characters. _ethtool_compgen_letterset p u m b a g s f d return ;; xcvr) COMPREPLY=( $( compgen -W 'internal external' -- "$cur" ) ) return ;; esac local -a comp_words=() # Add settings not seen to completions local setting for setting in "${!settings[@]}"; do if [ "${settings[$setting]}" = notseen ]; then comp_words+=( "$setting" ) fi done # Add settings not seen to completions if [ "$in_msglvl" ]; then local msgtype for msgtype in "${!msgtypes[@]}"; do if [ "${msgtypes[$msgtype]}" = notseen ]; then comp_words+=( "$msgtype" ) fi done fi COMPREPLY=( $( compgen -W "${comp_words[*]}" -- "$cur" ) ) } # Completion for ethtool --change-eeprom _ethtool_change_eeprom() { local -A settings=( [length]=1 [magic]=1 [offset]=1 [value]=1 ) if [ "${settings[$prev]+set}" ]; then # All settings take an unsigned integer argument return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --coalesce _ethtool_coalesce() { local -A settings=( [adaptive-rx]=1 [adaptive-tx]=1 [pkt-rate-high]=1 [pkt-rate-low]=1 [rx-frames]=1 [rx-frames-high]=1 [rx-frames-irq]=1 [rx-frames-low]=1 [rx-usecs]=1 [rx-usecs-high]=1 [rx-usecs-irq]=1 [rx-usecs-low]=1 [sample-interval]=1 [stats-block-usecs]=1 [tx-frames]=1 [tx-frames-high]=1 [tx-frames-irq]=1 [tx-frames-low]=1 [tx-usecs]=1 [tx-usecs-high]=1 [tx-usecs-irq]=1 [tx-usecs-low]=1 ) case "$prev" in adaptive-rx|\ adaptive-tx) COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return ;; esac if [ "${settings[$prev]+set}" ]; then # Unsigned integer return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --config-nfc <devname> flow-type _ethtool_config_nfc_flow_type() { if [ "$cword" -eq 4 ]; then _ethtool_flow_type --spec return fi case "$prev" in context) _ethtool_context return ;; dst|\ dst-mac|\ src) # TODO: Complete only local for dst and remote for src _mac_addresses return ;; dst-ip) # Note: RX classification, so dst is usually local case "${words[4]}" in *4) _ip_addresses -4 return ;; *6) _ip_addresses -6 return ;; esac return ;; src-ip) # Note: RX classification, so src is usually remote # TODO: Remote IP addresses (ARP cache + /etc/hosts + ?) return ;; m|\ *-mask) # MAC, IP, or integer bitmask return ;; esac local -A settings=( [action]=1 [context]=1 [loc]=1 [queue]=1 [vf]=1 ) if [ "${settings[$prev]+set}" ]; then # Integer return fi case "${words[4]}" in ah4|\ esp4) local -A fields=( [dst-ip]=1 [dst-mac]=1 [spi]=1 [src-ip]=1 [tos]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; ah6|\ esp6) local -A fields=( [dst-ip]=1 [dst-mac]=1 [spi]=1 [src-ip]=1 [tclass]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; ether) local -A fields=( [dst]=1 [proto]=1 [src]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; ip4) local -A fields=( [dst-ip]=1 [dst-mac]=1 [dst-port]=1 [l4data]=1 [l4proto]=1 [spi]=1 [src-ip]=1 [src-port]=1 [tos]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; ip6) local -A fields=( [dst-ip]=1 [dst-mac]=1 [dst-port]=1 [l4data]=1 [l4proto]=1 [spi]=1 [src-ip]=1 [src-port]=1 [tclass]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; sctp4|\ tcp4|\ udp4) local -A fields=( [dst-ip]=1 [dst-mac]=1 [dst-port]=1 [src-ip]=1 [src-port]=1 [tos]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; sctp6|\ tcp6|\ udp6) local -A fields=( [dst-ip]=1 [dst-mac]=1 [dst-port]=1 [src-ip]=1 [src-port]=1 [tclass]=1 [user-def]=1 [vlan-etype]=1 [vlan]=1 ) ;; *) return ;; esac if [ "${fields[$prev]+set}" ]; then # Integer return fi # If the previous 2 words were a field+value, suggest a mask local mask= if [ "${fields[${words[$cword-2]}]+set}" ]; then mask="m ${words[$cword-2]}-mask" fi # Remove fields and settings which have been seen local word for word in "${words[@]:5:${#words[@]}-6}"; do unset "fields[$word]" "settings[$word]" done # Remove mutually-exclusive options if ! [ "${settings[action]+set}" ]; then unset 'settings[queue]' 'settings[vf]' fi if ! [ "${settings[queue]+set}" ]; then unset 'settings[action]' fi if ! [ "${settings[vf]+set}" ]; then unset 'settings[action]' fi COMPREPLY=( $( compgen -W "$mask ${!fields[*]} ${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --config-nfc _ethtool_config_nfc() { if [ "$cword" -eq 3 ]; then COMPREPLY=( $( compgen -W 'delete flow-type rx-flow-hash' -- "$cur" ) ) return fi case "${words[3]}" in delete) # Unsigned integer return ;; flow-type) _ethtool_config_nfc_flow_type return ;; rx-flow-hash) case "$cword" in 4) _ethtool_flow_type --hash return ;; 5) _ethtool_compgen_letterset m v t s d f n r return ;; 6) COMPREPLY=( $( compgen -W context -- "$cur" ) ) return ;; 7) _ethtool_context return ;; esac return ;; esac } # Completion for ethtool --eeprom-dump _ethtool_eeprom_dump() { local -A settings=( [length]=1 [offset]=1 [raw]=1 ) if [ "$prev" = raw ]; then COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return fi if [ "${settings[$prev]+set}" ]; then # Unsigned integer argument return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --features _ethtool_features() { local -A abbreviations=( [generic-receive-offload]=gro [generic-segmentation-offload]=gso [large-receive-offload]=lro [ntuple-filters]=ntuple [receive-hashing]=rxhash [rx-checksumming]=rx [rx-vlan-offload]=rxvlan [scatter-gather]=sg [tcp-segmentation-offload]=tso [tx-checksumming]=tx [tx-vlan-offload]=txvlan [udp-fragmentation-offload]=ufo ) local -A features=() local feature status fixed # shellcheck disable=SC2034 while read -r feature status fixed; do if [ -z "$feature" ]; then # Ignore blank line from empty expansion in here-document continue fi if [ "$feature" = Features ]; then # Ignore heading continue fi if [ "$fixed" = '[fixed]' ]; then # Fixed features can't be changed continue fi feature=${feature%:} if [ "${abbreviations[$feature]+set}" ]; then features[${abbreviations[$feature]}]=1 else features[$feature]=1 fi done <<ETHTOOL_FEATURES $(PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin" \ ethtool --show-features "${words[2]}" 2>/dev/null) ETHTOOL_FEATURES if [ "${features[$prev]+set}" ]; then COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return fi # Remove features which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "features[$word]" done COMPREPLY=( $( compgen -W "${!features[*]}" -- "$cur" ) ) } # Complete the current word as a kernel firmware file (for request_firmware) # See https://www.kernel.org/doc/html/latest/driver-api/firmware/core.html _ethtool_firmware() { local -a firmware_paths=( /lib/firmware/updates/ /lib/firmware/ ) local release if release=$( uname -r 2>/dev/null ); then firmware_paths+=( "/lib/firmware/updates/$release/" "/lib/firmware/$release/" ) fi local fw_path_para if fw_path_para=$( cat /sys/module/firmware_class/parameters/path 2>/dev/null ) \ && [ -n "$fw_path_para" ]; then firmware_paths+=( "$fw_path_para" ) fi local -A firmware_files=() local firmware_path for firmware_path in "${firmware_paths[@]}"; do local firmware_file for firmware_file in "$firmware_path"*; do if [ -f "$firmware_file" ]; then firmware_files[${firmware_file##*/}]=1 fi done done local IFS=' ' COMPREPLY=( $( compgen -W "${!firmware_files[*]}" -- "$cur" ) ) } # Completion for ethtool --flash _ethtool_flash() { if [ "$cword" -eq 3 ]; then _ethtool_firmware return fi } # Completion for ethtool --get-dump _ethtool_get_dump() { case "$cword" in 3) COMPREPLY=( $( compgen -W data -- "$cur" ) ) return ;; 4) # Output filename local IFS=' ' COMPREPLY=( $( compgen -f -- "$cur" ) ) return ;; esac } # Completion for ethtool --get-phy-tunable _ethtool_get_phy_tunable() { if [ "$cword" -eq 3 ]; then COMPREPLY=( $( compgen -W downshift -- "$cur" ) ) return fi } # Completion for ethtool --module-info _ethtool_module_info() { local -A settings=( [hex]=1 [length]=1 [offset]=1 [raw]=1 ) case "$prev" in hex|\ raw) COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return ;; esac if [ "${settings[$prev]+set}" ]; then # Unsigned integer argument return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --pause _ethtool_pause() { local -A settings=( [autoneg]=1 [rx]=1 [tx]=1 ) if [ "${settings[$prev]+set}" ]; then COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --per-queue _ethtool_per_queue() { local -a subcommands=( --coalesce --show-coalesce ) if [ "$cword" -eq 3 ]; then COMPREPLY=( $( compgen -W "queue_mask ${subcommands[*]}" -- "$cur" ) ) return fi local sc_start=3 if [ "${words[3]}" = queue_mask ] ; then case "$cword" in 4) # Hex number return ;; 5) COMPREPLY=( $( compgen -W "${subcommands[*]}" -- "$cur" ) ) return ;; esac sc_start=5 fi case "${words[$sc_start]}" in --coalesce) # Remove --per-queue args to match normal --coalesce invocation local words=( "${words[0]}" --coalesce "${words[2]}" "${words[@]:$sc_start+1:${#words[@]}-$sc_start-1}" ) _ethtool_coalesce return ;; --show-coalesce) # No args return ;; esac } # Completion for ethtool --register-dump _ethtool_register_dump() { local -A settings=( [file]=1 [hex]=1 [raw]=1 ) case "$prev" in hex|\ raw) COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return ;; file) local IFS=' ' COMPREPLY=( $( compgen -f -- "$cur" ) ) return ;; esac # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --reset _ethtool_reset() { if [ "$prev" = flags ]; then # Unsigned integer return fi local -A flag_names=( [ap]=1 [dma]=1 [filter]=1 [irq]=1 [mac]=1 [mgmt]=1 [offload]=1 [phy]=1 [ram]=1 ) local -A all_flag_names=() local flag_name for flag_name in "${!flag_names[@]}"; do all_flag_names[$flag_name]=1 all_flag_names[$flag_name-shared]=1 done # Remove all_flag_names which have been seen local any_dedicated= local word for word in "${words[@]:3:${#words[@]}-4}"; do case "$word" in all) # Flags are always additive. # Nothing to add after "all". return ;; dedicated) any_dedicated=1 # "dedicated" sets all non-shared flags for flag_name in "${!flag_names[@]}"; do unset "all_flag_names[$flag_name]" done continue ;; esac if [ "${flag_names[$word]+set}" ]; then any_dedicated=1 fi unset "all_flag_names[$word]" done COMPREPLY=( $( compgen -W "${!all_flag_names[*]}" -- "$cur" ) ) # Although it is permitted to mix named and un-named flags or duplicate # flags with "all" or "dedicated", it's not likely intentional. # Reconsider if a real use-case (or good consistency argument) is found. if [ "$cword" -eq 3 ]; then COMPREPLY+=( all dedicated flags ) elif [ -z "$any_dedicated" ]; then COMPREPLY+=( dedicated ) fi } # Completion for ethtool --rxfh _ethtool_rxfh() { local -A settings=( [context]=1 [default]=1 [delete]=1 [equal]=1 [hfunc]=1 [hkey]=1 [weight]=1 ) case "$prev" in context) _ethtool_context # "new" to create a new context COMPREPLY+=( new ) return ;; equal) # Positive integer return ;; hfunc) # Complete available RSS hash functions COMPREPLY=( $(_ethtool_get_names_in_section 'RSS hash function' \ --show-rxfh "${words[2]}") ) return ;; hkey) # Pairs of hex digits separated by : return ;; weight) # Non-negative integer return ;; esac local word for word in "${words[@]:3:${#words[@]}-4}"; do # Remove settings which have been seen unset "settings[$word]" # Remove settings which are mutually-exclusive with seen settings case "$word" in context) unset 'settings[default]' ;; default) unset \ 'settings[context]' \ 'settings[delete]' \ 'settings[equal]' \ 'settings[weight]' ;; delete) unset \ 'settings[default]' \ 'settings[equal]' \ 'settings[hkey]' \ 'settings[weight]' ;; equal) unset \ 'settings[default]' \ 'settings[delete]' \ 'settings[weight]' ;; hkey) unset 'settings[delete]' ;; weight) unset \ 'settings[default]' \ 'settings[delete]' \ 'settings[equal]' ;; esac done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --set-channels _ethtool_set_channels() { local -A settings=( [combined]=1 [other]=1 [rx]=1 [tx]=1 ) if [ "${settings[$prev]+set}" ]; then # Unsigned integer argument return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --set-eee _ethtool_set_eee() { local -A settings=( [advertise]=1 [eee]=1 [tx-lpi]=1 [tx-timer]=1 ) case "$prev" in advertise|\ tx-timer) # Unsigned integer return ;; eee|\ tx-lpi) COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return ;; esac # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --set-fec _ethtool_set_fec() { if [ "$cword" -eq 3 ]; then COMPREPLY=( $( compgen -W encoding -- "$cur" ) ) return fi local -A modes=( [auto]=auto [rs]=RS [off]=off [baser]=BaseR ) # Remove modes which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do # ethtool recognizes modes case-insensitively unset "modes[${word,,}]" done _ethtool_compgen_nocase "${modes[@]}" } # Completion for ethtool --set-phy-tunable _ethtool_set_phy_tunable() { case "$cword" in 3) COMPREPLY=( $( compgen -W downshift -- "$cur" ) ) return ;; 4) COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return ;; 5) COMPREPLY=( $( compgen -W count -- "$cur" ) ) return ;; esac } # Completion for ethtool --set-priv-flags _ethtool_set_priv_flags() { if [ $(( cword % 2 )) -eq 0 ]; then COMPREPLY=( $( compgen -W 'on off' -- "$cur" ) ) return fi # Get available private flags local -A flags=() local flag while IFS= read -r flag; do # Ignore blank line from empty here-document if [ -n "$flag" ]; then flags[$flag]=1 fi done <<ETHTOOL_PRIV_FLAGS $(_ethtool_get_names_in_section \ 'Private flags for [[:graph:]]*' --show-priv-flags "${words[2]}") ETHTOOL_PRIV_FLAGS # Remove flags which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "flags[$word]" done COMPREPLY=( $( compgen -W "${!flags[*]}" -- "$cur" ) ) } # Completion for ethtool --set-ring _ethtool_set_ring() { local -A settings=( [rx-jumbo]=1 [rx-mini]=1 [rx]=1 [tx]=1 ) if [ "${settings[$prev]+set}" ]; then # Unsigned integer argument return fi # Remove settings which have been seen local word for word in "${words[@]:3:${#words[@]}-4}"; do unset "settings[$word]" done COMPREPLY=( $( compgen -W "${!settings[*]}" -- "$cur" ) ) } # Completion for ethtool --show-nfc _ethtool_show_nfc() { if [ "$cword" -eq 3 ]; then COMPREPLY=( $( compgen -W 'rule rx-flow-hash' -- "$cur" ) ) return fi case "${words[3]}" in rule) if [ "$cword" -eq 4 ]; then COMPREPLY=( $(PATH="$PATH:/sbin:/usr/sbin:/usr/local/sbin" \ ethtool --show-nfc "${words[2]}" 2>/dev/null | command sed -n 's/^Filter:[[:space:]]*\([0-9]*\)$/\1/p') ) fi return ;; rx-flow-hash) case "$cword" in 4) _ethtool_flow_type --hash return ;; 5) COMPREPLY=( $( compgen -W context -- "$cur" ) ) return ;; 6) _ethtool_context return ;; esac ;; esac } # Completion for ethtool --show-rxfh _ethtool_show_rxfh() { case "$cword" in 3) COMPREPLY=( $( compgen -W context -- "$cur" ) ) return ;; 4) _ethtool_context return ;; esac } # Completion for ethtool --test _ethtool_test() { if [ "$cword" -eq 3 ]; then COMPREPLY=( $( compgen -W 'external_lb offline online' -- "$cur" ) ) return fi } # Complete any ethtool command _ethtool() { local cur prev words cword _init_completion || return # Per "Contributing to bash-completion", complete non-duplicate long opts local -A suggested_funcs=( [--change-eeprom]=change_eeprom [--change]=change [--coalesce]=coalesce [--config-nfc]=config_nfc [--driver]=devname [--dump-module-eeprom]=module_info [--eeprom-dump]=eeprom_dump [--features]=features [--flash]=flash [--get-dump]=get_dump [--get-phy-tunable]=get_phy_tunable [--identify]=devname [--module-info]=module_info [--negotiate]=devname [--offload]=features [--pause]=pause [--per-queue]=per_queue [--phy-statistics]=devname [--register-dump]=register_dump [--reset]=reset [--set-channels]=set_channels [--set-dump]=devname [--set-eee]=set_eee [--set-fec]=set_fec [--set-phy-tunable]=set_phy_tunable [--set-priv-flags]=set_priv_flags [--set-ring]=set_ring [--set-rxfh-indir]=rxfh [--show-channels]=devname [--show-coalesce]=devname [--show-eee]=devname [--show-features]=devname [--show-fec]=devname [--show-nfc]=show_nfc [--show-offload]=devname [--show-pause]=devname [--show-permaddr]=devname [--show-priv-flags]=devname [--show-ring]=devname [--show-rxfh]=show_rxfh [--show-time-stamping]=devname [--statistics]=devname [--test]=test ) local -A other_funcs=( [--config-ntuple]=config_nfc [--rxfh]=rxfh [--show-ntuple]=show_nfc [--show-rxfh-indir]=devname [-A]=pause [-C]=coalesce [-E]=change_eeprom [-G]=set_ring [-K]=features [-L]=set_channels [-N]=config_nfc [-P]=devname [-Q]=per_queue [-S]=devname [-T]=devname [-U]=config_nfc [-W]=devname [-X]=rxfh [-a]=devname [-c]=devname [-d]=register_dump [-e]=eeprom_dump [-f]=flash [-g]=devname [-i]=devname [-k]=devname [-l]=devname [-m]=module_info [-n]=show_nfc [-p]=devname [-r]=devname [-s]=change [-t]=test [-u]=show_nfc [-w]=get_dump [-x]=devname ) if [ "$cword" -le 1 ]; then _available_interfaces COMPREPLY+=( $( compgen -W "--help --version ${!suggested_funcs[*]}" -- "$cur" ) ) return fi local func=${suggested_funcs[${words[1]}]-${other_funcs[${words[1]}]-}} if [ "$func" ]; then # All sub-commands have devname as their first argument if [ "$cword" -eq 2 ]; then _available_interfaces return fi if [ "$func" != devname ]; then "_ethtool_$func" fi fi } && complete -F _ethtool ethtool # ex: filetype=sh sts=8 sw=8 ts=8 noet
Close