--- obj: application website: https://dystroy.org/dysk repo: https://github.com/Canop/dysk --- # dysk dysk is a [linux](../../linux/Linux.md) utility listing your [filesystems](../../linux/filesystems/Filesystems.md). ## Usage Usage: `dysk [-a, --all] [PATH]` ### Table The standard output of dysk is a table with a default set of columns and only the "normal looking" [filesystems](../../linux/filesystems/Filesystems.md). You can modify it easily. #### Columns You can run `dysk --list-cols` for the list of all columns. **All columns:** | name | default | meaning | | ------------------ | ------- | ---------------------------------------------- | | id | | mount point id | | dev | | device id | | filesystem | ✓ | filesystem | | label | | label | | type | ✓ | filesystem type | | remote | | whether it's a remote filesystem | | disk | ✓ | short tag of the underlying storage identified | | used | ✓ | cumulated size of the occupied blocks | | use | ✓ | graphical view of the use share | | use_percent | | percentage of occupied blocks | | free | ✓ | cumulated size of the available blocks | | free_percent | | percentage of available blocks | | size | ✓ | size of the volume | | inodesfree | | available inodes | | inodesused | | inodes used | | inodes | | inodes use share, graphical | | inodes_use_percent | | inodes use share, in percents | | inodescount | | total number of inodes in the filesystem | | mount | ✓ | mounting path | #### Choose columns With the `--cols` launch argument, shortened as `-c`, you can change the displayed columns or their order. With `-c all`, you may see all available columns, but that's normally too much for convenience: The most obvious use of the `--cols` argument is the explicit definition of the columns to display. For example `dysk -c label+use+size+disk+mount` will show the label, use, size, disk, and mount columns, in that order. #### Sort With the `--sort` launch argument, shortened as `-s`, you can specify the order of displayed rows. The argument's value must be either a column name, for example `dysk -s dev`, or a column name and a direction, for example `dysk --sort size-desc`. The `desc` and `asc` directions can be abbreviated into `d` and `a`. #### CSV With the `--csv` argument, you can ask dysk to output the table in [CSV](../../files/CSV.md): `dysk --csv > mounts.csv` You may choose the separator with the `--csv-separator` argument. Filters, sorting, and column selection work the same than for standard tables so you may do this: `dysk --csv -f 'size>100G' -c remote+default+inodes > mounts.csv` ### [JSON](../../files/JSON.md) Use `-j` or `--json`. The normal output is an array of all filesystem matching the filter. `dysk -j | jq '.[0]' > disk.json` ```json { "bound": false, "dev": { "major": 8, "minor": 1 }, "disk": { "crypted": false, "ram": false, "removable": false, "rotational": false, "type": "SSD" }, "fs": "/dev/sda1", "fs-label": null, "fs-type": "ext4", "id": 26, "mount-point": "/", "remote": false, "stats": { "available": "81G", "bavail": 19764035, "bfree": 22790364, "blocks": 59233748, "bsize": 4096, "inodes": { "avail": 13880393, "files": 15114240, "free": 13880393, "used-percent": "8%" }, "size": "243G", "used": "162G", "used-percent": "67%" }, "unreachable": false } ``` The disk, stats, and stats.inodes structures, or the fs-label, may be null for some [filesystems](../../linux/filesystems/Filesystems.md). ### Filter The `--filter` argument, shortened in `-f`, lets you specify a constraint, or combine several ones. A constraint can be related to any column. You can for example fetch the [filesystems](../../linux/filesystems/Filesystems.md) with a given type with `dysk -f 'type=xfs'`. Or remote volumes with `dysk -f 'remote=true'`. The operators you can apply to a column are the following ones: | operator | meaning | | -------- | -------------------------------------------------------- | | `<` | lower | | `<=` | lower or equal | | `>` | greater | | `>=` | greater or equal | | `<>` | different | | `=` | somehow equal - for example `fs=sda` matches `/dev/sda1` | | `==` | really equal | You can combine several column conditions with boolean operators `|` (or), `&` (and) and `!` (not) and if needed you can use parenthesis. For example you may want to select the volumes with not enough space with `dysk -f 'free<100G | use>65%'`