Girl Develop It is here to provide affordable and accessible programs to learn software through mentorship and hands-on instruction.
Some "rules"
Tell us about yourself.
It's a operating system/group of software
A way to interact between hardware and software
Examples: Windows, OS X, Solaris
A grouping of software often
Examples: Debian, Ubuntu, CentOS, Fedora, Gentoo, FreeBSD
What makes them different?
Free as in Speech, Free as in beer (~Stallman)
Software built by open source communities: Linux (all distros), Apache, Mysql, Firefox, Python
As a dev box
As a platform for applications you write
Embedded systems
Open Terminal
ssh user@ip
Download and install putty
Type in ip/hostname, click open
l vs ls
ls vs ls -al
Press tab once
Press it twice
two types of users, regular and super
Best practice is to live as regular
And elevate to superuser only when need
sudo = super user do
Man Pages
Example:
man ls
Searching the internet
ls
cd #{name}
Example:
cd gdi
directories that start with a "." are hidden from ls
mkdir #{name}
ls
mkdir gdi
ls
rm -r #{name}
rm -rf gdi
/home/#{user}
/etc/
/tmp/
cat #{filename}
nano #{filename}
ctl+x
vim #{filename}
Modes??!??
`i` to type
esc :wq to 'write' and 'quit'
A common workflow is to setup autosyncing and edit on your box
Can also be used with git/hg/svn/etc
ls -al
chown
Read/Write/Execute
chmod
Example:
chmod +r gdi
1 = execute
2 = write
4 = read
Killer feature
Different for each distro
sudo apt-get install #{package}
Example:
sudo apt-get install sublime
sudo yum install #{package}
Why prefer the package manager to source?
Why may you need to install from source?
programs settings
programs settings
ping madeupurl
Example:
ping google.com
/var/log
can be configured
./
Favorite text editor
cat, less, more
tail -f
thing=foo
export thing=foo
sets for everyone on system
PATH
HOME aka ~
echo $PATH
define them in line
keeping them around
Setting/changing Path
Setting/changing other Env Variables
#!/bin/bash
ls * vs ls test*
dealing with bad wifi
multiuser
running perodic jobs, like backups
&
fg
Making Websites (HTML/Javascript/CSS/python)
Automatically making linux boxes (chef)
Other