6chars

alpine
An email client and Usenet newsgroup program with a pico/nano-inspired interface.Supports most modern email services through IMAP.

- Open alpine normally: alpine

- Open alpine directly to the message composition screen to send an email to a given email address: alpine email@example.net

- Quit alpine: 'q' then 'y'

amixer
Mixer for ALSA soundcard driver

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

- Turn up the master volume by 10%: amixer -D pulse sset Master 10%+

- Turn down the master volume by 10%: amixer -D pulse sset Master 10%-

archey
Simple tool for stylishly displaying system information

More information: https://lclarkmichalek.github.io/archey3/.

- Show system information: archey

aspell
Interactive spell checker

More information: http://aspell.net/.

- Spell check a single file: aspell check path/to/file

- List misspelled words from standard input: cat file | aspell list

- Show available dictionary languages: aspell dicts

- Run aspell with a different language (takes two-letter ISO 639 language code): aspell --lang=cs

- List misspelled words from standard input and ignore words from personal word list: cat file | aspell --personal=personal-word-list.pws list

aurman
An Arch Linux utility to build and install packages from the Arch User Repository.See also pacman

More information: https://github.com/polygamma/aurman.

- Synchronize and update all packages: aurman --sync --refresh --sysupgrade

- Synchronize and update all packages without show changes of PKGBUILD files: aurman --sync --refresh --sysupgrade --noedit

- Install a new package: aurman --sync package_name

- Install a new package without show changes of PKGBUILD files: aurman --sync --noedit package_name

- Install a new package without prompting: aurman --sync --noedit --noconfirm package_name

- Search the package database for a keyword from the official repositories and AUR: aurman --sync --search keyword

- Remove a package and its dependencies: aurman --remove --recursive --nosave package_name

- Clear the package cache (use two --clean flags to clean all packages): aurman --sync --clean

bpytop
Display dynamic real-time information about running processes with graphs. Similar to gtop and htop

More information: https://github.com/aristocratos/bpytop.

- Start bpytop: bpytop

- Start in minimal mode without memory and networking boxes: bpytop -m

- Show version: bpytop -v

- Toggle minimal mode: m

- Search for running programs or processes: f

- Change settings: M

cfdisk
A program for managing partition tables and partitions on a hard disk using a curses UI

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

- Start the partition manipulator with a specific device: cfdisk /dev/sdX

- Create a new partition table for a specific device and manage it: cfdisk --zero /dev/sdX

chattr
Change attributes of files or directories

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

- Make a file or directory immutable to changes and deletion, even by superuser: chattr +i path/to/file_or_directory

- Make a file or directory mutable: chattr -i path/to/file_or_directory

- Recursively make an entire directory and contents immutable: chattr -R +i path/to/directory

clamav
Open-source anti-virus program.Designed especially for e-mail scanning on mail gateways, but can be used in other contexts

More information: https://www.clamav.net.

- Update virus definitions: freshclam

- Scan a file for viruses: clamscan path/to/file

- Scan directories recursively and print out infected files: clamscan --recursive --infected path/to/directory

- Scan directories recursively and move them into quarantine: clamscan --recursive --move=directory

csplit
Split a file into pieces.This generates files named "xx00", "xx01", and so on

More information: https://www.gnu.org/software/coreutils/csplit.

- Split a file at lines 5 and 23: csplit file 5 23

- Split a file every 5 lines (this will fail if the total number of lines is not divisible by 5): csplit file 5 *

- Split a file every 5 lines, ignoring exact-division error: csplit -k file 5 *

- Split a file at line 5 and use a custom prefix for the output files: csplit file 5 -f prefix

- Split a file at a line matching a regular expression: csplit file /regular_expression/

debman
Read man pages from uninstalled packages

More information: https://manpages.debian.org/latest/debian-goodies/debman.1.html.

- Read a man page for a command that is provided by a specified package name: debman -p package_name command_name

- Specify a package version to download: debman -p package_name=version command_name

- Read a man page in a .deb file: debman -f path/to/filename.deb command_name

disown
Allow sub-processes to live beyond the shell that they are attached to.See also the jobs command

More information: https://www.gnu.org/software/bash/manual/bash.html#index-disown.

- Disown the current job: disown

- Disown a specific job: disown %job_number

- Disown all jobs: disown -a

- Keep job (do not disown it), but mark it so that no future SIGHUP is received on shell exit: disown -h %job_number e2fsck Check a Linux ext2/ext3/ext4 filesystem. The filesystem should be unmounted at the time the command is run

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

- Check filesystem, reporting any damaged blocks: e2fsck /dev/sdXN

- Check filesystem and automatically repair any damaged blocks: e2fsck -p /dev/sdXN

- Check filesystem in read only mode: e2fsck -c /dev/sdXN e2undo Replay undo logs for an ext2/ext3/ext4 filesystem.This can be used to undo a failed operation by an e2fsprogs program

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

- Display information about a specific undo file: e2undo -h path/to/undo_file /dev/sdXN

- Perform a dry-run and display the candidate blocks for replaying: e2undo -nv path/to/undo_file /dev/sdXN

- Perform an undo operation: e2undo path/to/undo_file /dev/sdXN

- Perform an undo operation and display verbose information: e2undo -v path/to/undo_file /dev/sdXN

- Write the old contents of the block to an undo file before overwriting a file system block: e2undo -z path/to/file.e2undo path/to/undo_file /dev/sdXN

ebuild
A low level interface to the Gentoo Portage system

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

- Create or update the package manifest: ebuild path/to/file.ebuild manifest

- Clean the temporary build directories for the build file: ebuild path/to/file.ebuild clean

- Fetch sources if they do not exist: ebuild path/to/file.ebuild fetch

- Extract the sources to a temporary build directory: ebuild path/to/file.ebuild unpack

- Compile the extracted sources: ebuild path/to/file.ebuild compile

- Install the package to a temporary install directory: ebuild path/to/file.ebuild install

- Install the temporary files to the live filesystem: ebuild path/to/file.ebuild qmerge

- Fetch, unpack, compile, install and qmerge the specified ebuild file: ebuild path/to/file.ebuild merge

emerge
Gentoo Linux package manager utility

More information: https://wiki.gentoo.org/wiki/Portage#emerge.

- Synchronize all packages: emerge --sync

- Update all packages, including dependencies: emerge -uDNav @world

- Resume a failed updated, skipping the failing package: emerge --resume --skipfirst

- Install a new package, with confirmation: emerge -av package_name

- Remove a package, with confirmation: emerge -Cav package_name

- Remove orphaned packages (that were installed only as dependencies): emerge -avc

- Search the package database for a keyword: emerge -S keyword

equery
View information about Portage packages

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

- List all installed packages: equery list '*'

- Search for installed packages in the Portage tree and in overlays: equery list -po package_name

- List all packages that depend on a given package: equery depends package_name

- List all packages that a given package depends on: equery depgraph package_name

- List all files installed by a package: equery files --tree package_name

expect
Script executor that interacts with other programs that require user input

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

- Execute an expect script from a file: expect path/to/file

- Execute a specified expect script: expect -c "commands"

- Enter an interactive REPL (use exit or Ctrl + D to exit): expect -i

export
Command to mark shell variables in the current environment to be exported with any newly forked child processes

More information: https://www.gnu.org/software/bash/manual/bash.html#index-export.

- Set a new environment variable: export VARIABLE=value

- Remove an environment variable: export -n VARIABLE

- Mark a shell function for export: export -f FUNCTION_NAME

- Append something to the PATH variable: export PATH=$PATH:path/to/append

findfs
Finds a filesystem by label or UUID

More information: https://mirrors.edge.kernel.org/pub/linux/utils/util-linux.

- Search block devices by filesystem label: findfs LABEL=label

- Search by filesystem UUID: findfs UUID=uuid

- Search by partition label (GPT or MAC partition table): findfs PARTLABEL=partition_label

- Search by partition UUID (GPT partition table only): findfs PARTUUID=partition_uuid

fstrim
Discard unused blocks on a mounted filesystem.Only supported by flash memory devices such as SSDs and microSD cards

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

- Trim unused blocks on all mounted partitions that support it: sudo fstrim --all

- Trim unused blocks on a specified partition: sudo fstrim /

- Display statistics after trimming: sudo fstrim --verbose /

getent
Get entries from Name Service Switch libraries

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

- Get list of all groups: getent group

- See the members of a group: getent group group_name

- Get list of all services: getent services

- Find a username by UID: getent passwd 1000

- Perform a reverse DNS lookup: getent hosts host

hdparm
Get and set SATA and IDE hard drive parameters.

- Request the identification info of a given device: sudo hdparm -I /dev/device

- Get the Advanced Power Management level: sudo hdparm -B /dev/device

- Set the Advanced Power Management value (values 1-127 permit spin-down, and values 128-254 do not): sudo hdparm -B 1 /dev/device

- Display the device's current power mode status: sudo hdparm -C /dev/device

- Force a drive to immediately enter standby mode (usually causes a drive to spin down): sudo hdparm -y /dev/device

- Put the drive into idle (low-power) mode, also setting its standby timeout: sudo hdparm -S standby_timeout device

httpie
A user friendly command-line HTTP tool.

- Send a GET request (default method with no request data): http https://example.com

- Send a POST request (default method with request data): http https://example.com hello=World

- Send a POST request with redirected input: http https://example.com < file.json

- Send a PUT request with a given JSON body: http PUT https://example.com/todos/7 hello=world

- Send a DELETE request with a given request header: http DELETE https://example.com/todos/7 API-Key:foo

- Show the whole HTTP exchange (both request and response): http -v https://example.com

- Download a file: http --download https://example.com i3lock Simple screen locker built for the i3 window manager

More information: https://i3wm.org/i3lock.

- Lock screen with a simple color background (rrggbb format): i3lock -c 0000ff

- Lock screen to a PNG background: i3lock -i path/to/picture.png

- Disable the unlock indicator (removes feedback on keypress): i3lock -u

- Display mouse pointer instead of hiding it ('default' for default pointer, 'win' for an MS Windows pointer): i3lock -p default|win

- Lock screen to a PNG background displayed in multiple monitors, with enabled mouse pointer: i3lock -i path/to/picture.png -p default|win -t

ifdown
Disable network interfaces

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

- Disable interface eth0: ifdown eth0

- Disable all interfaces which are enabled: ifdown -a

iostat
Report statistics for devices and partitions.

- Display a report of CPU and disk statistics since system startup: iostat

- Display a report of CPU and disk statistics with units converted to megabytes: iostat -m

- Display CPU statistics: iostat -c

- Display disk statistics with disk names (including LVM): iostat -N

- Display extended disk statistics with disk names for device "sda": iostat -xN sda

- Display incremental reports of CPU and disk statistics every 2 seconds: iostat 2

ipcalc
Perform simple operations and calculations on IP addresses and networks.

- Show information about an address or network with a given subnet mask: ipcalc 1.2.3.4 255.255.255.0

- Show information about an address or network in CIDR notation: ipcalc 1.2.3.4/24

- Show the broadcast address of an address or network: ipcalc -b 1.2.3.4/30

- Show the network address of provided IP address and netmask: ipcalc -n 1.2.3.4/24

- Display geographic information about a given IP address: ipcalc -g 1.2.3.4

kpartx
Create device maps from partition tables.

- Add partition mappings: kpartx -a whole_disk.img

- Delete partition mappings: kpartx -d whole_disk.img

- List partition mappings: kpartx -l whole_disk.img

locate
Find filenames quickly

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

- Look for pattern in the database. Note: the database is recomputed periodically (usually weekly or daily): locate pattern

- Look for a file by its exact filename (a pattern containing no globbing characters is interpreted as *pattern*): locate */filename

- Recompute the database. You need to do it if you want to find recently added files: sudo updatedb

logger
Add messages to syslog (/var/log/syslog)

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

- Log a message to syslog: logger message

- Take input from stdin and log to syslog: echo log_entry | logger

- Send the output to a remote syslog server running at a given port. Default port is 514: echo log_entry | logger --server hostname --port port

- Use a specific tag for every line logged. Default is the name of logged in user: echo log_entry | logger --tag tag

- Log messages with a given priority. Default is user.notice. See man logger for all priority options: echo log_entry | logger --priority user.warning

lrztar
A wrapper for lrzip to simplify compression of directories.See also: tar, lrzuntar, lrunzip

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

- Archive a directory with tar, then compress: lrztar path/to/directory

- Same as above, with ZPAQ - extreme compression, but very slow: lrztar -z path/to/directory

- Specify the output file: lrztar -o path/to/file path/to/directory

- Override the number of processor threads to use: lrztar -p 8 path/to/directory

- Force overwriting of existing files: lrztar -f path/to/directory

lsattr
List file attributes on a Linux filesystem

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

- Display the attributes of the files in the current directory: lsattr

- List the attributes of files in a particular path: lsattr path

- List file attributes recursively in the current and subsequent directories: lsattr -R

- Show attributes of all the files in the current directory, including hidden ones: lsattr -a

- Display attributes of directories in the current directory: lsattr -d

lsscsi
List SCSI devices (or hosts) and their attributes

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

- List all SCSI devices: lsscsi

- List all SCSI devices with detailed attributes: lsscsi -L

- List all SCSI devices with human-readable disk capacity: lsscsi -s

ltrace
Display dynamic library calls of a process

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

- Print (trace) library calls of a program binary: ltrace ./program

- Count library calls. Print a handy summary at the bottom: ltrace -c path/to/program

- Trace calls to malloc and free, omit those done by libc: ltrace -e malloc+free-@libc.so* path/to/program

- Write to file instead of terminal: ltrace -o file path/to/program

mdbook
Create online books by writing makrdown files

More information: https://rust-lang.github.io/mdBook/.

- Create a mdbook project in the current directory: mdbook init

- Create a mdbook project in a specific directory: mdbook init path/to/directory

- Clean the directory with the generated book: mdbook clean

- Serve a book at http://localhost:3000, auto build when file changes: mdbook serve

- Watch a set of Markdown files and automatically build when a file is changed: mdbook watch

Medusa
A modular and parallel login brute-forcer for a variety of protocols

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

- Execute brute force against an FTP server using a file containing usernames and a file containing passwords: medusa -M ftp -h host -U path/to/username_file -P path/to/password_file

- Execute a login attempt against an HTTP server using the username, password and user-agent specified: medusa -M HTTP -h host -u username -p password -m USER-AGENT:"Agent"

- Execute a brute force against a MySQL server using a file containing usernames and a hash: medusa -M mysql -h host -U path/to/username_file -p hash -m PASS:HASH

- Execute a brute force against a list of SMB servers using a username and a pwdump file: medusa -M smbnt -H path/to/hosts_file -C path/to/pwdump_file -u username -m PASS:HASH mke2fs Creates a Linux filesystem inside a partition

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

- Create an ext2 filesystem in partition 1 of device b (sdb1): mkfs.ext2 /dev/sdb1

- Create an ext3 filesystem in partition 1 of device b (sdb1): mkfs.ext3 /dev/sdb1

- Create an ext4 filesystem in partition 1 of device b (sdb1): mkfs.ext4 /dev/sdb1

mkswap
Sets up a Linux swap area on a device or in a file

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

- Setup a given partition as swap area: sudo mkswap /dev/sdb7

- Use a given file as swap area: sudo mkswap path/to/file

- Check a partition for bad blocks before creating the swap area: sudo mkswap -c /dev/sdb7

- Specify a label for the file (to allow swapon to use the label): sudo mkswap -L swap1 path/to/file

module
Modify a users' environment using the module command

More information: https://lmod.readthedocs.io/en/latest/010_user.html.

- Display available modules: module avail

- Search for a module by name: module spider module_name

- Load a module: module load module_name

- Display loaded modules: module list

- Unload a specific loaded module: module module_name

- Unload all loaded modules: module purge

mpstat
Report CPU statistics

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

- Display CPU statistics every 2 seconds: mpstat 2

- Display 5 reports, one by one, at 2 second intervals: mpstat 2 5

- Display 5 reports, one by one, from a given processor, at 2 second intervals: mpstat -P 0 2 5

newgrp
Switch primary group membership.

- Change user's primary group membership: newgrp group_name

- Reset primary group membership to user's default group in /etc/passwd: newgrp

nsnake
Snake game in the terminal

More information: https://github.com/alexdantas/nsnake/.

- Start a snake game: nsnake

- Navigate the snake: Up|Down|Left|Right arrow key

- Pause/unpause the game: p

- Quit the game: q

- Show help during the game: h

openrc
The OpenRC service manager.See also rc-status, rc-update, and rc-service

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

- Change to a specific runlevel: sudo openrc runlevel_name

- Change to a specific runlevel, but don't stop any existing services: sudo openrc --no-stop runlevel_name

pacaur
A utility for Arch Linux to build and install packages from the Arch User Repository.

- Synchronize and update all packages (includes AUR): pacaur -Syu

- Synchronize and update only AUR packages: pacaur -Syua

- Install a new package (includes AUR): pacaur -S package_name

- Remove a package and its dependencies (includes AUR packages): pacaur -Rs package_name

- Search the package database for a keyword (includes AUR): pacaur -Ss keyword

- List all currently installed packages (includes AUR packages): pacaur -Qs

pacman
Arch Linux package manager utility

More information: https://man.archlinux.org/man/pacman.8.

- Synchronize and update all packages: pacman --sync --refresh --sysupgrade

- Install a new package: pacman --sync package_name

- Remove a package and its dependencies: pacman --remove --recursive package_name

- Search the package database for a regular expression or keyword: pacman --sync --search "search_pattern"

- List installed packages and versions: pacman --query

- List only the explicitly installed packages and versions: pacman --query --explicit

- List orphan packages (installed as dependencies but not actually required by any package): pacman --query --unrequired --deps --quiet

- Empty the entire pacman cache: pacman --sync --clean --clean

parted
A partition manipulation program.See also: partprobe

More information: https://www.gnu.org/software/parted/parted.html.

- List partitions on all block devices: sudo parted --list

- Start interactive mode with the specified disk selected: sudo parted /dev/sdX

- Create a new partition table of the specified label-type: sudo parted --script /dev/sdX mklabel aix|amiga|bsd|dvh|gpt|loop|mac|msdos|pc98|sun

- Show partition information in interactive mode: print

- Select a disk in interactive mode: select /dev/sdX

- Create a 16 GB partition with the specified filesystem in interactive mode: mkpart primary|logical|extended btrfs|ext2|ext3|ext4|fat16|fat32|hfs|hfs+|linux-swap|ntfs|reiserfs|udf|xfs 0% 16G

- Resize a partition in interactive mode: resizepart /dev/sdXN end_position_of_partition

- Remove a partition in interactive mode: rm /dev/sdXN

pihole
Terminal interface for the Pi-hole ad-blocking DNS server

More information: https://pi-hole.net.

- Check the Pi-hole daemon's status: pihole status

- Update Pi-hole: pihole updatePihole

- Monitor detailed system status: pihole chronometer

- Start or stop the daemon: pihole enable|disable

- Restart the daemon (not the server itself): pihole restartdns

- Whitelist or blacklist a domain: pihole whitelist|blacklist example.com

- Search the lists for a domain: pihole query example.com

- Open a real-time log of connections: pihole tail

pkgadd
Add a package to a CRUX system.

- Install a local software package: pkgadd package_name

- Update an already installed package from a local package: pkgadd -u package_name

pmount
Mount arbitrary hotpluggable devices as a normal user

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

- Mount a device below /media/ (using device as mount point): pmount /dev/to/block/device

- Mount a device with a specific filesystem type to /media/label: pmount --type filesystem /dev/to/block/device label

- Mount a CD-ROM (filesystem type ISO9660) in read-only mode: pmount --type iso9660 --read-only /dev/cdrom

- Mount an NTFS-formatted disk, forcing read-write access: pmount --type ntfs --read-write /dev/sdX

- Display all mounted removable devices: pmount

pstree
A convenient tool to show running processes as a tree.

- Display a tree of processes: pstree

- Display a tree of processes with PIDs: pstree -p

- Display all process trees rooted at processes owned by specified user: pstree user

readpe
Displays information about PE files

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

- Display all information about a PE file: readpe path/to/executable

- Display all the headers present in a PE file: readpe --all-headers path/to/executable

- Display all the sections present in a PE file: readpe --all-sections path/to/executable

- Display a specific header from a PE file: readpe --header dos|coff|optional path/to/executable

- List all imported functions: readpe --imports path/to/executable

- List all exported functions: readpe --exports path/to/executable

reboot
Reboot the system

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

- Reboot the system: reboot

- Power off the system (same as poweroff): reboot --poweroff

- Halt the system (same as halt): reboot --halt

- Reboot immediately without contacting the system manager: reboot --force --force

- Write the wtmp shutdown entry without rebooting the system: reboot --wtmp-only

rename
Rename multiple files.NOTE: this page refers to the command from the util-linux package.For the Perl version, see file-rename or perl-rename.Warning: This command has no safeguards and will overwrite files without prompting.

- Rename files using simple substitutions (substitute 'foo' with 'bar' wherever found): rename foo bar *

- Dry-run - display which renames would occur without performing them: rename -vn foo bar *

- Do not overwrite existing files: rename -o foo bar *

- Change file extensions: rename .ext .bak *.ext

- Prepend "foo" to all filenames in the current directory: rename '' 'foo' *

- Rename a group of increasingly numbered files zero-padding the numbers up to 3 digits: rename foo foo00 foo? && rename foo foo0 foo??

rfkill
Enable and disable wireless devices.

- List devices: rfkill

- Filter by columns: rfkill -o ID,TYPE,DEVICE

- Block devices by type (e.g. bluetooth, wlan): rfkill block bluetooth

- Unblock devices by type (e.g. bluetooth, wlan): rfkill unblock wlan

- Output in JSON format: rfkill -J

rspamc
Command-line client for rspamd servers.

- Train the bayesian filter to recognise an email as spam: rspamc learn_spam path/to/email_file

- Train the bayesian filter to recognise an email as ham: rspamc learn_ham path/to/email_file

- Generate a manual report on an email: rspamc symbols path/to/email_file

- Show server statistics: rspamc stat

runcon
Run a program in a different SELinux security context.With neither context nor command, print the current security context

More information: https://www.gnu.org/software/coreutils/runcon.

- Determine the current domain: runcon

- Specify the domain to run a command in: runcon -t domain_t command

- Specify the context role to run a command with: runcon -r role_r command

- Specify the full context to run a command with: runcon user_u:role_r:domain_t command

sbatch
Submit a batch job to the SLURM scheduler.

- Submit a batch job: sbatch path/to/job.sh

- Submit a batch job with a custom name: sbatch --job-name=myjob path/to/job.sh

- Submit a batch job with a time limit of 30 minutes: sbatch --time=00:30:00 path/to/job.sh

- Submit a job and request multiple nodes: sbatch --nodes=3 path/to/job.sh

script
Make a typescript file of a terminal session.

- Start recording in file named "typescript": script

- Stop recording: exit

- Start recording in a given file: script logfile.log

- Append to an existing file: script -a logfile.log

- Execute quietly without start and done messages: script -q logfile.log

smbget
wget-like utility for downloading files from SMB servers

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

- Download a file from a server: smbget smb://server/share/file

- Download a share or directory recursively: smbget --recursive smb://server/share

- Connect with a username and password: smbget smb://server/share/file --user username%password

- Require encrypted transfers: smbget smb://server/share/file --encrypt

smbmap
SMB enumeration tool

More information: https://github.com/ShawnDEvans/smbmap.

- Display SMB shares and permissions on a host, prompting for user's password or NTLM hash: smbmap -u username --prompt -H ip

- Display SMB shares and permissions on a host, specifying the domain and passing the password NTLM hash: smbmap -u username --prompt -d domain -H ip

- Display SMB shares and list a single level of directories and files: smbmap -u username --prompt -H ip -r

- Display SMB shares and recursively list a defined number of levels of directories and files: smbmap -u username --prompt -H ip -R --depth 3

- Display SMB shares and recursively list directories and files, downloading the files matching a regular expression: smbmap -u username --prompt -H ip -R -A pattern

- Display SMB shares and recursively list directories and files, searching for file content matching a regular expression: smbmap -u username --prompt -H ip -R -F pattern

- Execute a shell command on a remote system: smbmap -u username --prompt -H ip -x command

- Upload a file to a remote system: smbmap -u username --prompt -H ip --upload source destination snake4 Snake game in the terminal

More information: https://manpages.debian.org/snake4/snake4.6.en.html.

- Start a snake game: snake4

- Choose level: 1|2|3|4|5

- Navigate the snake: Up|Down|Left|Right arrow key

- Pause game: Spacebar

- Quit game: q

- Show the high scores: snake4 --highscores

squeue
View the jobs queued in the SLURM scheduler.

- View the queue: squeue

- View jobs queued by a specific user: squeue -u username

- View the queue and refresh every 5 seconds: squeue -i 5

- View the queue with expected start times: squeue --start

strace
Troubleshooting tool for tracing system calls.

- Start tracing a specific process by its PID: strace -p pid

- Trace a process and filter output by system call: strace -p pid -e system_call_name

- Count time, calls, and errors for each system call and report a summary on program exit: strace -p pid -c

- Show the time spent in every system call: strace -p pid -T

- Start tracing a program by executing it: strace program

- Start tracing file operations of a program: strace -e trace=file program

stress
A tool to stress test CPU, memory, and IO on a Linux system.

- Spawn 4 workers to stress test CPU: stress -c 4

- Spawn 2 workers to stress test IO and timeout after 5 seconds: stress -i 2 -t 5

- Spawn 2 workers to stress test memory (each worker allocates 256M bytes): stress -m 2 --vm-bytes 256M

- Spawn 2 workers spinning on write/unlink (each worker writes 1G bytes): stress -d 2 --hdd-bytes 1GB

swapon
Enables device or file for swapping.

- Get swap information: swapon -s

- Enable a given swap partition: swapon /dev/sdb7

- Enable a given swap file: swapon path/to/file

- Enable all swap areas: swapon -a

- Enable swap by label of a device or file: swapon -L swap1

sysctl
List and change kernel runtime variables.

- Show all available variables and their values: sysctl -a

- Set a changeable kernel state variable: sysctl -w section.tunable=value

- Get currently open file handlers: sysctl fs.file-nr

- Get limit for simultaneous open files: sysctl fs.file-max

- Apply changes from /etc/sysctl.conf: sysctl -p

thunar
Graphical file manager for XFCE desktop environments

More information: https://docs.xfce.org/xfce/thunar/start.

- Open a new window showing the current directory: thunar

- Open the bulk rename utility: thunar --bulk-rename

- Close all open thunar windows: thunar --quit

toilet
A tool to display ASCII-art fonts

More information: http://caca.zoy.org/wiki/toilet.

- Generate ASCII art for a given text: toilet input_text

- Generate ASCII art using a custom font file: toilet input_text -f font_filename

- Generate ASCII art using a filter: toilet input_text --filter filter_name

- Show available toilet filters: toilet --filter list

trizen
Arch Linux utility for building packages from the Arch User Repository (AUR)

More information: https://github.com/trizen/trizen.

- Synchronize and update all AUR packages: trizen -Syua

- Install a new package: trizen -S package

- Remove a package and its dependencies: trizen -Rs package

- Search the package database for a keyword: trizen -Ss keyword

- Show information about a package: trizen -Si package

- List installed packages and versions: trizen -Qe

tshark
Packet analysis tool, CLI version of Wireshark

More information: https://tshark.dev/.

- Monitor everything on localhost: tshark

- Only capture packets matching a specific capture filter: tshark -f 'udp port 53'

- Only show packets matching a specific output filter: tshark -Y 'http.request.method == "GET"'

- Decode a TCP port using a specific protocol (e.g. HTTP): tshark -d tcp.port==8888,http

- Specify the format of captured output: tshark -T json|text|ps|…

- Select specific fields to output: tshark -T fields|ek|json|pdml -e http.request.method -e ip.src

- Write captured packet to a file: tshark -w path/to/file

- Analyze packets from a file: tshark -r filename.pcap

upower
System utility to provide power and battery information and statistics

More information: https://upower.freedesktop.org/docs/upower.1.html.

- Display power and battery information: upower --dump

- List all power devices: upower --enumerate

- Watch for and print power status changes: upower --monitor

- Watch for and print detailed power status changes: upower --monitor-detail

- Display version: upower --version

vgscan
Scan for volume groups on all supported Logical Volume Manager (LVM) block devices.See also lvm, vgchange

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

- Scan for volume groups and print information about each group found: sudo vgscan

- Scan for volume groups and add the special files in /dev, if they don't already exist, needed to access the logical volumes in the found groups : sudo vgscan --mknodes

vmstat
Report information about processes, memory, paging, block IO, traps, disks and CPU activity

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

- Display virtual memory statistics: vmstat

- Display reports every 2 seconds for 5 times: vmstat 2 5

vnstat
A console-based network traffic monitor.

- Display traffic summary for all interfaces: vnstat

- Display traffic summary for a specific network interface: vnstat -i eth0

- Display live stats for a specific network interface: vnstat -l -i eth0

- Show traffic statistics on an hourly basis for the last 24 hours using a bar graph: vnstat -hg

- Measure and show average traffic for 30 seconds: vnstat -tr 30

whatis
Display one-line descriptions from manual pages.

- Display a description from a man page: whatis command

- Don't cut the description off at the end of the line: whatis --long command

- Display descriptions for all commands matching a glob: whatis --wildcard net*

- Search man page descriptions with a regular expression: whatis --regex 'wish[0-9]\.[0-9]'

wipefs
Wipe filesystem, raid, or partition-table signatures from a device.

- Display signatures for specified device: sudo wipefs /dev/sdX

- Wipe all available signatures for specified device: sudo wipefs --all /dev/sdX

- Perform dry run: sudo wipefs --all --no-act /dev/sdX

- Force wipe, even if the filesystem is mounted: sudo wipefs --all --force /dev/sdX

wmctrl
CLI for X Window Manager.

- List all windows, managed by the window manager: wmctrl -l

- Switch to the first window whose (partial) title matches: wmctrl -a window_title

- Move a window to the current workspace, raise it and give it focus: wmctrl -R window_title

- Switch to a workspace: wmctrl -s workspace_number

- Select a window and toggle fullscreen: wmctrl -r window_title -b toggle,fullscreen

- Select a window a move it to a workspace: wmctrl -r window_title -t workspace_number x11vnc A VNC server that will enable VNC on an existing display server.By default, the server will automatically terminate once all clients disconnect from it.

- Launch a VNC server that allows multiple clients to connect: x11vnc -shared

- Launch a VNC server in view-only mode, and which won't terminate once the last client disconnects: x11vnc -forever -viewonly

- Launch a VNC server on a specific display and screen (both starting at index zero): x11vnc -display :display.screen

- Launch a VNC server on the third display's default screen: x11vnc -display :2

- Launch a VNC server on the first display's second screen: x11vnc -display :0.1

xclock
Display the time in analog or digital form.

- Display an analog clock: xclock

- Display a 24-hour digital clock with the hour and minute fields only: xclock -digital -brief

- Display a digital clock using an strftime format string (see strftime(3)): xclock -digital -strftime format

- Display a 24-hour digital clock with the hour, minute and second fields that updates every second: xclock -digital -strftime '%H:%M:%S' -update 1

- Display a 12-hour digital clock with the hour and minute fields only: xclock -digital -twelve -brief

xinput
List available input devices, query information about a device and change input device settings.

- List all input devices: xinput list

- Disable an input: xinput disable id

- Enable an input: xinput enable id

- Disconnect an input from its master: xinput float id

- Reattach an input as slave to a master: xinput reattach id master_id

- List settings of an input device: xinput list-props id

- Change a setting of an input device: xinput set-prop id setting_id value

xmount
Convert on-the-fly between multiple input and output hard disk image types with optional write cache support.Creates a virtual file system using FUSE (Filesystem in Userspace) that contains a virtual representation of the input image

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

- Mount a .raw image file into a DMG container file: xmount --in raw path/to/image.dd --out dmg mountpoint

- Mount an EWF image file with write-cache support into a VHD file to boot from: xmount --cache path/to/cache.ovl --in ewf path/to/image.E?? --out vhd mountpoint

- Mount the first partition at sector 2048 into a new .raw image file: xmount --offset 2048 --in raw path/to/image.dd --out raw mountpoint

xrandr
Set the size, orientation and/or reflection of the outputs for a screen.

- Display the current state of the system (known screens, resolutions, ...): xrandr --query

- Disable disconnected outputs and enable connected ones with default settings: xrandr --auto

- Change the resolution and update frequency of DisplayPort 1 to 1920x1080, 60Hz: xrandr --output DP1 --mode 1920x1080 --rate 60

- Set the resolution of HDMI2 to 1280x1024 and put it on the right of DP1: xrandr --output HDMI2 --mode 1280x1024 --right-of DP1

- Disable the VGA1 output: xrandr --output VGA1 --off

- Set brightness for LVDS1 to 50%: xrandr --output LVDS1 --brightness 0.5

- See display hardware information: xrandr -q

yaourt
Arch Linux utility for building packages from the Arch User Repository.

- Synchronize and update all packages (including AUR): yaourt -Syua

- Install a new package (includes AUR): yaourt -S package_name

- Remove a package and its dependencies (includes AUR packages): yaourt -Rs package_name

- Search the package database for a keyword (including AUR): yaourt -Ss package_name

- List installed packages, versions, and repositories (AUR packages will be listed under the repository name 'local'): yaourt -Q

yetris
Clone of the game Tetris in the terminal

More information: https://github.com/alexdantas/yetris.

- Start a Tetris game: yetris

- Navigate the piece horizontally: Left|Right arrow key

- Rotate the piece clockwise or counterclockwise: x|z

- Hold a piece (only one allowed at a time): c

- Soft drop the piece: Down arrow key

- Hard drop the piece: Spacebar

- Pause/unpause the game: p

- Quit the game: q

zenity
Display dialogs from the command-line/shell scripts.Return user-inserted values or 1 if error.

- Display the default question dialog: zenity --question

- Display an info dialog displaying the text "Hello!": zenity --info --text="Hello!"

- Display a name/password form and output the data separated by ";": zenity --forms --add-entry="Name" --add-password="Password" --separator=";"

- Display a file selection form in which the user can only select directories: zenity --file-selection --directory

- Display a progress bar which updates its message every second and show a progress percent: (echo "#1"; sleep 1; echo "50"; echo "#2"; sleep 1; echo "100") | zenity --progress

zypper
SUSE & openSUSE package management utility

More information: https://en.opensuse.org/SDB:Zypper_manual.

- Synchronize list of packages and versions available: zypper refresh

- Install a new package: zypper install package

- Remove a package: zypper remove package

- Upgrade installed packages to the newest available versions: zypper update

- Search package via keyword: zypper search keyword

- Show information related to configured repositories: zypper repos --sort-by-priority