Search:
Advanced search
|
Browse by category:
|
Contact Us |
Basic Linux Shell Commands |
|||||
The following is a breakdown of the most commonly used commands and the most commonly used arguments for them. ls : list files/directories in a directory, comparable to dir in windows/dos. ls -al : shows all files (including ones that start with a period), directories, and details attributes for each file. cd : change directory cd /usr/local/apache : go to /usr/local/apache/ directory cd ~ : go to your home directory cd - : go to the last directory you were in cd .. : go up a directory cat : print file contents to the screen cat filename.txt : cat the contents of filename.txt to your screen tail : like cat, but only reads the end of the file tail /var/log/messages : see the last 20 (by default) lines of /var/log/messages tail -f /var/log/messages : watch the file continuously, while it's being updated tail -200 /var/log/messages : print the last 200 lines of the file to the screen more : like cat, but opens the file one screen at a time rather than all at once more /etc/userdomains : browse through the userdomains file. hit [space] to go to the next page, [q] to quit pico : friendly, easy to use editor. A clone of it is "nano" pico /home/burst/public_html/index.html : edit the index page for the user's website. vi : another editor, tons of features, harder to use at first than pico vi /home/burst/public_html/index.html : edit the index page for the user's website. grep : looks for patterns in files grep root /etc/passwd : shows all matches of root in /etc/passwd grep -v root /etc/passwd : shows all lines that do not match root touch : create an empty file touch /home/burst/public_html/404.html : create an empty file called 404.html in the directory /home/burst/public_html/ ln : creates "links" between files and directories ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : Now you can edit /etc/httpd.conf rather than the original. changes will affect the original, however you can delete the link and it will not delete the original. rm : delete (remove) a file rm filename.txt : deletes filename.txt, will more than likely ask if you really want to delete it. rm -f filename.txt : deletes filename.txt, will not ask for confirmation before deleting. rm -rf tmp/ : recursively deletes the directory tmp, and all files in it, including subdirectories. BE VERY CAREFUL WITH THIS COMMAND!!! last : shows who logged in and when last -20 : shows only the last 20 logins last -20 -a : shows last 20 logins, with the hostname in the last field w : shows who is currently logged in and where they are logged in from. netstat : shows all current network connections. netstat -an : shows all connections to the server, the source and destination ips and ports. netstat -rn : shows routing table for all ips bound to the server. file : attempts to guess what type of file a file is by looking at it's content. file * : prints out a list of all files/directories in a directory du : shows disk usage. du -sh : shows a summary, in human-readble form, of total disk space used in the current directory, including subdirectories. du -sh * : same thing, but for each file and directory. helpful when finding large files taking up space. wc : word count wc -l filename.txt : tells how many lines are in filename.txt cp : copy a file cp filename filename.backup : copies filename to filename.backup cp -a /home/burst/new_design/* /home/burst/public_html/ : copies all files, retaining permissions form one directory to another. Putting Commands TogetherOften you will find you need to use different commands on the same line. Here are some examples. (Note that the | character is called a pipe, it takes data from one program and pipes it to another.) > means create a new file, overwriting any content already there. >> means to append data to a file, creating a new one if it does not already exist. < send input from a file back into a command. grep User /usr/local/apache/conf/httpd.conf |more -- this will dump all lines that match User from the httpd.conf, then print the results to your screen one page at a time. last -a > /root/lastlogins.tmp -- this will print all the current login history to a file called lastlogins.tmp in /root/ tail -10000 /var/log/exim_mainlog |grep domain\.com |more -- this will grab the last 10,000 lines from /var/log/exim_mainlog, find all occurrences of domain.com (the period represents 'anything', -- comment it out with a \ so it will be interpreted literally), then send it to your screen page by page. netstat -an |grep :80 |wc -l -- show how many active connections there are to apache (httpd runs on port 80) mysqladmin processlist |wc -l -- show how many current open connections there are to mysql sudo -- allows users to run programs with the security privileges of another user |