Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/san-kumar/howdoi
Get quick answers to common linux related questions, right inside your terminal by typing "howdoi [your question]".
https://github.com/san-kumar/howdoi
Last synced: 3 months ago
JSON representation
Get quick answers to common linux related questions, right inside your terminal by typing "howdoi [your question]".
- Host: GitHub
- URL: https://github.com/san-kumar/howdoi
- Owner: san-kumar
- Created: 2020-05-18T21:23:42.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-23T19:21:32.000Z (over 3 years ago)
- Last Synced: 2024-04-14T13:11:45.816Z (7 months ago)
- Language: PHP
- Homepage:
- Size: 3.92 MB
- Stars: 435
- Watchers: 15
- Forks: 28
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# howdoi
Get quick answers to common linux related questions, right inside your terminal by typing
"howdoi [your question]".## Screenshot
![screenshot](./screenshot.gif)
## Examples
### Quick answer
````shell script
$ howdoi extract a bz2 file-j, --bzip2
filter the archive through bzip2
tar -xvjf enginsxt.tar.bz2
Source: https://askubuntu.com/questions/707861/how-to-extract-tar-bz2
````### Verbose output
````shell script
$ howdoi -v add a program to cronPut a shell script in one of these folders: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly or /etc/cron.weekly.
If these are not enough for you, you can add more specific tasks e.g. twice a month or every 5 minutes. Go to the terminal and type:
crontab -e
...snip
Source: https://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
````### Multiple results
````shell script
$ howdoi -n 2 attach to a screenscreen
screen -S myprogramrunningunderscreen
screen -lsThere are screens on:
4964.myprogramrunningunderscreen (05/31/2013 09:42:29 PM) (Detached)
4874.pts-1.creeper (05/31/2013 09:39:12 PM) (Detached)Source: https://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
screen -d -r
Source: https://askubuntu.com/questions/302662/reattaching-to-an-existing-screen-session
````### Programming questions
````shell script
$ howdoi js hex to int
hexString = yourNumber.toString(16);
yourNumber = parseInt(hexString, 16);
Source: https://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hexadecimal-in-javascript
````## Usage
howdoi [-n -v -h -i] -- question-n Number of results (default is 1)
-v Show full answer (otherwise shows only code)
-i Interactive or REPL mode (useful for hotkey binding)
-h Shows this help## Installation
Just run the following commands (requires PHP 5+).
````shell script
$ mkdir -p ~/bin && wget https://raw.githubusercontent.com/san-kumar/howdoi/master/howdoi -O ~/bin/howdoi && chmod +x ~/bin/howdoi
$ sudo ln -s ~/bin/howdoi /usr/local/bin/howdoi$ howdoi check my linux version
````## Interactive or Popup mode
It is possible to run this outside the terminal interactively via a hotkey binding. It
can also handle simple programming related questions too.![popup](./popup.gif)
(you can ask questions in a popup too by pressing a hotkey - as described below)
### Setup hotkey binding
- Copy [popup.sh](./popup.sh) in your `~/bin` folder (or the folder in which you've downloaded *howdoi* script)
- Run `chmod +x ~/bin/popup.sh`
- Go to *Settings > Keyboard > Shortcuts* and add a new shortcut to `~/bin/popup.sh`
- Assign a hotkey (e.g. Ctrl+Shift+H) to your new shortcut.
- Now press the hotkey and you should see a popup where you can type your question!## Feedback
Hopefully it will save you some time and makes your life easier. If so, please share it with your friends and give me [feedback here](https://news.ycombinator.com/item?id=23230157#23230181).
Thank you everyone who encouraged me and voted for this project on Hacker news. Seeing comments like
these really makes the work I've put into it worth it and now I want to make more such projects![![testimonial 1](./testimonial-1.png)](https://news.ycombinator.com/item?id=23230157)
[![testimonial 2](./testimonial-2.png)](https://www.reddit.com/r/linux/comments/gn2wfv/howdoi_get_quick_answers_to_common_linux_related/)
## Caveats- It's just a quick hack to save you a few clicks. I wrote this in just a few hours, so it's not perfect.
- Right now, it prefers Ubuntu solutions over other linux distros.
- Just to clarify this only prints the answer, it does not run any code on your machine (in case the screenshot gives you the wrong impression).## Licence
Perl's Artistic Licence