This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorials:unix_commands [2016/03/27 21:09] Richard.Randriatoamanana@ec-nantes.fr |
tutorials:unix_commands [2016/03/27 21:27] Richard.Randriatoamanana@ec-nantes.fr [Common Linux Shell Commands] |
||
---|---|---|---|
Line 4: | Line 4: | ||
====Common Linux Shell Commands==== | ====Common Linux Shell Commands==== | ||
- | **ls** : list files/directories in a directory, comparable to dir in windows/dos. | + | ===ls=== |
+ | List files/directories in a directory, comparable to dir in windows/dos. | ||
<code bash>ls -al | <code bash>ls -al | ||
#shows all files (including ones that start with a period), directories, and details attributes for each file.</code> | #shows all files (including ones that start with a period), directories, and details attributes for each file.</code> | ||
- | **cd** : change directory ·· cd /usr/local/apache : go to /usr/local/apache/ directory | + | ===cd=== |
- | <code bash>cd ~ go to your home directory | + | Change directory ·· cd /usr/local/apache : go to /usr/local/apache/ directory |
- | cd - : go to the last directory you were in | + | <code bash> |
- | cd .. : go up a directory cat : print file contents to the screen | + | 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</code> | ||
- | cat filename.txt : cat the contents of filename.txt to your screen | + | ===chmod=== |
- | + | Changes file access permissions. | |
- | chmod: changes file access permissions | + | |
- | The set of 3 go in this order from left to right: | + | |
- | USER - GROUP - EVERONE | + | |
+ | The set of 3 go in this order from left to right: **USER - GROUP - EVERYONE** <code bash> | ||
0 = --- No permission | 0 = --- No permission | ||
- | 1 = --X Execute only | + | 1 = --x Execute only |
- | 2 = -W- Write only | + | 2 = -w- Write only |
- | 3 = -WX Write and execute | + | 3 = -wx Write and execute |
- | 4 = R-- Read only | + | 4 = r-- Read only |
- | 5 = R-X Read and execute | + | 5 = r-x Read and execute |
- | 6 = RW- Read and write | + | 6 = rw- Read and write |
- | 7 = RWX Read, write and execute | + | 7 = rwx Read, write and execute</code> |
- | + | ||
- | Usage: | + | |
- | chmod numberpermissions filename | + | |
- | + | ||
- | chmod 000 : No one can access | + | |
- | chmod 644: Usually for HTML pages | + | |
- | chmod 755: Usually for CGI scripts | + | |
- | chown: changes file ownership permissions | + | Usage: ''chmod numberpermissions filename/directory''<code bash> |
- | The set of 2 go in this order from left to right: | + | chmod 000 #No one can access |
- | USER - GROUP | + | chmod 644 #Usually for HTML pages |
+ | chmod 755 #Usually for CGI scripts</code> | ||
- | chown root myfile.txt : Changes the owner of the file to root | + | ===chown=== |
- | chown root.root myfile.txt : Changes the owner and group of the file to root | + | Changes file ownership permissions |
+ | The set of 2 go in this order from left to right: **USER - GROUP**<code bash> | ||
+ | chown root myfile.txt # Changes the owner of the file to root | ||
+ | chown root.root myfile.txt # Changes the owner and group of the file to root</code> | ||
- | tail : like cat, but only reads the end of the file | + | ===tail=== |
- | tail /var/log/messages : see the last 20 (by default) lines of /var/log/messages | + | Like ''cat'', but only reads the end of the file.<code bash> |
- | tail -f /var/log/messages : watch the file continuously, while it's being updated | + | tail /var/log/messages # see the last 20 (by default) lines of /var/log/messages |
- | tail -200 /var/log/messages : print the last 200 lines of the file to the screen | + | 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</code> | ||
- | more : like cat, but opens the file one screen at a time rather than all at once | + | ===more/less=== |
- | more /etc/userdomains : browse through the userdomains file. hit Space to go to the next page, q to quit | + | like cat, but opens the file one screen at a time rather than all at once<code bash> |
+ | more /etc/userdomains # browse through the userdomains file. hit Space to go to the next page, q to quit</code> | ||
- | pico : friendly, easy to use file editor | + | ===vi=== |
- | pico /home/burst/public_html/index.html : edit the index page for the user's website. | + | <code bash>vi /home/burst/public_html/index.html # edit the index page for the user's website</code> |
- | File Editing with VI commands | + | While in the vi program you can use the following useful commands, you will need to hit SHIFT + : to go into command mode<code bash> |
- | vi : another editor, tons of features, harder to use at first than pico | + | :q! # This force quits the file without saving and exits vi |
- | vi /home/burst/public_html/index.html : edit the index page for the user's website. | + | :w # This writes the file to disk, saves it |
- | Whie in the vi program you can use the following useful commands, you will need to hit SHIFT + : to go into command mode | + | :wq # This saves the file to disk and exists vi |
+ | :LINENUMBER : EG :25 # Takes you to line 25 within the file | ||
+ | :$ # Takes you to the last line of the file | ||
+ | :0 # Takes you to the first line of the file</code> | ||
- | :q! : This force quits the file without saving and exits vi | + | * [[http://www.tutorialspoint.com/unix/unix-vi-editor.htm]] |
- | :w : This writes the file to disk, saves it | + | * [[http://www.openvim.com|interactive tutorial]] |
- | :wq : This saves the file to disk and exists vi | + | |
- | :LINENUMBER : EG :25 : Takes you to line 25 within the file | + | |
- | :$ : Takes you to the last line of the file | + | |
- | :0 : Takes you to the first line of the file | + | |
- | grep : looks for patterns in files | + | ===grep=== |
- | grep root /etc/passwd : shows all matches of root in /etc/passwd | + | Looks for patterns in files <code bash> |
- | grep -v root /etc/passwd : shows all lines that do not match root | + | 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</code> | ||
- | ln : create's "links" between files and directories | + | ===ln=== |
- | 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 orginal, however you can delete the link and it will not delete the original. | + | Create's "links" between files and directories<code bash> |
+ | 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.</code> | ||
- | last : shows who logged in and when | + | ===last=== |
- | last -20 : shows only the last 20 logins | + | Shows who logged in and when<code bas> |
- | last -20 -a : shows last 20 logins, with the hostname in the last field | + | last -20 # shows only the last 20 logins |
+ | last -20 -a # shows last 20 logins, with the hostname in the last field </code> | ||
- | w : shows who is currently logged in and where they are logged in from. | + | ===w=== |
- | who : This also shows who is on the server in an shell. | + | shows who is currently logged in and where they are logged in from. |
+ | <code bash>who # This also shows who is on the server in an shell</code> | ||
- | netstat : shows all current network connections. | + | ===netstat=== |
- | netstat -an : shows all connections to the server, the source and destination ips and ports. | + | shows all current network connections. |
- | netstat -rn : shows routing table for all ips bound to the server. | + | <code bash> |
+ | 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.</code> | ||
- | top : shows live system processes in a nice table, memory information, uptime and other useful info. This is excellent for managing your system processes, resources and ensure everything is working fine and your server isn't bogged down. | + | ===top=== |
+ | shows live system processes in a nice table, memory information, uptime and other useful info. This is excellent for managing your system processes, resources and ensure everything is working fine and your server isn't bogged down. | ||
top then type Shift + M to sort by memory usage or Shift + P to sort by CPU usage | top then type Shift + M to sort by memory usage or Shift + P to sort by CPU usage | ||
- | ps: ps is short for process status, which is similar to the top command. It's used to show currently running processes and their PID. | + | ===ps=== |
- | A process ID is a unique number that identifies a process, with that you can kill or terminate a running program on your server (see kill command). | + | //ps// is short for process status, which is similar to the top command. It's used to show currently running processes and their PID. A process ID is a unique number that identifies a process, with that you can kill or terminate a running program on your server (see kill command).<code bash> |
- | ps U username : shows processes for a certain user | + | ps U username # shows processes for a certain user |
- | ps aux : shows all system processes | + | ps aux # shows all system processes |
- | ps aux --forest : shows all system processes like the above but organizes in a hierarchy that's very useful! | + | ps aux --forest # shows all system processes like the above but organizes in a hierarchy that's very useful!</code> |
- | touch : create an empty file | + | ===touch=== |
- | touch /home/burst/public_html/404.html : create an empty file called 404.html in the directory /home/burst/public_html/ | + | creates an empty file <code bash> |
+ | touch /home/burst/public_html/404.html # create an empty file called 404.html in the directory /home/burst/public_html/ </code> | ||
- | file : attempts to guess what type of file a file is by looking at it's content. | + | ===file=== |
- | file * : prints out a list of all files/directories in a directory | + | attempts to guess what type of file a file is by looking at it's content. |
+ | <code bash>file * # prints out a list of all files/directories in a directory</code> | ||
- | du : shows disk usage. | + | ===du=== |
- | du -sh : shows a summary, in human-readble form, of total disk space used in the current directory, including subdirectories. | + | shows disk usage.<code bash> |
- | du -sh * : same thing, but for each file and directory. helpful when finding large files taking up space. | + | 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. </code> | ||
- | wc : word count | + | ===wc=== |
- | wc -l filename.txt : tells how many lines are in filename.txt | + | word count |
+ | <code bash>wc -l filename.txt # tells how many lines are in filename.txt</code> | ||
- | cp : copy a file | + | ===cp=== |
- | cp filename filename.backup : copies filename to filename.backup | + | copy a file <code bash> |
- | cp -a /home/burst/new_design/* /home/burst/public_html/ : copies all files, retaining permissions form one directory to another. | + | cp filename filename.backup # copies filename to filename.backup |
- | cp -av * ../newdir : Copies all files and directories recurrsively in the current directory INTO newdir | + | cp -a /home/burst/new_design/* /home/burst/public_html/ # copies all files, retaining permissions form one directory to another. |
+ | cp -av * ../newdir # Copies all files and directories recurrsively in the current directory INTO newdir</code> | ||
- | mv : Move a file command | + | ===mv=== |
- | mv oldfilename newfilename : Move a file or directory from oldfilename to newfilename | + | move a file command<code bash> |
+ | mv -v oldfilename newfilename # Move a file or directory from oldfilename to newfilename in a verbose mode</code> | ||
- | rm : delete a file | + | ===rm=== |
- | rm filename.txt : deletes filename.txt, will more than likely ask if you really want to delete it | + | delete a file |
- | rm -f filename.txt : deletes filename.txt, will not ask for confirmation before deleting. | + | <code bash>rm -vi filename.txt # deletes filename.txt, will more than likely ask if you really want to delete it |
- | rm -rf tmp/ : recursively deletes the directory tmp, and all files in it, including subdirectories. BE VERY CAREFULL WITH THIS COMMAND!!! | + | rm -fv filename.txt # deletes filename.txt, will not ask for confirmation before deleting. |
+ | rm -rfv tmp/ # recursively deletes the directory tmp, and all files in it, including subdirectories. | ||
+ | # BE VERY CAREFULL WITH THIS COMMAND!!!</code> | ||
- | TAR: Creating and Extracting .tar.gz and .tar files | + | ===tar=== |
- | tar -zxvf file.tar.gz : Extracts the file | + | creating and Extracting .tar.gz and .tar files<code bash> |
- | tar -xvf file.tar : Extracts the file | + | tar -zxvf file.tar.gz # Extracts the file that have been compressed |
- | tar -cf archive.tar contents/ : Takes everything from contents/ and puts it into archive.tar | + | tar -xvf file.tar # Extracts the file |
- | gzip -d filename.gz : Decompress the file, extract it | + | tar -cf archive.tar contents/ # Takes everything from contents/ and puts it into archive.tar |
+ | gzip -d filename.gz # Decompress the file, extract it</code> |