9chars

a2disconf
Disable an Apache configuration file on Debian-based OSes

More information: https://manpages.debian.org/latest/apache2/a2disconf.8.en.html.

- Disable a configuration file: sudo a2disconf configuration_file

- Don't show informative messages: sudo a2disconf --quiet configuration_file

a2dissite
Disable an Apache virtual host on Debian-based OSes

More information: https://manpages.debian.org/latest/apache2/a2dissite.8.en.html.

- Disable a virtual host: sudo a2dissite virtual_host

- Don't show informative messages: sudo a2dissite --quiet virtual_host

addr2line
Convert addresses of a binary into file names and line numbers

More information: https://manned.org/addr2line.

- Display the filename and line number of the source code from an instruction address of an executable: addr2line --exe=path/to/executable address

- Display the function name, filename and line number: addr2line --exe=path/to/executable --functions address

- Demangle the function name for C++ code: addr2line --exe=path/to/executable --functions --demangle address

apt-cache
Debian and Ubuntu package query tool

More information: https://manpages.debian.org/latest/apt/apt-cache.8.html.

- Search for a package in your current sources: apt-cache search query

- Show information about a package: apt-cache show package

- Show whether a package is installed and up to date: apt-cache policy package

- Show dependencies for a package: apt-cache depends package

- Show packages that depend on a particular package: apt-cache rdepends package

autorandr
Automatically change screen layout

More information: https://github.com/phillipberndt/autorandr.

- Save the current screen layout: autorandr -s profile_name

- Show the saved profiles: autorandr

- Change the profile: autorandr -l profile_name

- Set the default profile: autorandr -d profile_name

chkconfig
Manage the runlevel of services on CentOS 6

More information: https://manned.org/chkconfig.

- List services with runlevel: chkconfig --list

- Show a service's runlevel: chkconfig --list ntpd

- Enable service at boot: chkconfig sshd on

- Enable service at boot for runlevels 2, 3, 4, and 5: chkconfig --level 2345 sshd on

- Disable service at boot: chkconfig ntpd off

- Disable service at boot for runlevel 3: chkconfig --level 3 ntpd off

create_ap
Create an AP (Access Point) at any channel

More information: https://github.com/oblique/create_ap.

- Create an open network with no passphrase: create_ap wlan0 eth0 access_point_ssid

- Use a WPA + WPA2 passphrase: create_ap wlan0 eth0 access_point_ssid passphrase

- Create an access point without Internet sharing: create_ap -n wlan0 acces_point_ssid passphrase

- Create a bridged network with Internet sharing: create_ap -m bridge wlan0 eth0 access_point_ssid passphrase

- Create a bridged network with Internet sharing and a pre-configured bridge interface: create_ap -m bridge wlan0 br0 access_point_ssid passphrase

- Create an access port for Internet sharing from the same Wi-Fi interface: create_ap wlan0 wlan0 access_point_ssid passphrase

- Choose a different Wi-Fi adapter driver: create_ap --driver wifi_adapter wlan0 eth0 access_point_ssid passphrase

daemonize
Run a command (that does not daemonize itself) as a Unix daemon

More information: http://software.clapper.org/daemonize/.

- Run a command as a daemon: daemonize command command_arguments

- Write the PID to the specified file: daemonize -p path/to/pidfile command command_arguments

- Use a lock file to ensure that only one instance runs at a time: daemonize -l path/to/lockfile command command_arguments

- Use the specified user account: sudo daemonize -u user command command_arguments

debchange
Tool for maintenance of the debian/changelog file in a Debian source package

More information: https://manpages.debian.org/debchange.

- Add a new version for a non-maintainer upload to the changelog: debchange --nmu

- Add a changelog entry to the current version: debchange --append

- Add a changelog entry to close the bug with specified ID: debchange --closes bug_id

dmidecode
Display the DMI (alternatively known as SMBIOS) table contents in a human-readable format.Requires root privileges

More information: https://manned.org/dmidecode.

- Show all DMI table contents: sudo dmidecode

- Show the BIOS version: sudo dmidecode -s bios-version

- Show the system's serial number: sudo dmidecode -s system-serial-number

- Show BIOS information: sudo dmidecode -t bios

- Show CPU information: sudo dmidecode -t processor

- Show memory information: sudo dmidecode -t memory

etckeeper
Track system configuration files in Git

More information: http://etckeeper.branchable.com/.

- Set up a Git repo and perform various setup tasks (run from /etc): sudo etckeeper init

- Commit all changes in /etc: sudo etckeeper commit message

- Run arbitrary Git commands: sudo etckeeper vcs status

- Check if there are uncommitted changes (only returns an exit code): sudo etckeeper unclean

- Destroy existing repo and stop tracking changes: sudo etckeeper uninit

fallocate
Reserve or deallocate disk space to files.The utility allocates space without zeroing

More information: https://manned.org/fallocate.

- Reserve a file taking up 700 MiB of disk space: fallocate --length 700M path/to/file

- Shrink an already allocated file by 200 MiB: fallocate --collapse-range --length 200M path/to/file

- Shrink 20 MB of space after 100 MiB in a file: fallocate --collapse-range --offset 100M --length 20M path/to/file

fcrackzip
ZIP archive password cracking utility

More information: https://manned.org/fcrackzip.

- Brute-force a password with a length of 4 to 8 characters, and contains only alphanumeric characters (order matters): fcrackzip --brute-force --length 4-8 --charset aA1 archive

- Brute-force a password in verbose mode with a length of 3 characters that only contains lowercase characters, $ and %: fcrackzip -v --brute-force --length 3 --charset a:$% archive

- Brute-force a password that contains only lowercase and special characters: fcrackzip --brute-force --length 4 --charset a! archive

- Brute-force a password containing only digits, starting from the password 12345: fcrackzip --brute-force --length 5 --charset 1 --init-password 12345 archive

- Crack a password using a wordlist: fcrackzip --use-unzip --dictionary --init-password wordlist archive

- Benchmark cracking performance: fcrackzip --benchmark No tldr entry for firewall-

flameshot
Screenshot utility with a GUI.Supports basic image editing, such as text, shapes, colors, and imgur

More information: https://flameshot.org.

- Launch flameshot with a simpler interactive mode: flameshot launcher

- Launch flameshot and immediately start interactively annotating parts of the screen to screenshot: flameshot gui

- Take a full screenshot (all monitors): flameshot full

- Take a screenshot from monitor 1: flameshot screen --number 1

- Set the save path to write screenshots to: flameshot full --path path/to/directory

- Delay the screenshot for N milliseconds and output to clipboard: flameshot full --delay 2000 --clipboard

- Take a screenshot and export it to standard-output: flameshot gui --raw

genkernel
Gentoo Linux utility to compile and install kernels

More information: https://wiki.gentoo.org/wiki/Genkernel.

- Automatically compile and install a generic kernel: sudo genkernel all

- Build and install the bzImage|initramfs|kernel|ramdisk only: sudo genkernel bzImage|initramfs|kernel|ramdisk

- Apply changes to the kernel configuration before compiling and installing: sudo genkernel --menuconfig all

- Generate a kernel with a custom name: sudo genkernel --kernname=custom_name all

- Use a kernel source outside the default directory /usr/src/linux: sudo genkernel --kerneldir=path/to/directory all

gsettings
Query and modify dconf settings with schema validation

More information: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_the_desktop_environment_in_rhel_8/configuring-gnome-at-low-level_using-the-desktop-environment-in-rhel-8#using-gsettings-command_configuring-gnome-at-low-level.

- Set the value of a key. Fails if the key doesn't exist or the value is out of range: gsettings set org.example.schema example-key value

- Print the value of a key or the schema-provided default if the key has not been set in dconf: gsetings get org.example.schema example-key

- Unset a key, so that its schema default value will be used: gsettings reset org.example.schema example-key

- Display all (non-relocatable) schemas, keys, and values: gsettings list-recursively

- Display all keys and values (default if not set) from one schema: gsettings list-recursively org.example.schema

- Display schema-allowed values for a key (helpful with enum keys): gsettings range org.example.schema example-key

- Display the human-readable description of a key: gsettings describe org.example.schema example-key

homeshick
Synchronize Git dotfiles

More information: https://github.com/andsens/homeshick/wiki.

- Create a new castle: homeshick generate castle_name

- Add a file to your castle: homeshick track castle_name path/to/file

- Go to a castle: homeshick cd castle_name

- Clone a castle: homeshick clone github_username/repository_name

- Symlink all files from a castle: homeshick link castle_name

http_load
An HTTP benchmarking tool.Runs multiple HTTP fetches in parallel to test the throughput of a web server

More information: http://www.acme.com/software/http_load/.

- Emulate 20 requests based on a given URL list file per second for 60 seconds: http_load -rate 20 -seconds 60 path/to/urls.txt

- Emulate 5 concurrent requests based on a given URL list file for 60 seconds: http_load -parallel 5 -seconds 60 path/to/urls.txt

- Emulate 1000 requests at 20 requests per second, based on a given URL list file: http_load -rate 20 -fetches 1000 path/to/urls.txt

- Emulate 1000 requests at 5 concurrent requests at a time, based on a given URL list file: http_load -parallel 5 -fetches 1000 path/to/urls.txt

lvdisplay
Display information about Logical Volume Manager (LVM) logical volumes.See also: lvm

More information: https://man7.org/linux/man-pages/man8/lvdisplay.8.html.

- Display information about all logical volumes: sudo lvdisplay

- Display information about all logical volumes in volume group vg1: sudo lvdisplay vg1

- Display information about logical volume lv1 in volume group vg1: sudo lvdisplay vg1/lv1

mkfs.ext4
Creates an ext4 filesystem inside a partition

More information: https://manned.org/mkfs.ext4.

- Create an ext4 filesystem inside partition 1 on device b (sdb1): sudo mkfs.ext4 /dev/sdb1

- Create an ext4 filesystem with a volume-label: sudo mkfs.ext4 -L volume_label /dev/sdb1

mkfs.ntfs
Creates a NTFS filesystem inside a partition

More information: https://manned.org/mkfs.ntfs.

- Create a NTFS filesystem inside partition 1 on device b (sdb1): mkfs.ntfs /dev/sdb1

- Create filesystem with a volume-label: mkfs.ntfs -L volume_label /dev/sdb1

- Create filesystem with specific UUID: mkfs.ntfs -U UUID /dev/sdb1

mkfs.vfat
Creates an MS-DOS filesystem inside a partition

More information: https://manned.org/mkfs.vfat.

- Create a vfat filesystem inside partition 1 on device b (sdb1): mkfs.vfat /dev/sdb1

- Create filesystem with a volume-name: mkfs.vfat -n volume_name /dev/sdb1

- Create filesystem with a volume-id: mkfs.vfat -i volume_id /dev/sdb1

- Use 5 instead of 2 file allocation tables: mkfs.vfat -f 5 /dev/sdb1

netselect
Speed test for choosing a fast network server

More information: https://github.com/apenwarr/netselect.

- Choose the server with the lowest latency: sudo netselect host_1 host_2

- Display nameserver resolution and statistics: sudo netselect -vv host_1 host_2

- Define maximum TTL (time to live): sudo netselect -m 10 host_1 host_2

- Print fastest N servers among the hosts: sudo netselect -s N host_1 host_2 host_3

- List available options: netselect

partprobe
Notify the operating system kernel of partition table changes

More information: https://manned.org/partprobe.

- Notify the operating system kernel of partition table changes: sudo partprobe

- Notify the kernel of partition table changes and show a summary of devices and their partitions: sudo partprobe --summary

- Show a summary of devices and their partitions but don't notify the kernel: sudo partprobe --summary --dry-run

phpdismod
Disable PHP extensions on Debian-based OSes.

- Disable the JSON extension for every SAPI of every PHP version: sudo phpdismod json

- Disable the JSON extension for PHP 7.3 with the cli SAPI: sudo phpdismod -v 7.3 -s cli json

playerctl
Utility to control different media players

More information: https://github.com/altdesktop/playerctl.

- Toggle play: playerctl play-pause

- Next media: playerctl next

- Previous media: playerctl previous

- List all players: playerctl --list-all

- Send a command to a specific player: playerctl --player=player_name command

- Send a command to all players: playerctl --all-players command

- Show now playing: playerctl metadata --format "Now playing: artist - album - title"

pvdisplay
Display information about Logical Volume Manager (LVM) physical volumes.See also: lvm

More information: https://man7.org/linux/man-pages/man8/pvdisplay.8.html.

- Display information about all physical volumes: sudo pvdisplay

- Display information about the physical volume on drive /dev/sdXY: sudo pvdisplay /dev/sdXY

qtchooser
A wrapper used to select between Qt development binary versions

More information: https://manned.org/qtchooser.

- List available Qt versions from the configuration files: qtchooser --list-versions

- Print environment information: qtchooser --print-env

- Run the specified tool using the specified Qt version: qtchooser --run-tool=tool --qt=version_name

- Add a Qt version entry to be able to choose from: qtchooser --install version_name path/to/qmake

- Display all available options: qtchooser --help

radeontop
Show utilisation of AMD GPUs.May require root privileges depending on your system

More information: https://github.com/clbr/radeontop.

- Show the utilisation of the default AMD GPU: radeontop

- Enable colored output: radeontop --color

- Select a specific GPU (the bus number is the first number in the output of lspci): radeontop --bus bus_number

- Specify the display refresh rate (higher means

More GPU overhead):  radeontop --ticks samples_per_second

rc-status
Show status info about runlevels.See also openrc.

- Show a summary of services and their status: rc-status

- Include services in all runlevels in the summary: rc-status --all

- List services that have crashed: rc-status --crashed

- List manually started services: rc-status --manual

- List supervised services: rc-status --supervised

- Get the current runlevel: rc-status --runlevel

- List all runlevels: rc-status --list

rc-update
Add and remove OpenRC services to and from runlevels.See also openrc.

- List all services and the runlevels they are added to: rc-update show

- Add a service to a runlevel: sudo rc-update add service_name runlevel

- Delete a service from a runlevel: sudo rc-update delete service_name runlevel

- Delete a service from all runlevels: sudo rc-update --all delete service_name

reflector
Arch script to fetch and sort mirrorlists.

- Get all mirrors, sort for download speed and save them: sudo reflector --sort rate --save /etc/pacman.d/mirrorlist

- Only get German HTTPS mirrors: reflector --country Germany --protocol https

- Only get the 10 recently sync'd mirrors: reflector --latest 10

reportbug
Bug report tool of Debian distribution

More information: https://manpages.debian.org/buster/reportbug/reportbug.1.en.html.

- Generate a bug report about a specific package, then send it by e-mail: reportbug package

- Report a bug that is not about a specific package (general problem, infrastructure, etc.): reportbug other

- Write the bug report to a file instead of sending it by e-mail: reportbug -o filename package

resize2fs
Resize an ext2, ext3 or ext4 filesystem.Does not resize the underlying partition, and the filesystem must be unmounted.

- Automatically resize a filesystem: resize2fs /dev/sdXN

- Resize the filesystem to a size of 40G, displaying a progress bar: resize2fs -p /dev/sdXN 40G

- Shrink the filesystem to its minimum possible size: resize2fs -M /dev/sdXN

resolveip
Resolve hostnames to their IP addresses and vice versa

More information: https://mariadb.com/kb/en/resolveip/.

- Resolve a hostname to an IP address: resolveip example.org

- Resolve an IP address to a hostname: resolveip 1.1.1.1

- Silent mode. Produces less output: resolveip --silent example.org

rpcclient
MS-RPC client tool (part of the samba suite)

More information: https://www.samba.org/samba/docs/current/man-html/rpcclient.1.html.

- Connect to a remote host: rpcclient --user domain\username%password ip

- Connect to a remote host on a domain without a password: rpcclient --user username --workgroup domain --no-pass ip

- Connect to a remote host, passing the password hash: rpcclient --user domain\username --pw-nt-hash ip

- Execute shell commands on a remote host: rpcclient --user domain\username%password --command semicolon_separated_commands ip

- Display domain users: rpcclient $> enumdomusers

- Display privileges: rpcclient $> enumprivs

- Display information about a specific user: rpcclient $> queryuser username|rid

- Create a new user in the domain: rpcclient $> createdomuser username

scanimage
Scan images with the Scanner Access Now Easy API

More information: http://sane-project.org/man/scanimage.1.html.

- List available scanners to ensure the target device is connected and recognized: scanimage -L

- Scan an image and save it to a file: scanimage --format=pnm|tiff|png|jpeg > path/to/new_image

screenkey
A screencast tool to display keys pressed

More information: https://www.thregr.org/~wavexx/software/screenkey/.

- Display keys which are currently being pressed on the screen: screenkey

- Display keys and mouse buttons which are currently being pressed on the screen: screenkey --mouse

- Launch the settings menu of screenkey: screenkey --show-settings

- Launch screenkey at a specific position: screenkey --position top|center|bottom|fixed

- Change the format of the key modifiers displayed on screen: screenkey --mods-mode normal|emacs|mac|win|tux

- Change the appearance of screenkey: screenkey --bg-color "#a1b2c3" --font Hack --font-color yellow --opacity 0.8

- Drag and select a window on screen to display screenkey: screenkey --position fixed --geometry $(slop -n -f '%g')

setxkbmap
Set the keyboard using the X Keyboard Extension.

- Set the keyboard in French AZERTY: setxkbmap fr

- Set multiple keyboard layouts, their variants and switching option: setxkbmap -layout us,de -variant ,qwerty -option 'grp:alt_caps_toggle'

- Get help: setxkbmap -help

- List all layouts: localectl list-x11-keymap-layouts

- List variants for the layout: localectl list-x11-keymap-variants de

- List available switching options: localectl list-x11-keymap-options | grep grp:

slapt-get
An apt like system for Slackware package management.Package sources need to be configured in the slapt-getrc file.

- Update the list of available packages and versions: slapt-get --update

- Install a package, or update it to the latest available version: slapt-get --install package_name

- Remove a package: slapt-get --remove package_name

- Upgrade all installed packages to their latest available versions: slapt-get --upgrade

- Locate packages by the package name, disk set, or version: slapt-get --search package_name

- Show information about a package: slapt-get --show package_name

slapt-src
A utility to automate building of slackbuilds.SlackBuild sources need to be configured in the slapt-srcrc file

More information: https://github.com/jaos/slapt-src.

- Update the list of available slackbuilds and versions: slapt-src --update

- List all available slackbuilds: slapt-src --list

- Fetch, build and install the specified slackbuild(s): slapt-src --install slackbuild_name

- Locate slackbuilds by their name or description: slapt-src --search search_term

- Display information about a slackbuild: slapt-src --show slackbuild_name

smbclient
FTP-like client to access SMB/CIFS resources on servers.

- Connect to a share (user will be prompted for password; exit to quit the session): smbclient //server/share

- Connect with a different username: smbclient //server/share --user username

- Connect with a different workgroup: smbclient //server/share --workgroup domain --user username

- Connect with a username and password: smbclient //server/share --user username%password

- Download a file from the server: smbclient //server/share --directory path/to/directory --command "get file.txt"

- Upload a file to the server: smbclient //server/share --directory path/to/directory --command "put file.txt"

smbpasswd
Change a user's SMB password.Samba users must also have a local Unix account.

- Change the current user's SMB password: smbpasswd

- Add a specified user to Samba and set password(user should already exist in system): smbpasswd -a username

- Modify an existing Samba user's password: smbpasswd username

- Delete a Samba user: smbpasswd -x username

systemctl
Control the systemd system and service manager

More information: https://www.freedesktop.org/software/systemd/man/systemctl.html.

- List failed units: systemctl --failed

- Start/Stop/Restart/Reload a service: systemctl start|stop|restart|reload unit

- Show the status of a unit: systemctl status unit

- Enable/Disable a unit to be started on bootup: systemctl enable|disable unit

- Mask/Unmask a unit to prevent enablement and manual activation: systemctl mask|unmask unit

- Reload systemd, scanning for new or changed units: systemctl daemon-reload

- Check if a unit is active: systemctl is-active unit

- Check if a unit is enabled: systemctl is-enabled unit

timeshift
System restore utility

More information: https://github.com/teejee2008/timeshift.

- List snapshots: sudo timeshift --list

- Create a new snapshot (if scheduled): sudo timeshift --check

- Create a new snapshot (even if not scheduled): sudo timeshift --create

- Restore a snapshot (selecting which snapshot to restore interactively): sudo timeshift --restore

- Restore a specific snapshot: sudo timeshift --restore --snapshot 'snapshot'

- Delete a specific snapshot: sudo timeshift --delete --snapshot 'snapshot'

tracepath
Trace the path to a network host discovering MTU along this path

More information: https://manned.org/tracepath.

- A preferred way to trace the path to a host: tracepath -p 33434 host

- Specify the initial destination port, useful with non-standard firewall settings: tracepath -p destination_port host

- Print both hostnames and numerical IP addresses: tracepath -b host

- Specify a maximum TTL (number of hops): tracepath -m max_hops host

- Specify the initial packet length (defaults to 65535 for IPv4 and 128000 for IPv6): tracepath -l packet_length host

- Use only IPv6 addresses: tracepath -6 host

udisksctl
A command-line program used to interact with the udisksd daemon process

More information: http://storaged.org/doc/udisks2-api/latest/udisksctl.1.html.

- Show high-level information about disk drives and block devices: udisksctl status

- Show detailed information about a device: udisksctl info --block-device /dev/sdX

- Show detailed information about a device partition: udisksctl info --block-device /dev/sdXN

- Mount a device partition and prints the mount point: udisksctl mount --block-device /dev/sdXN

- Unmount a device partition: udisksctl unmount --block-device /dev/sdXN

- Monitor the daemon for events: udisksctl monitor

uprecords
Displays a summary of historical uptime records.

- Display a summary of the top 10 historical uptime records: uprecords

- Display the top 25 records: uprecords -m 25

- Display the downtime between reboots instead of the kernel version: uprecords -d

- Show the most recent reboots: uprecords -B

- Don't truncate information: uprecords -w

veracrypt
Free and open source disk encryption software

More information: https://www.veracrypt.fr/code/VeraCrypt/plain/doc/html/Documentation.html.

- Create a new volume through a text user interface and use /dev/urandom as a source of random data: veracrypt --text --create --random-source=/dev/urandom

- Decrypt a volume interactively through a text user interface and mount it to a directory: veracrypt --text path/to/volume path/to/mount_point

- Decrypt a partition using a keyfile and mount it to a directory: veracrypt --keyfiles=path/to/keyfile /dev/sdXN path/to/mount_point

- Dismount a volume on the directory it is mounted to: veracrypt --dismount path/to/mounted_point

vgdisplay
Display information about Logical Volume Manager (LVM) volume groups.See also: lvm

More information: https://man7.org/linux/man-pages/man8/vgdisplay.8.html.

- Display information about all volume groups: sudo vgdisplay

- Display information about volume group vg1: sudo vgdisplay vg1

vncserver
Launches a VNC (Virtual Network Computing) desktop.

- Launch a VNC Server on next available display: vncserver

- Launch a VNC Server with specific screen geometry: vncserver --geometry widthxheight

- Kill an instance of VNC Server running on a specific display: vncserver --kill :display_number

vncviewer
Launches a VNC (Virtual Network Computing) client.

- Launch a VNC client which connects to a host on a given display: vncviewer host:display_number

- Launch in full-screen mode: vncviewer -FullScreen host:display_number

- Launch a VNC client with a specific screen geometry: vncviewer --geometry widthxheight host:display_number

- Launch a VNC client which connects to a host on a given port: vncviewer host::port

wifi-menu
Interactively connect to a wireless network

More information: https://manned.org/wifi-menu.

- Set up a wireless connection interactively: wifi-menu

- Interactively set up a connection to a network and obscure the password: wifi-menu --obscure

- Display help: wifi-menu --help

xsetwacom
Command-line tool to change settings for Wacom pen tablets at runtime.

- List all the available Wacom devices. The device name is in the first column: xsetwacom list

- Set Wacom area to specific screen. Get name of the screen with xrandr: xsetwacom set "device_name" MapToOutput screen

- Set mode to relative (like a mouse) or absolute (like a pen) mode: xsetwacom set "device_name" Mode "Relative|Absolute"

- Rotate the input (useful for tablet-PC when rotating screen) by 0|90|180|270 degrees from "natural" rotation: xsetwacom set "device_name" Rotate none|half|cw|ccw

- Set button to only work when the tip of the pen is touching the tablet: xsetwacom set "device_name" TabletPCButton "on"