https://github.com/chaseofthejungle/bash-commands
Bash commands and keyboard shortcuts for bash, GNU nano, and Vim.
https://github.com/chaseofthejungle/bash-commands
bash bash-commands bash-scripting bash-scripts linux
Last synced: about 1 month ago
JSON representation
Bash commands and keyboard shortcuts for bash, GNU nano, and Vim.
- Host: GitHub
- URL: https://github.com/chaseofthejungle/bash-commands
- Owner: chaseofthejungle
- Created: 2024-09-25T13:57:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-12T06:43:44.000Z (10 months ago)
- Last Synced: 2025-02-12T07:49:40.896Z (10 months ago)
- Topics: bash, bash-commands, bash-scripting, bash-scripts, linux
- Homepage:
- Size: 115 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# bash commands and shortcuts
*Note: If in need of a lightweight Linux distro, consider [Xubuntu](https://xubuntu.org/tour/). An online Fedora 33 bash emulator can also be found at [bellard.org/jslinux](https://bellard.org/jslinux/), although it does not contain all of the commands in this repository. For some sample bash networking scripts, see [this repo](https://github.com/chaseofthejungle/bash-networking-scripts).*
#### Table of Contents
1. [bash Commands](#bash-cmds)
2. [bash keyboard Shortcuts](#bash-keys)
3. [Nano Keyboard Shortcuts](#nano-keys)
## 1. [bash](https://www.gnu.org/software/bash/) Commands
| Command | Purpose | Category |
| --- | --- | --- |
| **apt-get** | Package managing utility, such as for adding, removing, and updating packages. | Packages |
| **awk** | [see 'gawk' command] Original interpreter of the AWK programming language. | Text |
| **blkid** | Locates and prints block device attributes. | Drives/Devices |
| **cat** | Concatenates files. Prints using standard output stream. | Text |
| **cd** | Changes directory. | Files/Directories |
| **chgrp** | Changes group ownership association. | Permissions |
| **chmod** | Changes file permissions for users, groups, and others. | Permissions |
| **chown** | Changes file owner and group owner. | Permissions |
| **compress** | Reduces file size using Lempel-Ziv algorithmic logic. | Compression |
| **cp** | Copies files and directories as specified. | Files/Directories |
| **cpio** | Copies files in and out of archives via copy-in and copy-out modes. | Compression |
| **cron** | Executes/runs commands as scheduled. | Processes |
| **curl** | Utility to transfer data (URL) to/from a server. | Data Transfer |
| **cut** | Removes specified sections from each text input line. | Files/Directories |
| **dd** | Copies and converts files, and can backup disks. | Files/Directories |
| **df** | Displays 'disk free'/space usage of filesystems. | Drives/Devices |
| **diff** | Performs a line-by-line comparison of files. | Files/Directories |
| **dnf** | 'Dandified YUM'. Package manager for Fedora, RHEL, and CentOS. | Packages |
| **du** | Displays disk space usage for directories and files. | Drives/Devices |
| **echo** | Displays strings using standard output stream. | Text |
| **exit** | Invokes normal termination of process/task. | Processes |
| **fdisk** | Utility for creating and modifying partition tables. | Drives/Devices |
| **file** | Returns file data type. | Files/Directories |
| **find** | Scans directory hierarchy for files. | Files/Directories |
| **ftp** | Enables usage of File Transfer Protocol. | Data Transfer |
| **gawk** | [see 'awk' command] The GNU implementation (for scanning and processing) of the AWK pattern programming language in GNU. | Text |
| **getfacl** | Retrieves file names, owners, group owners, and Access Control List permissions. | Permissions |
| **grep** | Searches input files for lines that match a specified pattern. | Text |
| **gunzip** | Decompresses files generated by zip, gzip, compress, and pack. | Compression |
| **gzip** | Reduces file size using the LZ77 lossless compression algorithm. | Compression |
| **head** | Outputs first lines of file (10 by default). | Text |
| **history** | (The GNU history command) Recalls commands previously entered in session. | Processes |
| **hwinfo** | Displays information about system hardware. | Drives/Devices |
| **kill** | Sends terminate signal to process/task. | Processes |
| **less** | [see 'more' command] plus enables user to scroll backwards. | Text |
| **locate** | Retrieves file (by file name). | Files/Directories |
| **ln** | Creates links between files. | Files/Directories |
| **ls** | Displays (lists) the contents of a specified directory. | Files/Directories |
| **lsblk** | Displays information about block devices. | Drives/Devices |
| **make** | Automation tool for recompiling parts of large programs by using makefiles. | Files/Directories |
| **man** | Documentation for commands, functions, system calls, and other features. | Documentation |
| **mkdir** | Creates directories. | Files/Directories |
| **more** | Allows for paging through text output one screen at a time. | Text |
| **mount** | Attaches file system of a drive to a target directory. | Drives/Devices |
| **mv** | Moves/renames files (similar to a cut/paste of files). | Files/Directories |
| **nano** | Launches the GNU nano text editor. | Text |
| **parted** | Partitions and resizes disks. | Drives/Devices |
| **patch** | Modifies file based on source (patch) file instructions produced by the diff utility. | Text |
| **ping** | Sends an ICMP ECHO_REQUEST datagram to a specified destination. | Drives/Devices |
| **ps** | Displays a report on currently running tasks/processes. | Processes |
| **pwd** | Prints working directory to standard output stream. | Files/Directories |
| **rm** | Deletes files or directories. | Files/Directories |
| **rpm** | The Red Hat Packet Manager, commonly used in Red Hat distributions such as CentOS and Fedora. | Packages |
| **rmdir** | Deleted empty directories. | Files/Directories |
| **rsync** | A high-speed utility for remote file copying. | Data Transfer |
| **scp** | Uses ssh data transfer and authentication for remote file copying. | Data Transfer |
| **sed** | Filters and modifies input stream text. | Text |
| **setfacl** | Sets Access Control List permissions for files and directories. | Permissions |
| **sftp** | Enables usage of a secure file transfer protocol using SSH transport encryption. | Data Transfer |
| **sort** | Arranges lines of text for display via the standard output stream. | Text |
| **ssh** | Launches the SSH remote communication protocol. | Data Transfer |
| **sudo** | Allows user to execute commands as the superuser (or another user). | Permissions |
| **tail** | Outputs last lines of file (10 by default). | Text |
| **tac**| Concatenates files. Prints (in reverse) using standard output stream. | Text |
| **tar** | Creates compressed files as a single disk archive or tape, and extracts compressed files. | Compression |
| **tee** | Reads from input stream and writes to output stream/files. | Text |
| **telnet** | Launches user interface for the TELNET remote communication protocol. | Data Transfer |
| **top** | Provides a realtime display of running tasks. | Processes |
| **touch** | Creates blank files and updates file timestamps. | Files/Directories |
| **umount** | Unattaches file system of a drive from a directory. | Drives/Devices |
| **uncompress** | Decompresses files that were compressed by the compress utility. | Compression |
| **uniq** | Detects and omits repeated adjacent lines. | Text |
| **unzip** | [see 'zip' command] Unpackages ZIP files. | Compression |
| **vi** | Launches the vi text editor. | Text |
| **wc** | Outputs byte, word, and newline counts for files. | Text |
| **wget** | HTTPS, HTTPS, and FTP utility for non-interactive web downloads. | Data Transfer |
| **whereis** | Locates manuals and sources/binaries for files. | Files/Directories |
| **which** | Displays absolute path of shell commands. | Files/Directories |
| **xz** | Compresses/decompresses .lzma and .xz files. | Compression |
| **yum** | 'Yellowdog Updater Modified'. A Red Hat based Package Manager. | Packages |
| **zcat** | Displays contents of a compressed file to the command line. | Compression |
| **zip** | Compresses/archives and packages files. PKZIP compatible. | Compression |
## 2. [bash](https://www.gnu.org/software/bash/) Keyboard Shortcuts
| Shortcut | Purpose |
| --- | --- |
| `!!` | Runs the Previous Command |
| `CTRL + C` | Terminates a Command Process |
| `CTRL + L` | Clears the Terminal Screen |
| `CTRL + Z` | Stops (Suspends) a Command Process |
## 3. [Nano](https://www.nano-editor.org/dist/latest/faq.html) Keyboard Shortcuts
| Shortcut | Purpose | Category |
| --- | --- | --- |
| `Ctrl + O` | Writes File with Specified Name | File Operations |
| `Ctrl + R` | Inserts Contents of a File | File Operations |
| `Ctrl + S` | Saves File | File Operations |
| `Ctrl + X` | Exits Nano Editor | File Operations |
**TODO #1:** Add a text file for each command, each including use cases and options/arguments.
**TODO #2:** Add keyboard shortcuts lists for bash terminal, Nano, and vim.