Basic commands and their usage Εκτύπωση

  • 19

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 ons that start with a period), directories, and attributes for each file.
  • cd : change directory
    • cd /usr/local/apache  : to to the directory /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 on the screen.
    • cat filename.txt  : will show 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 the file /var/log/messages
    • tail -f /var/log/messages  : watch the file continuousl, while it is being updated
    • tail -200 /var/log/messages  : print the last 200 lines of the file to screen
  • more : like cat, but opens the file one screenful at a time rather than all at once
    • more /etc/usrdomains  : browse through the user domains file. hit to go to the next page, to quit
  • pico : friendl, easy to use editor. A clone of it is "nano".
    • pico /home/elvis/public_html/index.html  : edit the index page of Elvis' website
  • grep : looks for patterns in files.
    • grep root /etc/passwd  : shows all matches for the string "root" in the file /etc/passwd
    • grep -v root /etc/passwd  : shows all lines that do not match the string "root"
  • touch : creates an empty file.
    • touch /home/elvis/public_html/404.html  : creates an empty file called 404.html in the directory /home/elvis/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 orginal
  • rm : delete a file.
    • rm filename.txt  : deletes filename.txt, and you will more than likely be asked to confirm deletion
    • 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, YOU CAN DELETE EVERYTHING ON YOUR HARD DISK WITH IT
  • last : shows who logged in and when.
    • last -20  : shows only the last 20 logins
    • last -20 -a  : shows the 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 IP's and ports
    • netstat -rn  : shows routing table for all IP's 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 readable 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.bak  : copies the file filename to filename.bak
    • cp -a /home/elvis/new_design/* /home/elvis/public_html/  : copies all files, retaining permissions from one directory to another

Putting commands together.

Often 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 file 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 the string "User" from the httpd.conf file, then print the results to your screen one page at a time
  • last -a > /root/lastllogins.tmp
    • this will print all the current login history to a file called lastlogins.tmp in root's home directory
  • tail -10000 /var/log/exim_mainlog | grep domain.com | more
    • this will grab the last 10,000 lines from the file /var/log/exim_mainlog, find all occurances 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
    • shows 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

We have covered a few common command that server administrators use, however we have not even scratched the surface.


Ήταν χρήσιμη αυτήν την απάντηση;

« Πίσω