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:13] Richard.Randriatoamanana@ec-nantes.fr |
tutorials:unix_commands [2016/03/27 21:27] (current) Richard.Randriatoamanana@ec-nantes.fr [Common Linux Shell Commands] |
||
---|---|---|---|
Line 34: | Line 34: | ||
chmod 755 #Usually for CGI scripts</code> | chmod 755 #Usually for CGI scripts</code> | ||
+ | ===chown=== | ||
+ | Changes file ownership permissions | ||
- | chown: changes file ownership permissions | + | The set of 2 go in this order from left to right: **USER - GROUP**<code bash> |
- | The set of 2 go in this order from left to right: | + | chown root myfile.txt # Changes the owner of the file to root |
- | USER - GROUP | + | chown root.root myfile.txt # Changes the owner and group of the file to root</code> |
- | chown root myfile.txt : Changes the owner of the file to root | + | ===tail=== |
- | chown root.root myfile.txt : Changes the owner and group of the file to root | + | Like ''cat'', but only reads the end of the file.<code bash> |
+ | 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</code> | ||
+ | ===more/less=== | ||
+ | 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> | ||
- | tail : like cat, but only reads the end of the file | + | ===vi=== |
- | tail /var/log/messages : see the last 20 (by default) lines of /var/log/messages | + | <code bash>vi /home/burst/public_html/index.html # edit the index page for the user's website</code> |
- | 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 | + | 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> |
- | more /etc/userdomains : browse through the userdomains file. hit Space to go to the next page, q to quit | + | :q! # This force quits the file without saving and exits vi |
+ | :w # This writes the file to disk, saves it | ||
+ | :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> | ||
- | pico : friendly, easy to use file editor | + | * [[http://www.tutorialspoint.com/unix/unix-vi-editor.htm]] |
- | pico /home/burst/public_html/index.html : edit the index page for the user's website. | + | * [[http://www.openvim.com|interactive tutorial]] |
- | File Editing with VI commands | + | ===grep=== |
- | vi : another editor, tons of features, harder to use at first than pico | + | Looks for patterns in files <code bash> |
- | vi /home/burst/public_html/index.html : edit the index page for the user's website. | + | grep root /etc/passwd # shows all matches of root in /etc/passwd |
- | Whie in the vi program you can use the following useful commands, you will need to hit SHIFT + : to go into command mode | + | grep -v root /etc/passwd # shows all lines that do not match root</code> |
- | :q! : This force quits the file without saving and exits vi | + | ===ln=== |
- | :w : This writes the file to disk, saves it | + | Create's "links" between files and directories<code bash> |
- | :wq : This saves the file to disk and exists vi | + | 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> |
- | :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 | + | ===last=== |
- | grep root /etc/passwd : shows all matches of root in /etc/passwd | + | Shows who logged in and when<code bas> |
- | grep -v root /etc/passwd : shows all lines that do not match root | + | last -20 # shows only the last 20 logins |
+ | last -20 -a # shows last 20 logins, with the hostname in the last field </code> | ||
- | ln : create's "links" between files and directories | + | ===w=== |
- | 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. | + | 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> | ||
- | last : shows who logged in and when | + | ===netstat=== |
- | last -20 : shows only the last 20 logins | + | shows all current network connections. |
- | last -20 -a : shows last 20 logins, with the hostname in the last field | + | <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> | ||
- | w : shows who is currently logged in and where they are logged in from. | + | ===top=== |
- | who : This also shows who is on the server in an shell. | + | 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. |
- | + | ||
- | 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. | + | |
- | + | ||
- | 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> |