Newbie Command Line Essentials

From Sfvlug

(Difference between revisions)
(Newbie Command line Essentials (Learn these now!))
Line 1: Line 1:
-
If you don't know your commandline very well at least know the tools that you have at your disposal to find the information and operate most efficiently. This section will contain only the entries that will enable you to maximize your productivity at the command line.  
+
If you don't know your commandline very well you should, at the least, know enough about some basic tools that you have at your disposal to do some basic tasks and find the necessary additional information you may need. This section will contain only the basics to enable you to get done what you need to do at the command line.  
Search and documentation tools are some of the most important tools you can learn on your box heres a brief list of a few of the most popular, all of which can be accessed through your terminal (xterm, rxvt, etc...) or console (<ctrl><alt>F1...F6). Note: Commands in no particular order examples not applicable in all distributions or setups.
Search and documentation tools are some of the most important tools you can learn on your box heres a brief list of a few of the most popular, all of which can be accessed through your terminal (xterm, rxvt, etc...) or console (<ctrl><alt>F1...F6). Note: Commands in no particular order examples not applicable in all distributions or setups.

Revision as of 18:06, 3 September 2010

If you don't know your commandline very well you should, at the least, know enough about some basic tools that you have at your disposal to do some basic tasks and find the necessary additional information you may need. This section will contain only the basics to enable you to get done what you need to do at the command line.

Search and documentation tools are some of the most important tools you can learn on your box heres a brief list of a few of the most popular, all of which can be accessed through your terminal (xterm, rxvt, etc...) or console (<ctrl><alt>F1...F6). Note: Commands in no particular order examples not applicable in all distributions or setups.

Info

man - an interface to the on-line reference manuals (ex: man hier)
find - search the manual page names and descriptions (ex: find ~ -name '*.mp3')
locate - security Enhanced version of the GNU Locate (ex: locate hosts)
updatedb - update the slocate database (ex: updatedb&)
which - locate a command (ex: which ifconfig)
whereis - locate the binary, source, and manual page files for a command (ex. whereis ifconfig)
hier - description of the file system hierarchy (ex. man hier)
apropos - search the manual page names and descriptions (ex. apropos <keyword>)
less - page through text one screenful at a time allowing for forward and backward movement in the file (ex. less
/usr/share/doc/debian/debian-manifesto)
su - change user ID or become super-user (ex. su - <passwd>)
sudo - execute a command as another user (ex. sudo /etc/init.d/networking)
history - display the list of commands previously typed (ex. history)

Keystrokes

<ctrl>r - reverse keyword search of the command history (ex. <ctrl>r<keyword>
/ - search forward for occurance of keyword in a manpage, many editors and pagers (ex. /<keyword>)
? - search backward for occurance of keyword in a manpage, many editors and pagers (ex. ?<keyword>)
n - continue to the next occurance of the keyword searches listed above (ex. n)

Network

ifconfig - configure a network interface (ex. ifconfig eth0 192.168.0.2)
route - show / manipulate the IP routing table (ex. route add -net default gw 192.168.0.1)
iwconfig - configure a wireless network interface (ex. iwconfig eth2 essid GaylesPerk channel 11 mode auto)
iwlist - get more detailed wireless information from a wireless interface (ex. iwlist eth2 scan)
ifup - bring a network interface up (ex. ifup eth0)
ifdown - take a network interface down (ex. ifdown eth0)

Paths

/usr/share/doc, /usr/local/doc - documentation paths
/var/log - path of all your log files
/etc - most of your config files
/etc/init.d - system service control scripts
~ - an abbreviation of your home directory (long form: /home/user)
/ - root path, the base/parent path of all paths
. - current working directory
./ - path based off of the current working directory
../ - parent path 

Special Characters

Note: not all essential but all worth learning early
| - pipeline command, the standard output of one command is connected to the standard input of another command
    (ie take the output of one  command and send it to another)
\\ - preserves the literal value of the command that follows, except newline
    (takes any special characters and turns them into something akin to text characters)
& - if a command is terminated by the control operator &, the shell executes the command in the background in a subshell 
&& and || - the control operators && and ││ denote AND lists and OR lists, respectively. An AND list has the form:
    command1 && command2 (Note: command2  is  executed if, and only if, command1 returns an exit status of zero)
; - commands separated by a ; are executed sequentially

Useful Info (Optional but worth learning as you go!)

Note: These your should pursue in your own time using the commands listed above for additional information!

General: alias, free, jobs, fg, dmesg, uname, xargs
Pattern Matching: grep, rgrep, egrep, fgrep
Process: top, ps, pgrep, nice, renice, kill, pkill, killall
Network: route, traceroute, arp, netstat, ping
File and Filesystem: cp, mv, rm, ls, cd, chmod, chown, cat, du, df, lsof, touch
Conveniences: ssh-agent, keychains, screen
Debian Package Manager: apt-get, dpkg, apt-cache, apt-file (Note: Debian based distribution specific)
Files and File Locations: /etc/passwd, /etc/hosts, /etc/hosts.allow, /etc/hosts.deny, /etc/hostname, /etc/resolv.conf, /etc/groups,
                          /etc/fstab, /etc/modules, ~/.bashrc, ~/.bash_profile, ~/.bash_aliases
Personal tools