

Ask HN: What is the best way to get good at linux shell commands? - brenfrow

Specifically I'm a web developer that wants to setup databases, and servers, etc, but feels totally inept for someone who has been doing web development for so long.
======
dylanhassinger
1) start using Git and Github for all your projects. This will force you to
get good at command line basics

2) Make your own dotfiles with shortcuts. Here's mine:

<http://github.com/dylanized/dotfiles>

3) Get a VPS server and set it up. This will require you to learn a little bit
of everything - FTP, web server install, libraries, more. I'm doing this now,
it's a bitch!

Here's a great VPS deal I found recently, I'm setting mine up now:

[http://slickdeals.net/f/5915440-StillGoing-
ChicagoVPS-2048MB...](http://slickdeals.net/f/5915440-StillGoing-
ChicagoVPS-2048MB-RAM-50GB-Disk-2TB-Bandwidth-2x-IP-
address-40or-30-year-4-Location-Choices)

~~~
jyu
What kinds of guides did you find helpful set up a VPS?

~~~
dylanhassinger
I am just googling things as I have to tackle them. So far it's been:

\- install git and hub

\- install node, npm, and nvm

\- create a new user for sftp access

\- give write permissions to that new user and set up my ssh keys

\- set up static file server, virtual hosts, etc (haven't gotten to this yet)

For a Lamp stack, that last bullet would be "install apache, php and mysql"...

------
SoftwareMaven
Cmmandline Fu[1] is a good place to start to see the possibilities; then,
start forcing yourself to solve daily problems on the command line that you
might either solve using a scripting language or solve by manual repetition.

Working on the command line is just like writing any other software. You have
to think about what you are trying to do, and decide how you will accomplish
it. As you think "what do I need to do next", Google is your friend for
finding the obscure command to accomplish the task.

Repeat every working day until you aren't going to Google.

1\. <http://www.commandlinefu.com/commands/browse>

~~~
aktau
Thanks for making me lose about an hour of work!

------
DivisibleByZero
I'm not sure about books, but I can offer a bit of advice.

Try and get a friend who is good at Linux. Standing over the shoulder and
watching someone using Bash, vim, etc helps a lot. I share some tidbit of
system usage almost daily with my roommate and its done wonders for me.

~~~
test001only
I once tried doing this. My colleague was very good at vim and I though I will
watch him use it. It just left me very demotivated. The speed with which he
was doing things - I could not keep up. At least for me it is better to learn
at my own pace and forcing my self to use it again and again until I am
comfortable.

------
Skoofoo
<http://linuxcommand.org/tlcl.php>

