summaryrefslogtreecommitdiffstats
path: root/Completion/Linux
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2026-06-19 01:37:33 +0200
committerOliver Kiddle <opk@zsh.org>2026-06-19 01:37:33 +0200
commita4e9eb4117613307405a71678af24e044c265189 (patch)
treeca1d71317d3319b8753831df61c1941aecd2040a /Completion/Linux
parent54801: fix two more warnings from 54710 (diff)
downloadzsh-a4e9eb4117613307405a71678af24e044c265189.tar
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.gz
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.bz2
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.lz
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.xz
zsh-a4e9eb4117613307405a71678af24e044c265189.tar.zst
zsh-a4e9eb4117613307405a71678af24e044c265189.zip
54800, 54807: completion options update
Diffstat (limited to 'Completion/Linux')
-rw-r--r--Completion/Linux/Command/_blkid4
-rw-r--r--Completion/Linux/Command/_chrt13
-rw-r--r--Completion/Linux/Command/_cryptsetup10
-rw-r--r--Completion/Linux/Command/_ethtool68
-rw-r--r--Completion/Linux/Command/_findmnt4
-rw-r--r--Completion/Linux/Command/_gpasswd2
-rw-r--r--Completion/Linux/Command/_htop4
-rw-r--r--Completion/Linux/Command/_losetup5
-rw-r--r--Completion/Linux/Command/_lsblk4
-rw-r--r--Completion/Linux/Command/_modutils30
-rw-r--r--Completion/Linux/Command/_ss12
-rw-r--r--Completion/Linux/Command/_strace3
-rw-r--r--Completion/Linux/Command/_tracepath3
13 files changed, 118 insertions, 44 deletions
diff --git a/Completion/Linux/Command/_blkid b/Completion/Linux/Command/_blkid
index e31250d37..29392c4e5 100644
--- a/Completion/Linux/Command/_blkid
+++ b/Completion/Linux/Command/_blkid
@@ -19,10 +19,10 @@ _arguments \
'(-l --list-one)'{-l,--list-one}'[look up only first device with token specified by -t]' \
'(-n --match-types)'{-n+,--match-types=}'[filter by filesystem type]: :_sequence _file_systems' \
'(-O --offset)'{-O+,--offset=}'[probe at the given offset]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" offset {K,M,G,T,P,E,Z,Y}{,B,iB}' \
- '(-o --output)'{-o+,--output=}'[specify output format]:format [full]:(full value list device udev export)' \
+ '(-o --output)'{-o+,--output=}'[specify output format]:format [full]:(full value list device udev export json)' \
'(-p --probe)'{-p,--probe}'[probe low-level superblocks]' \
\*{-s+,--match-tag=}'[show specified tag(s)]:tag:(none LABEL UUID UUID_SUB TYPE PARTLABEL PARTUUID SEC_TYPE PTUUID PTTYPE ALIGNMENT_OFFSET MINIMUM_IO_SIZE OPTIMAL_IO_SIZE PHYSICAL_SECTOR_SIZE LOGICAL_SECTOR_SIZE)' \
- '(-S --size)'{-S+,--size=}'[overwrite device size]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" size {K,M,G,T,P,E,Z,Y}{,B,iB}' \
+ '(-S --size)'{-S+,--size=}'[override device size]: :_numbers -M "m\:{a-zA-Z}={A-Za-z}" size {K,M,G,T,P,E,Z,Y}{,B,iB}' \
'(-t --match-token)'{-t+,--match-token=}'[find device with a specific token]:token' \
'(-u --usages)'{-u+,--usages=}'[filter by usage]:usage:_sequence compadd - {no,}{filesystem,raid,crypto,other}' \
'*:device:_files -g "*(-%)"'
diff --git a/Completion/Linux/Command/_chrt b/Completion/Linux/Command/_chrt
index 5431b0799..3e550bf60 100644
--- a/Completion/Linux/Command/_chrt
+++ b/Completion/Linux/Command/_chrt
@@ -8,21 +8,22 @@ _arguments -C -s -S -A "-*" \
'(H -a --all-tasks)'{-a,--all-tasks}'[operate on all tasks (threads) for a given pid]' \
'(H)'{-v,--verbose}'[display status information]' \
'(H)'{-p,--pid}'[interpret args as process ID]' \
- '(H -R --reset-on-fork -b --batch -d --deadline -i --idle -o --other)'{-R,--reset-on-fork}'[set SCHED_RESET_ON_FORK for FIFO or RR]' \
+ '(H -R --reset-on-fork -b --batch -d --deadline -e --ext -i --idle -o --other)'{-R,--reset-on-fork}'[set SCHED_RESET_ON_FORK for FIFO or RR]' \
+ '(H -T --sched-runtime -f --fifo -e --ext -i --idle -r --rr)'{-T,--sched-runtime}'[runtime parameter for DEADLINE]' \
'(H)*::command or priority:->cmd_or_prio' \
+ 'H' \
'(* -)'{-m,--max}'[show minimum and maximum valid priorities, then exit]' \
'(* -)'{-h,--help}'[display usage information]' \
'(* -)'{-V,--version}'[output version information]' \
+ 'dline' \
- '(H -T --sched-runtime -b --batch -f --fifo -i --idle -o --other -r --rr)'{-T,--sched-runtime}'[runtime parameter for DEADLINE]' \
- '(H -P --sched-period -b --batch -f --fifo -i --idle -o --other -r --rr)'{-P,--sched-period}'[period parameter for DEADLINE]' \
- '(H -D --sched-deadline -b --batch -f --fifo -i --idle -o --other -r --rr)'{-D,--sched-deadline}'[deadline parameter for DEADLINE]' \
+ '(H -P --sched-period -b --batch -f --fifo -e --ext -i --idle -o --other -r --rr)'{-P,--sched-period}'[period parameter for DEADLINE]' \
+ '(H -D --sched-deadline -b --batch -f --fifo -e --ext -i --idle -o --other -r --rr)'{-D,--sched-deadline}'[deadline parameter for DEADLINE]' \
+ '(policy)' \
'(H dline -R --reset-on-fork)'{-b,--batch}'[set scheduling policy to SCHED_BATCH]' \
'(H -R --reset-on-fork)'{-d,--deadline}'[set scheduling policy to SCHED_DEADLINE]' \
- '(H dline)'{-f,--fifo}'[set scheduling policy to SCHED_FIFO]' \
- '(H dline -R --reset-on-fork)'{-i,--idle}'[set scheduling policy to SCHED_IDLE]' \
+ '(H dline -T --sched-runtime)'{-e,--ext}'[set scheduling policy to SCHED_EXT (BPF program-defined scheduling)]' \
+ '(H dline -T --sched-runtime)'{-f,--fifo}'[set scheduling policy to SCHED_FIFO]' \
+ '(H dline -R --reset-on-fork -T --sched-runtime)'{-i,--idle}'[set scheduling policy to SCHED_IDLE]' \
'(H dline -R --reset-on-fork)'{-o,--other}'[set scheduling policy to SCHED_OTHER]' \
'(H dline)'{-r,--rr}'[set scheduling policy to SCHED_RR (default)]' && ret=0
diff --git a/Completion/Linux/Command/_cryptsetup b/Completion/Linux/Command/_cryptsetup
index 897eb94f9..2654ca844 100644
--- a/Completion/Linux/Command/_cryptsetup
+++ b/Completion/Linux/Command/_cryptsetup
@@ -45,6 +45,7 @@ _arguments -s \
'--dump-volume-key[dump volume key instead of keyslots info]' \
'--external-tokens-path=[specify path to directory with external token handlers (plugins)]:path:_directories' \
'--force-offline-reencrypt[force offline LUKS2 reencryption and bypass active device detection]' \
+ '--force-no-keyslots[force dangerous reencryption operation erasing all remaining keyslots]' \
'--header=[device or file with separated LUKS header]:file:_files' \
'--hw-opal[use HW OPAL encryption together with SW encryption]' \
'--hw-opal-factory-reset[wipe WHOLE OPAL disk on luksErase]' \
@@ -52,8 +53,12 @@ _arguments -s \
'--keep-key[do not change volume key]' \
'--link-vk-to-keyring=[set keyring where to link volume key]:string' \
'--new-keyfile=[read the key for a new slot from a file]:file:_files' \
+ '--new-key-description=[specify keyring new key description]:description' \
+ '--new-key-size=[specify size of the new encryption key]:size (bits)' \
'--new-key-slot=[specify slot number for new key]:slot [first free]' \
'--new-token-id=[token number]:number [any]' \
+ '--new-volume-key-file=[use new volume key from file]: :_files' \
+ '--new-volume-key-keyring=[use specified keyring key as new volume key]:key' \
'--progress-json[print progress data in json format]' \
"--test-args[don't run action, just validate all command line parameters]" \
'--volume-key-file=[use the volume key from file]:file:_files' \
@@ -76,6 +81,7 @@ _arguments -s \
'--force-password[disable password quality check (if enabled)]' \
'--perf-same_cpu_crypt[use dm-crypt same_cpu_crypt performance compatibility option]' \
'--perf-submit_from_crypt_cpus[use dm-crypt submit_from_crypt_cpus performance compatibility option]' \
+ '--perf-high_priority[set dm-crypt workqueues and writer thread to high priority]' \
'--perf-no_read_workqueue[bypass dm-crypt workqueue and process read requests synchronously]' \
'--perf-no_write_workqueue[bypass dm-crypt workqueue and process write requests synchronously]' \
'--deferred[device removal is deferred until the last user closes it]' \
@@ -88,12 +94,14 @@ _arguments -s \
'--disable-locks[disable locking of on-disk metadata]' \
'--disable-keyring[disable loading volume keys via kernel keyring]' \
'(-I --integrity)'{-I+,--integrity=}'[specify data integrity algorithm (LUKS2 only)]:algorithm' \
+ '--integrity-inline[use inline mode (use HW integrity field)]' \
+ '--integrity-key-size=[specify size of the data integrity key]:size (bits)' \
'--integrity-no-journal[disable journal for integrity device]' \
"--integrity-no-wipe[don't wipe device after format]" \
'--integrity-legacy-padding[use inefficient legacy padding (old kernels)]' \
"--token-only[don't ask for passphrase if activation by token fails]" \
'--token-id=[specify token number]:number [any]' \
- '--key-description=[specify key description]:description' \
+ '--key-description=[specify keyring key description]:description' \
'--sector-size=[specify encryption sector size]:size [512 bytes]' \
'--iv-large-sectors[use IV counted in sector size (not in 512 bytes)]' \
'--persistent[set activation flags persistent for device]' \
diff --git a/Completion/Linux/Command/_ethtool b/Completion/Linux/Command/_ethtool
index 8cff24e96..f1f67a357 100644
--- a/Completion/Linux/Command/_ethtool
+++ b/Completion/Linux/Command/_ethtool
@@ -6,14 +6,24 @@ local -A opt_args
_arguments -C -A "-*" \
'--debug[turn on debugging messages]:mask:((1\:parser\ information))' \
- '--json[output results in JSON]' \
+ '(-j --json)'{-j,--json}'[output results in JSON]' \
'(-I --include-statistics)'{-I,--include-statistics}'[include command-related statistics in the output]' \
- '(cmds)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \
+ '(cmds cmdp)'{-Q,--per-queue}'[apply per-queue command]: :(queue_mask):queue mask' \
+ '(cmds cmdc)--phy=[target a PHY within the interface]:phy' \
"1:interface:_net_interfaces" \
'*:: :->args' \
+ '(cmdc)' \
- '(cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \
- '(cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \
+ '(cmdp cmds)'{-c,--show-coalesce}'[query the specified ethernet device for coalescing information]' \
+ '(cmdp cmds)'{-C,--coalesce}'[change the coalescing settings of the specified ethernet device]' \
+ + '(cmdp)' \
+ '(cmds cmdc)--cable-test[perform cable test and report the results]' \
+ '(cmds cmdc)--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \
+ '(cmds cmdc)--get-plca-cfg[get PLCA configuration]' \
+ '(cmds cmdc)--set-plca-cfg[set PLCA configuration]' \
+ '(cmds cmdc)--get-plca-status[get PLCA status information]' \
+ '(cmds cmdc)--show-pse[show settings for power sourcing equipment]' \
+ '(cmds cmdc)--set-pse[set power sourcing equipment settings]' \
+ '(cmds cmdc)--show-mse[show Mean Square Error (MSE) diagnostics]' \
+ '(cmds)' \
'(1)'{-h,--help}'[display help information]' \
'(1)--version[display version information]' \
@@ -36,6 +46,8 @@ _arguments -C -A "-*" \
{-n,--show-nfc,-u,--show-ntuple}'[retrieve receive network flow classification options or rules]' \
{-N,--config-nfc,-U,--config-ntuple}'[configure receive network flow classification options or rules]' \
{-T,--show-time-stamping}"[show device's time stamping capabilities]" \
+ '--get-hwtimestamp-cfg[get selected hardware time stamping]' \
+ '--set-hwtimestamp-cfg[select hardware time stamping]' \
{-x,--show-rxfh-indir,--show-rxfh}'[show Rx flow hash indirection table and/or RSS hash key]' \
{-X,--set-rxfh-indir,--rxfh}'[set Rx flow hash indirection table and/or RSS hash key]' \
{-f,--flash}'[flash firmware image from the specified file]' \
@@ -56,24 +68,20 @@ _arguments -C -A "-*" \
'--reset[reset hardware components]' \
'--show-fec[query device for forward error correction support]' \
'--set-fec[configure forward error correction for device]' \
- '--cable-test[perform cable test and report the results]' \
- '--cable-test-tdr[perform cable test and report Time Domain Reflectometer data]' \
'--show-tunnels[show tunnel-related device capabilities and state]' \
'--show-module[show transceiver module settings]' \
'--set-module[set transceiver module settings]' \
- '--get-plca-cfg[get PLCA configuration]' \
- '--set-plca-cfg[set PLCA configuration]' \
- '--get-plca-status[get PLCA status information]' \
'--show-mm[show MAC merge layer state]' \
'--set-mm[set MAC merge layer parameters]' \
- '--show-pse[show settings for power sourcing equipment]' \
- '--set-pse[set power sourcing equipment settings]' \
+ '--flash-module-firmware[flash transceiver module firmware]' \
+ '--show-phys[list PHYs]' \
'--monitor[listen to netlink notifications and displays them]::command:(
--all -s --change -k --show-features --show-offload -K
--features --offload --show-priv-flags --set-priv-flags -g --show-ring
-G --set-ring -l --show-channels -L --set-channels -c --show-coalesce
-C --coalesce -a --show-pause -A --pause --show-eee --set-eee
--cable-test --cable-test-tdr --show-module --set-module
+ --get-plca-cfg --set-plca-cfg --pse-event
)' && return
if [[ -n $state ]]; then
@@ -97,17 +105,18 @@ if [[ -n $state ]]; then
rx-frames-low|tx-usecs-low|tx-frames-low|pkt-rate-high|rx-usecs-high) ;&
rx-frames-high|tx-usecs-high|tx-frames-high|sample-interval|dmac) ;&
tx-aggr-max-bytes|tx-aggr-max-frame|tx-aggr-time-usec) ;&
- rx-mini|rx-jumbo|rx-buf-len|cqe-size|tx-push-buf-len) ;&
+ rx-mini|rx-jumbo|rx-buf-len|cqe-size|tx-push-buf-len|hds-thresh) ;&
offset|length|magic|value|phyad|proto|tos|tclass|l4proto|src-port) ;&
dst-port|spi|l4data|vlan-etype|vlan|user-def|action|vf|queue|loc) ;&
+ index) ;&
page|bank|i2c|first|last|step|pair|lanes) ;&
rx-copybreak|tx-copybreak|tx-buf-size|pfc-prevention-tout) ;&
other|combined|tx-timer|count|msecs) ;&
node-id|node-cnt|to-tmr|burst-cnt|burst-tmr) ;&
- tx-min-frag-size)
+ tx-min-frag-size|c33-pse-avail-pw-limit|prio)
_message -e numbers 'number'
;;
- podl-pse-admin-control)
+ (podl-pse|c33-pse)-admin-control)
_wanted values expl 'value' compadd enable disable
;;
speed)
@@ -168,6 +177,12 @@ if [[ -n $state ]]; then
src|src-ip|dst|dst-ip|dst-mac)
_message -e addresses address
;;
+ qualifier)
+ _wanted qualifiers expl qualifier compadd precise approx
+ ;;
+ rx-filter)
+ _message -e values value
+ ;;
m)
_message -e masks mask
;;
@@ -178,7 +193,7 @@ if [[ -n $state ]]; then
_message -e functions 'hash function'
;;
xfrm)
- _wanted transformations expl transformation compadd symmetric-xor none
+ _wanted transformations expl transformation compadd symmetric-xor symmetric-or-xor none
;;
flags)
_message -e masks mask
@@ -192,6 +207,9 @@ if [[ -n $state ]]; then
tcp-data-split)
_wanted states expl state compadd auto on off
;;
+ pass)
+ _message -e passwords password
+ ;;
*)
case ${${(Mk)opt_args:#cmd?*}[1]#cmd?-} in
-a|--show-pause)
@@ -215,7 +233,8 @@ if [[ -n $state ]]; then
'rx-mini[change number of ring entries for the RX Mini ring]' \
'rx-jumbo[change number of ring entries for the RX Jumbo ring]' \
'tx[change number of ring entries for the TX ring]' \
- rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len
+ rx-buf-len tcp-data-split cqe-size tx-push rx-push tx-push-buf-len \
+ hds-thresh
;;
-d|--register-dump)
_values -S ' ' -w 'option' \
@@ -303,6 +322,12 @@ if [[ -n $state ]]; then
queue context loc
fi
;;
+ -T|--show-time-stamping)
+ _wanted options expl option compadd index qualifier
+ ;;
+ --set-hwtimestamp-cfg)
+ _wanted options expl option compadd index qualifier tx rx-filter
+ ;;
-x|--show-rxfh-indir|--show-rxfh)
_wanted options expl option compadd -F line - context
;;
@@ -381,6 +406,17 @@ if [[ -n $state ]]; then
_wanted options expl tunable compadd enable node-id node-cnt \
to-tmr burst-cnt burst-tmr
;;
+ --set-mm)
+ _wanted options expl option compadd verify-enabled verify-time \
+ tx-enabled pmac-enabled tx-min-frag-size
+ ;;
+ --set-pse)
+ _wanted options expl option compadd {podl-pse,c33-pse}-admin-control \
+ c33-pse-avail-pw-limit prio
+ ;;
+ --flash-module-firmware)
+ _wanted options expl option compadd file pass
+ ;;
esac
;;
esac
diff --git a/Completion/Linux/Command/_findmnt b/Completion/Linux/Command/_findmnt
index 6155d4dc1..b9cb04dc7 100644
--- a/Completion/Linux/Command/_findmnt
+++ b/Completion/Linux/Command/_findmnt
@@ -19,6 +19,7 @@ _arguments -s -C \
'(H -e --evaluate)'{-e,--evaluate}'[convert LABEL/UUID/PARTLABEL/PARTUUID to the device name]' \
'(H -F --tab-file)*'{-F+,--tab-file=}'[search in the specified tab file]:tab file:_files' \
'(H -f --first-only)'{-f,--first-only}'[print the first matching filesystem only]' \
+ '(H)--hyperlink=-[print paths as hyperlinks]::when:(always never auto)' \
'(H -i --invert)'{-i,--invert}'[invert the sense of matching]' \
'(H -M --mountpoint :)'{-M+,--mountpoint=}'[specify the mountpoint]: :->targets' \
'(H -n --noheadings)'{-n,--noheadings}'[do not print a header line]' \
@@ -52,7 +53,8 @@ _arguments -s -C \
'(H)'{-P,--pairs}'[use key="value" output format]' \
'(H)'{-r,--raw}'[use raw output format]' \
+ '(S)' \
- '(H)'{-k,--kernel}'[search in /proc/self/mountinfo (default)]' \
+ '(H)-k[search in /proc/self/mountinfo (default)]' \
+ '(H)--kernel=-[search in /proc/self/mountinfo (default)]::method:(mountinfo listmount)' \
'(H)'{-m,--mtab}'[search in /etc/mtab]' \
'(H)'{-N+,--task=}'[search /proc/<pid>/mountinfo]: :_pids' \
'(H)'{-s,--fstab}'[search in /etc/fstab]' \
diff --git a/Completion/Linux/Command/_gpasswd b/Completion/Linux/Command/_gpasswd
index d5d16ebba..24fe361b0 100644
--- a/Completion/Linux/Command/_gpasswd
+++ b/Completion/Linux/Command/_gpasswd
@@ -5,7 +5,7 @@ _arguments -s \
'(-d --delete -a --add)'{-d,--delete}'[remove user from group]: : _users' \
'(-)'{-h,--help}'[display help]' \
'(-Q --root)'{-Q,--root}'[specify directory to chroot into]: : _files -/' \
- '(-r --delete-password)'{-r,--delete-password}'[remove the group password]' \
+ '(-r --remove-password)'{-r,--remove-password}'[remove the group password]' \
'(-R --restrict)'{-R,--restrict}'[restrict access to GROUP to its members]' \
'(-M --members -A --administrators)'{-M,--members}'[set the list of members of GROUP]: :_sequence _users' \
'(-A --administrators -M --members)'{-A,--administrators}'[set the list of admins for GROUP]: :_sequence _users' \
diff --git a/Completion/Linux/Command/_htop b/Completion/Linux/Command/_htop
index e8d2fffb1..73a6ea9fa 100644
--- a/Completion/Linux/Command/_htop
+++ b/Completion/Linux/Command/_htop
@@ -19,6 +19,8 @@ args=(
'(-)'{-h,--help}'[display usage information]'
'(-H --highlight-changes)'{-H+,--highlight-changes=}'[highlight new and old processes (optionally specify delay)]::delay (seconds) (1-86400) [5]'
'(-M --no-mouse)'{-M,--no-mouse}'[disable mouse]'
+ '--no-meters[hide meters]'
+ '(-n --max-iterations)'{-n+,--max-iterations=}'[exit after given number of frame updates]:number'
\*{-p+,--pid=}'[show only specified PIDs]: : _sequence _pids'
'--readonly[disable all system and process changing features]'
'(-s --sort-key)'{-s+,--sort-key=}'[sort by specified column]: :->sort-keys'
@@ -48,7 +50,7 @@ case $state in
tmp=( ${tmp//:/\\:} )
tmp=( ${tmp/[[:space:]]##/:} )
tmp=( ${tmp/(#m):[A-Z]/${(L)MATCH}} )
- _describe -t sort-keys 'column (key)' tmp && ret=0
+ _describe -t sort-keys 'column' tmp -M 'b:=M_ b:=IO_' && ret=0
;;
esac
diff --git a/Completion/Linux/Command/_losetup b/Completion/Linux/Command/_losetup
index affbc58f3..aab9adbcd 100644
--- a/Completion/Linux/Command/_losetup
+++ b/Completion/Linux/Command/_losetup
@@ -8,7 +8,7 @@ fi
local device offset
-device='1:device:_files -g "/dev/loop<->"'
+device=':device:_files -g "/dev/loop<->"'
offset=( {-o,--offset}'+[specify data start is offset]:offset (bytes)' )
_arguments -s -S \
@@ -28,7 +28,8 @@ _arguments -s -S \
{-c,--set-capacity}'[reread the size of the file associated with the loop device]' \
- 'detach' \
'(-)'{--detach,-d}'[detach from specified loop device]' \
- "$device" \
+ '(-)--remove[remove one or more devices]:device' \
+ "*$device" \
- '(detach-all)' \
{-D,--detach-all}'[detach all associated loop devices]' \
- 'create' \
diff --git a/Completion/Linux/Command/_lsblk b/Completion/Linux/Command/_lsblk
index c8b30eb5e..c2c67c9a6 100644
--- a/Completion/Linux/Command/_lsblk
+++ b/Completion/Linux/Command/_lsblk
@@ -13,16 +13,18 @@ _arguments -C -s -S \
'(H)*--ct-filter=[restrict the next counter]:expression' \
'(H)*--ct=[define a custom counter]:name\:param\:func' \
'(H -a --all)'{-a,--all}'[print all devices]' \
- '(H -b --bytes)'{-b,--bytes}'[print size in bytes rather than in human readable format]' \
+ '(H -b --bytes)'{-b,--bytes}'[print size in bytes instead of a human readable format]' \
'(H -d --nodeps)'{-d,--nodeps}"[don't print slaves or holders]" \
'(H -I --include)*'{-e,--exclude}'[exclude devices by major number]:major device number:->majorlist' \
'(H -e --exclude)*'{-I+,--include=}'[show only devices with specified major numbers]:major device number:->majorlist' \
+ '(H)--hyperlink=-[print paths as hyperlinks]::when:(always never auto)' \
'(H -n --noheadings -y --shell)'{-n,--noheadings}"[don't print headings]" \
'(H -p --paths)'{-p,--paths}'[print complete device path]' \
'(H -s --inverse)'{-s,--inverse}'[reverse dependency order]' \
'(H -w --width)'{-w+,--width=}'[specify output width]:width' \
'(H -x --sort)'{-x+,--sort=}'[sort output by specified column]:column:->columns' \
'(H -y --shell -n --noheadings)'{-y,--shell}'[use column names usable as shell variable identifiers]' \
+ '--properties-by=[specify methods used to gather data]:method [file,udev,blkid]:_sequence compadd - udev blkid file none' \
'(H)--sysroot=[use specified directory as system root]:directory:_directories' \
'*:device:_files -g "*(-%b)" -P / -W /' \
+ fields \
diff --git a/Completion/Linux/Command/_modutils b/Completion/Linux/Command/_modutils
index f19784dff..4e87c4767 100644
--- a/Completion/Linux/Command/_modutils
+++ b/Completion/Linux/Command/_modutils
@@ -38,11 +38,15 @@ _modutils() {
)
case "$service" in
- lsmod) _arguments -s "$args[@]" && return ;;
+ lsmod)
+ _arguments -s "$args[@]" \
+ '(-s --syslog)'{-s,--syslog}'[report via syslog instead of stderr]' \
+ '(-v --verbose)'{-v,--verbose}'[enable more messages]' && return
+ ;;
modinfo)
_arguments -s -C "$args[@]" \
- '(-)'{-k+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \
+ '(-)'{-k+,--set-version=}'[use modules from a different kernel version]:kernel_version:compadd $modules_dir/*(/\:t)' \
{-b+,--basedir=}'[use specified directory as filesystem root]:path:_directories' \
'1:module file:->all-modules' \
+ '(field)' \
@@ -59,13 +63,14 @@ _modutils() {
ign='-h --help -V --version -c --showconfig --show-config'
_arguments -s -C "$args[@]" \
"(-a --all $ign)"{-a,--all}'[load all matching modules]' \
- "(-n --show $ign)"{-n,--show}"[don't actually perform action]" \
"(-q --quiet $ign)"{-q,--quiet}"[don't complain about insmod failures]" \
"(-s --syslog $ign)"{-s,--syslog}'[report via syslog instead of stderr]' \
"(-v --verbose $ign)"{-v,--verbose}'[print all commands as executed]' \
'(-C --config)'{-C+,--config=}'[specify config file]:config file:_files' \
"(-r --remove -a --all $ign)"{-r,--remove}'[remove module (stacks)]' \
- '--remove-dependencies[also remove modules depending on it]' \
+ '!--remove-dependencies' \
+ '--remove-holders[also remove module holders]' \
+ '(-w --wait)'{-w+,--wait=}"[wait for module's refcount to become 0 so it can be removed (with -r)]:delay (msecs)" \
'(* -R --resolve-alias)'{-R,--resolve-alias}'[only lookup and print alias and exit]' \
'--first-time[fail if module already inserted or removed]' \
"(-a --all $ign)"{'-i[ignore install/remove commands in config file]','--ignore-install[ignore install commands in config file]','--ignore-remove[ignore remove commands in config file]'} \
@@ -76,8 +81,8 @@ _modutils() {
'(-D --show-depends)'{-D,--show-depends}'[only print module dependencies and exit]' \
'(-)'{-c,--showconfig,--show-config}'[show current configuration]' \
--{show,dump}'-modversions[dump module symbol version and exit]' \
- {-d+,--dirname=}'[use specified directory as filesystem root]:path:_directories' \
- {-S+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \
+ '(-d --dirname)'{-d+,--dirname=}'[use specified directory as filesystem root]:path:_directories' \
+ '(-S --set-version)'{-S+,--set-version=}'[use modules from a different kernel version]:kernel_version:($(echo $modules_dir/*(/\:t)))' \
'--show-exports[only print module exported symbol versions and exit]' \
'(-n --dry-run --show)'{-n,--dry-run,--show}"[don't execute operations, just print]" \
"(-c $ign)1:modules:->loadable-modules" \
@@ -87,17 +92,20 @@ _modutils() {
;;
rmmod)
- _arguments -s -C "$args[@]" \
+ _arguments -s "$args[@]" \
'(-f --force)'{-f,--force}'[allow modules that are in use to be removed]' \
'(-s --syslog)'{-s,--syslog}'[send errors to syslog]' \
'(-v --verbose)'{-v,--verbose}'[be verbose]' \
- '*:loaded module:->loaded-modules' && ret=0
+ '*:loaded module:->loaded-modules' && return
;;
insmod)
- _arguments "$args[@]" \
- '1:module file:_files' \
- '*:module parameters' && ret=0
+ _arguments -s "$args[@]" \
+ '(-f --force)'{-f,--force}'[forces a module load (dangerous)]' \
+ '(-s --syslog)'{-s,--syslog}'[report via syslog instead of stderr]' \
+ '(-v --verbose)'{-v,--verbose}'[enable more messages]' \
+ '1:module file:_files -g "*.ko(|.gz|.xz|.zst)(-.)"' \
+ '*:module option' && return
;;
esac
diff --git a/Completion/Linux/Command/_ss b/Completion/Linux/Command/_ss
index 2a1cfcb78..ac21c3bcb 100644
--- a/Completion/Linux/Command/_ss
+++ b/Completion/Linux/Command/_ss
@@ -13,23 +13,29 @@ _arguments -C -s \
"($info -r --resolve)"{-r,--resolve}'[resolve host addresses]' \
"($info -a --all -l --listening)"{-a,--all}'[display all sockets]' \
"($info -l --listening -a --all)"{-l,--listening}'[display listening sockets]' \
+ "($info -B --bound-inactive)"{-B,--bound-inactive}'[display TCP bound but inactive sockets]' \
"($info -o --options -e --extended)"{-o,--options}'[show timer information]' \
"($info -e --extended -o --options)"{-e,--extended}'[show detailed information]' \
"($info -m --memory)"{-m,--memory}'[show socket memory usage]' \
"($info -p --processes)"{-p,--processes}'[show process using each socket]' \
+ "($info -T --threads)"{-T,--threads}'[show thread using socket]' \
"($info -i --info)"{-i,--info}'[show internal TCP information]' \
"($info)--tipcinfo[show internal tipc socket information]" \
"($info -s --summary)"{-s,--summary}'[print summary statistics]' \
"($info)--tos[show tos and priority information]" \
+ "($info)--cgroup[show cgroup information]" \
"($info -b --bpf)"{-b,--bpf}'[show bpf filter socket information]' \
+ "($info)--bpf-maps[show all BPF socket-local storage maps]" \
+ "($info)--bpf-map-id=[show a BPF socket-local storage map]:map ID" \
"($info -E --events)"{-E,--events}'[continually display sockets as they are destroyed]' \
- "($info -Z --context)"{-Z,--context}'[display process SELinux security contexts]' \
- "($info -z --contexts)"{-z,--contexts}'[display process and socket SELinux security contexts]' \
+ "($info -Z --context)"{-Z,--context}'[display task SELinux security contexts]' \
+ "($info -z --contexts)"{-z,--contexts}'[display task and socket SELinux security contexts]' \
"($info -N --net)"{-N,--net}'[switch to specified network namespace]:network namespace' \
"($info -4 --ipv4 -6 --ipv6)"{-4,--ipv4}'[display only IP version 4 sockets]' \
"($info -4 --ipv4 -6 --ipv6)"{-6,--ipv6}'[display only IP version 6 sockets]' \
"($info -0 --packet)"{-0,--packet}'[display PACKET sockets]' \
"($info -t --tcp)"{-t,--tcp}'[display TCP sockets]' \
+ "($info -M --mptcp)"{-M,--mptcp}'[display only MPTCP sockets]' \
"($info -S --sctp)"{-S,--sctp}'[display SCTP sockets]' \
"($info -u --udp)"{-u,--udp}'[display UDP sockets]' \
"($info -d --dccp)"{-d,--dccp}'[display DCCP sockets]' \
@@ -41,7 +47,9 @@ _arguments -C -s \
"($info -f --family)"{-f+,--family=}'[display sockets of specified type]:family:(inet inet6 link unix netlink vsock tipc xdp help)' \
"($info -K --kill)"{-K,--kill}'[forcibly close sockets, display what was closed]' \
"($info -H --no-header)"{-H,--no-header}'[suppress header line]' \
+ "($info -Q --no-queues)"{-Q,--no-queues}'[suppress sending and receiving queue columns]' \
"($info -O --oneline)"{-O,--oneline}"[print socket's data on a single line]" \
+ "($info)--inet-sockopt[show various inet socket options]" \
"($info -A --query --socket)"{-A+,--query=,--socket=}'[specify socket tables to show]: :_values -s , socket\ table all inet tcp udp raw unix packet netlink unix_dgram unix_stream unix_seqpacket packet_raw packet_dgram vsock_stream vsock_dgram tipc' \
"($info -D)"{-D+,--diag=}'[dump raw info to file]:file:_files' \
"($info -F)"{-F+,--filter=}'[read filter information from a file]:file:_files' \
diff --git a/Completion/Linux/Command/_strace b/Completion/Linux/Command/_strace
index 6f42c4ae0..149a1dddb 100644
--- a/Completion/Linux/Command/_strace
+++ b/Completion/Linux/Command/_strace
@@ -23,11 +23,13 @@ _arguments -C -s \
'(-z -Z --successful-only --failed-only)'{-z,--successful-only}'[trace only system calls that return success]' \
'(-z -Z --successful-only --failed-only)'{-Z,--failed-only}'[trace only system calls that return an error]' \
'(-a --columns)'{-a+,--columns=}'[align return values in a specific column]:column number [40]' \
+ '--color=[control use of color]:color [auto]:(never always auto)' \
'(-i --instruction-pointer -c --summary-only)'{-i,--instruction-pointer}'[print instruction pointer at time of syscall]' \
'(-c --summary-only)*-k[obtain stack trace between each syscall]' \
'(-c --summary-only -k)--stack-trace=-[obtain stack trace between each syscall]::symbol' \
'(-c --summary-only)--stack-trace-frame-limit=[specify limit on stack trace frames to print]:frames [256]' \
'(-n --syscall-number)'{-n,--syscall-number}'[print syscall number]' \
+ '(-N --arg-names)'{-N,--arg-names}'[print syscall argument names]' \
'(-o --output)'{-o+,--output=}'[send trace output to the specified file]:output file:->file-pipe' \
'(-A --output-append-mode)'{-A,--output-append-mode}'[open the file provided with the -o option in append mode]' \
'--output-separately[output to separate files for child processes (by appending pid to file names)]' \
@@ -95,6 +97,7 @@ case $state in
'status[trace system calls with given return status]:status:->status' \
'quiet[suppress various information messages]:message [none]:_sequence compadd - none attach exit path-resolution personality thread-execve superseded' \
'kvm[print the exit reason of kvm vcpu]: :(vcpu)' \
+ 'namespace=new[print namespace IDs that the tracee enters]' \
'decode-fds[print information associated with file descriptors]:information [none]:_sequence compadd - none all path socket dev eventfd pidfd signalfd' \
'secontext' \
'decode-pids[print information associated with process IDs]:information [none]:_sequence compadd - none comm pidns' && ret=0
diff --git a/Completion/Linux/Command/_tracepath b/Completion/Linux/Command/_tracepath
index f0f777d96..68a3d6ee6 100644
--- a/Completion/Linux/Command/_tracepath
+++ b/Completion/Linux/Command/_tracepath
@@ -1,9 +1,12 @@
#compdef tracepath tracepath6
_arguments -s -S \
+ '(-6)-4[use IPv4]' \
+ '(-4)-6[use IPv6]' \
'-n[print IP addresses numerically]' \
'-b[print both host names and IP addresses]' \
'-l+[set the initial packet length]:length (bytes)' \
'-m+[set maximum hops]:maximum [30]' \
'-p+[set initial destination port to use]:port:_ports' \
+ '-V[display version information]' \
':destination:_hosts'