Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tim0n3/lazy-bash
This is lazy-bash. I made this because I was tired to using the long commands required to administer linux systems. It's designed to be modular and extensible, making it simple for customizations to streamline common tasks
https://github.com/tim0n3/lazy-bash
bash bashrc-configs bashrc-enhance debian-linux
Last synced: about 1 month ago
JSON representation
This is lazy-bash. I made this because I was tired to using the long commands required to administer linux systems. It's designed to be modular and extensible, making it simple for customizations to streamline common tasks
- Host: GitHub
- URL: https://github.com/tim0n3/lazy-bash
- Owner: tim0n3
- License: gpl-3.0
- Created: 2024-01-15T17:51:42.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-08-15T20:07:09.000Z (5 months ago)
- Last Synced: 2024-10-13T17:42:09.565Z (3 months ago)
- Topics: bash, bashrc-configs, bashrc-enhance, debian-linux
- Language: Shell
- Homepage:
- Size: 321 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# lazy-bash
This is lazy-bash. I made this because I was tired of using the long commands required to administer linux systems. It's designed to be modular and extensible, making it simple for customizations to streamline common tasks- [Features](#features)
- [Prompt Customization](#prompt-customization)
- [Aliases for Common Commands](#aliases-for-common-commands)
- [Network Administration Aliases](#network-administration-aliases)
- [System Information Aliases](#system-information-aliases)
- [Package Management Aliases](#package-management-aliases)
- [File Management Aliases](#file-management-aliases)
- [Archive Management Aliases](#archive-management-aliases)
- [Custom Functions](#custom-functions)
- [Logging and Analysis Commands](#logging-and-analysis-commands)
- [System Information Display on Shell Startup](#system-information-display-on-shell-startup)
- [Help Command](#help-command)
- [Installation](#installation)
- [Dependencies](#dependencies)
- [New method](#new-method)
- [Old method](#old-method)## Features
### Prompt Customization
- The prompt displays the current user, host, and working directory.
- Colored prompt for better visibility.### Aliases for Common Commands
- `ls` aliases for color-coded listing (`ls --color=auto`), detailed listing (`ll`), and showing all files (`la`).
- Additional system administration aliases for package management (`update`, `install`, `remove`, `purge`, `autoremove`, `search`), editing `.bashrc` (`editbash`), and reloading `.bashrc` (`reloadbash`).### Network Administration Aliases
- `ipinfo`: Shows public IP information.
- `netstatl`: Lists all listening ports.### System Information Aliases
- `cpuinfo`: Displays CPU information.
- `meminfo`: Displays memory information.
- `diskinfo`: Displays disk space information.### Package Management Aliases
- `showpackages`: Shows installed packages.
- `showfiles`: Shows files installed by a package.
- `showsize`: Shows installed package sizes.
- `upgrades`: Shows available package upgrades.
- `fullupdate`: Upgrades packages, including kernel packages.### File Management Aliases
- `filesearch`: Searches for files by name.
- `bigfiles`: Lists the largest files in the current directory.
- `showhidden`: Shows hidden files and directories.
- `editfile`: Opens a text file for editing with Vim.### Archive Management Aliases
- `extract`: Extracts files from a tar.gz archive.
- `compress`: Creates a tar.gz archive.### Custom Functions
- `restartservice`: Restarts a systemd service.
- `startservice`: Starts a systemd service.
- `stopservice`: Stops a systemd service.
- `findfile`: Finds a file by name.### Logging and Analysis Commands
- `viewsyslogs`: Views system logs.
- `viewapplogs `: Views specific application logs.
- `viewrebootlogs`: Views reboot logs.
- `viewwarninglogs`: Views warning logs.
- `viewerrorlogs`: Views error logs.
- `viewauthlogs`: Views authentication logs.### System Information Display on Shell Startup
- Displays system information including neofetch output, IP address, CPU load, uptime, and last reboot state when starting an interactive shell.### Help Command
- `help`: Displays a comprehensive help message explaining all aliases and functions.## Installation
Before using the installation script, make sure you have the following dependencies installed:
### Dependencies
- **curl**: Used to download the customized `.bashrc` file from a GitHub raw link.
- **neofetch**: Displays system information when starting an interactive shell.
- **iptables**: Manages the netfilter firewall rules for IPv4.
- **netstat**: Displays network connections, routing tables, interface statistics, masquerade connections, and multicast memberships.
- **gnuplot**: Generates system load graphs for the last 5, 10, and 15 minutes.Ensure these dependencies are installed using your system's package manager. For example, on a Debian-based system, you can install them using the following commands:
```bash
sudo apt-get install curl neofetch iptables net-tools gnuplot
```## New method:
- Ensure you are in your `$HOME` folder by typing `cd` and pressing `return`
- Verify your location by then typing `pwd` and pressing `return`. It should show your current directory as `/home/`
- Then proceed to run the following command.```bash
bash <(curl -sSL https://raw.githubusercontent.com/tim0n3/lazy-bash/main/binfiles/setup.sh)
```## Old method
After ensuring that all dependencies are installed, you can use the provided installation script:
To install this customized `.bashrc` configuration, you can paste the following script in your terminal or run it from a file:
```bash
#!/bin/bashfunction newbashrc() {
# GitHub raw link to the file you want to append
github_raw_link="https://raw.githubusercontent.com/tim0n3/lazy-bash/main/bashrc"# Local path to the .bashrc file
bashrc_path="$HOME/.bashrc"# Download the file from the GitHub raw link
content=$(curl -sSL "$github_raw_link")# Check if the download was successful
if [ -n "$content" ]; then
# Append the contents to the .bashrc file
echo -e "\n# Appended from $github_raw_link\n$content" >> "$bashrc_path"
echo "Contents appended to $bashrc_path"
else
echo "Failed to download the file from $github_raw_link"
fi
}# Run the installation script
newbashrc
```Feel free to customize the aliases, functions, and settings to suit your preferences and workflow.