Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/adtac/climate

The swiss-army knife of utility tools for Linux.
https://github.com/adtac/climate

bash command-line developer-tools linux shell zsh

Last synced: 5 days ago
JSON representation

The swiss-army knife of utility tools for Linux.

Awesome Lists containing this project

README

        

# Climate

![image](https://i.imgur.com/Vgca4yS.png)

**Climate** is the ultimate command line tool for Linux. It
provides a huge number of command line options for developers to
automate their Linux system. This tool can be extremely helpful to
learn various unix commands too. There is an option to print each
command before they're executed to help you memorize them over time.

## Installation

Clone the repository and run the `install` command:

```bash
$ git clone https://github.com/adtac/climate.git
$ cd climate
$ sudo ./install
```

The default location is `/usr/local/bin/`. If you want to write to a
different location, you can give an argument to the install command.

```bash
$ ./install [location]
```

You can also install using `curl` (although note that this
[might be insecure](https://www.seancassidy.me/dont-pipe-to-your-shell.html))

```bash
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/adtac/climate/master/install)"
```

Using `wget`:

```bash
$ bash -c "$(wget https://raw.githubusercontent.com/adtac/climate/master/install -q -O -)"
```

And that's it! It should automatically look for dependencies and install them.
After that's done, run `climate` to see the whole list of commands supported.

## Requirements

`climate` has the following dependencies:

```
upower wget curl rar unzip 7z dig git python pip node npm fdupes glances speedtest sensors sshfs http-server httpstat is-up
```

The installation command should automatically install these for `apt`-based systems
and `yum`-based systems (and of course, `dnf`). For others, please install them manually.

## Commands

`climate` has command autocompletion. So don't worry, you don't need to
remember all this. Also, you can just execute `climate help` to display
this list of commands.

Command | Description
--- | ---
`climate help` | show this help and exit
`climate update` | update your climate install
`climate uninstall` | uninstall climate :(
`climate version` | display the version and credits

|
`climate weather [location]` | get the weather

|
`climate battery` | display remaining battery
`climate sleep` | put computer to sleep
`climate lock` | lock computer
`climate shutdown [minutes]` | shutdown the computer
`climate restart` | restart the computer
`climate time` | show the time
`climate clock [remove]` | put a console clock in the top right corner
`climate countdown ` | a countdown timer
`climate stopwatch` | a stopwatch
`climate ix` | pipe output to ix.io

|
`climate biggest-files [path]` | find the biggest files recursively
`climate biggest-dirs [path]` | find the biggest directories
`climate dir-size [path]` | find directory size
`climate remove-empty-dirs [path]` | remove empty directories
`climate extract [path]` | extract any given archive
`climate search [ext]` | search for the given pattern recursively
`climate find-duplicates [path]` | report duplicate files in a directory
`climate count ` | count the number of occurences
`climate replace [ext]` | replace all occurences
`climate monitor ` | monitor file for changes
`climate ramfs ` | create a ramfs of size (in MB) at path

|
`climate speedtest` | test your network speed
`climate local-ip` | retrieve your local ip address
`climate is-online` | verify if you're online
`climate public-ip` | retrieve your public ip address
`climate ports` | list open ports
`climate hosts` | edit the hosts file
`climate http-server [port]` | http-server serving the current directory
`climate is-up ` | determine if server is up
`climate httpstat ` | visualizes curl statistics with httpstat
`climate ipinfo [ip]` | lookup IP with ipinfo.io API

|
`climate download-file ` | download file from server
`climate download-dir ` | download dir from server
`climate upload ` | upload to server
`climate ssh-mount ` | mount a remote path
`climate ssh-unmount ` | unmount a ssh mount

|
`climate undo-commit` | undo the latest commit
`climate reset-local` | reset local repo to match remote
`climate pull-latest` | sync local with remote
`climate list-branches` | list all branches
`climate repo-size` | calculate the repo size
`climate user-stats ` | calculate total contribution for a user

|
`climate overview` | display an performance overview
`climate memory` | find memory used
`climate disk` | find disk used
`climate get-pids ` | get all PIDs for a process name
`climate trash-size` | find the trash size
`climate empty-trash` | empty the trash

## License

```
Climate - command line tools for Linux developers
Copyright (C) 2016 Adhityaa Chandrasekar

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see .
```

See the [LICENSE](LICENSE) file for more details.