Lesson 3: Docs & Communication
Homepage | Content | Slides | Video |
Warning
This lesson is under construction. Learn from it at your own risk. If you have any feedback, please fill out our General Feedback Survey.
Homepage | Content | Slides | Video |
Warning
This lesson is under construction. Learn from it at your own risk. If you have any feedback, please fill out our General Feedback Survey.
Where to get help
$ <program> --help
$ <program> -h
Most programs allow you to pass a help flag which will print out basic usage. This is useful as a quick reference for how to use the program.
$ man <program>
$ man man
MAN(1) Manual pager utils MAN(1)
NAME
man - an interface to the on-line reference manuals
SYNOPSIS
man [-C file] [-d] [-D] [--warnings[=warnings]] [-R
encoding] [-L locale] [-m system[,...]] [-M path] [-S list]
[-e extension] [-i|-I] [...]
DESCRIPTION
man is the system's manual pager. Each page argument given
to man is normally the name of a program, utility or
function. The manual page [...]
man pages are also organized by section. To read man page for a program/library in a specific section type man # <program or library> where # is the section number.
For instance:
$ man 2 open # Displays the kernel documentation for open (section 2)
$ man open # Displays the documentation for openvt (section 1)
If there is a collision in man-page naming (like open and open()) man will pick the page which appears in the lowest-value section.
Note
Some distros use info instead of man. To learn more about the info command, see Further Reading.
Projects also document themselves beyond the manpage. These can include tutorials, a README, and Q&A. If you need more information about a tool or a specific answer these docs will probably be your best bet.
These docs may also answer any technical or contributing questions. These docs can be updated more frequently than local man pages so should also be referred to for bleeding-edge information.
Communication is very important for DevOps engineers. Whether they are talking to their own team or working either external projects they use.
It's important to be familiar with the chat platforms that these projects use which include:
To get on IRC, Use irssi or weechat in screen:
# This step is optional, but persistent IRC is cool
$ ssh <username>@<a remote linux server>
# start screen with the name 'irc'
$ screen -S irc
# start your client in the 0th window of the screen session
$ irssi
# or
$ weechat-curses
# exit irc screen with CTRL+a, CTRL+d
# exit ssh session with CTRL+d or 'exit'
# to get back to irc:
$ ssh <username>@<preferred shell host>
$ screen -dr IRC
If you're not interested in using the command line there also an assortment of graphical IRC clients including Hexchat, MIRC, and KiwiIRC. Look those up if you're interested in them.
There are also a variety of mobile clients for each platform that work well enough. You can also use a mobile SSH client and connect to your server in a pitch.
Unfortunately IRC isn't very mobile friendly.
In the IRC client run these commands (irssi):
/connect irc.freenode.net
/nick <myawesomenickname>
/msg nickserv register <password> <email>
/nick <myawesomenickname>
/msg nickserv identify <password>
/join #devopsbootcamp
For weechat, do the following:
/server add freenode irc.freenode.net
/connect freenode
/nick <myawesomenickname>
/msg nickserv register <password> <email>
/nick <myawesomenickname>
/msg nickserv identify <password>
/join #devopsbootcamp
Command | Description |
---|---|
/list | Reports all the channels on a server. |
/topic | Reports current channel topic. |
/names | Reports nicks of users in channel. |
/join <channel> | Join a new channel. |
/whois <nick> | Learn about a person. |
/msg | Directly message an individual. |
/help <command> | Provides help for commands |
Tab-completion works with nicks
You get a hi-light when your name is said.
Symbols (@, +) are not part of names, show status in channel.
chanserv and nickserv are robots.
- /msg nickserv help to get nick help.
- /msg chanserv help to get channel help.
Term | Description |
---|---|
channel | Chat rooms with with '#' prefixed in front of their names |
ping/pong | 'I would like to tell you something.' / 'I'm here, tell it to me.' |
tail | ~ |
hat | '@' Denotes admin status in a channel. |
nick | Your name. |
netsplit | When the IRC servers lose connection with each other. |
kick/ban/k-line | Force someone off the channel or server, typically for abuse |
Modern messaging platform which featureful desktop and mobile clients
It's okay to ask for help. Here are some things to keep in mind:
Contributions = expertise + time