Introduction to the Linux Environment Brian E Brzezicki

Introduction to the Linux Environment Brian E. Brzezicki

First things first • Log in to your linux machine using – Username: student – Password: student 01

Terminal! Next Linux is VERY text based environment, so let’s get used to the Terminal! Click on Applications->Accessories->Terminal until you get this! (next slide)

Terminal

Terminal • Go ahead and close it (click on the “x” in the windows top bar) and open it again… you need to get comfortable with the terminal window!

Basics of the Linux File System structure

File System Layout Linux is layed out in a heirarchical manner starting from the “root” ( / ) directory. This is similar to MS Windows except that • Linix uses the / as a directory seperator, Windows uses a • Windows has multiple “roots” one for each drive (C: , D: etc). Linux has a single root, separate physical drives are “grafted” onto the tree (see image)

Linux File System

Entering Commands When Entering commands in Linux, most commands take a filename as an option. You can specify a filename as a • Full path – Example: cat /etc/passwd • Relative to your current directory cd /etc cat passwd

Special “Relative directories” • There are special entries for directories in linux. = “this directory”. . = “back one directory” If I was in the directory /etc/sysconfig, I could read the file /etc/passwd with the following command cat /etc/passwd Or cat. . /passwd

Let’s look around Open up your terminal windows now and let’s look at some programs used to navigate the filesystem in unix

File System Commands cd – change directory pwd – print working directory In your terminal type cd /usr/local Now type pwd What is the response?

File System Commands Now type cd. . and pwd Now what is the response? . . is a useful argument to “cd” that moves you back 1 directory level.

File System Commands You can add multiple “. . ” together For example. Let’s get back to /usr/local Use the command cd /usr/local Type pwd To verify your in “/usr/local” What do you think will happen if I type cd. . /. . And type pwd?

File System Commands Right I’ll be back at the “root” directory! (/) Now before we used to get to /usr/local by directly typing the whole path. This is called an absolute path. Because we specified the exact location that we want to go on the system. But we can also move around using relative paths. For example, let’s move back to the root directory (/) Type cd / And verify with pwd

File System Commands So now that we are at / let’s use “relative” addressing to get to /usr/local We are going to specific paths relative to where we are Type cd usr And pwd Where are we now?

File System Commands Now let’s move into local Type cd local And pwd Where are we now? Let’s start again and do it in only one step

File System Commands Type cd / And pwd We are back at root (/) Type cd usr/local And pwd We are back at /usr/local

File System Commands OK now that we can move around let’s learn another important linux command ls list directory contents cd /usr/local ls What is the response?

File System Commands How about ls –l (next page for results… explain the entries)
![[root@linux 1 local]# ls -l total 72 drwxr-xr-x 2 root 4096 Mar 9 2009 [root@linux 1 local]# ls -l total 72 drwxr-xr-x 2 root 4096 Mar 9 2009](http://slidetodoc.com/presentation_image_h2/1d649740e20e33c0d64b3c342375ed78/image-21.jpg)
[root@linux 1 local]# ls -l total 72 drwxr-xr-x 2 root 4096 Mar 9 2009 bin drwxr-xr-x 2 root 4096 Mar 9 2009 etc drwxr-xr-x 2 root 4096 Mar 9 2009 games drwxr-xr-x 2 root 4096 Mar 9 2009 include drwxr-xr-x 2 root 4096 Mar 9 2009 libexec drwxr-xr-x 2 root 4096 Mar 9 2009 sbin drwxr-xr-x 4 root 4096 Apr 18 14: 03 share drwxr-xr-x 2 root 4096 Mar 9 2009 src

Useful ls options • ls –la • ls –lh • ls –ltr long listing, how “hidden” files (file starting with. ) long listing with easy to read file sizes long listing sorted by time and date, most recent first long listing, sorted by time (reverse)

Using ls Do a quick exercise cd /home pwd ls cd student pwd ls -latr

File System Commands To effectively run Linux you have to have a solid grasp on the filesystem structure and the commands to move around. Get used to CD, PWD and LS

More useful Commands (set 2) rm rm –rf rmdir mkdir cp mv remove file remove directory and everything in that directory recursively remove empty directory make directory copy a file move a file

More Useful Commands (set 3) cat more tail -10 tail -f echo show the contents of a file show the last lines of a file shows the last 10 lines of a file shows as lines are added to a file displays whatever you type

More useful commands (set 4) chmod – change file permissions chmod username filename example chmod student /tmp/file chown – change file owner chown u+rwx, g+rwx, o+rwx filename u-rwx, g-rwx, o-rwx

Example of chmod cd /tmp touch file ls –l file -rw-r--r-- 1 root 0 Apr 21 15: 41 file chmod u+x, g+x, o-r file ls –l file -rwxr-x--- 1 root 0 Apr 21 15: 41 file chmod u+rwx, g+rwx, o+rwx file ls –l file -rwxrwxrwx 1 root 0 Apr 21 15: 41 file

More useful commands (set 5) grep search a file for a specific line of text grep root /etc/passwd [root@linux 1 ~]# grep root /etc/passwd root: x: 0: 0: root: /bin/bash operator: x: 11: 0: operator: /root: /sbin/nologin locate search the system for a specific filename locate ssh_config [root@linux 1 ~]# locate ssh_config /etc/ssh_config /usr/share/man 5/ssh_config. 5. gz

The PIPE operator (|) When working with unix, you notice one command usually gives you output. With linux you can “tie” the output of one program into the “input” of another program with the pipe operator. This is incredibly handy and will be used a lot in your linux administration tasks. cat /etc/passwd | grep root [root@linux 1 ~]# cat /etc/passwd |grep root: x: 0: 0: root: /bin/bash operator: x: 11: 0: operator: /root: /sbin/nologin

Redirect operators Like with PIPE in Linux you can redirect the output of one command to a file (>), or redirect the contents of a file to be the input of a program (<) Example grep root /etc/passwd > /tmp/grep_results. txt or grep root < /etc/passwd

Process operators Often in Linux you will want to see what processes are running and possibly manipulate them you do this will the commands ps ps –ef kill -9 pid kill –TERM pid

su In unix you generally log in as a “user” account rather than the superuser account su is a command that lets you switch to a different user and run commands as them su – root su - student

vi Linux adminstration is very much about text configuration files. When you have a GUI you can edit these files with a normal editor… however if you want to run Linux you better get used to a text editor. I’d suggest vi So let’s look at vi in the next couple slides

vi First let’s copy a file that we can edit cp /usr/share/dict/words /tmp/words. txt Now let’s open this with vi vi /tmp/words. txt

vi Now that we are in vi you should understand vi has 2 modes. Movement mode Edit mode When you start you are put into movement mode, an you can move the cursor around using the commands (next page)

Vi movement mode j k h l up a line down a line left 1 character right one character Use these characters to move around! Note you can specify a number before the command for example 5 j would move you down 5 lines

vi movement mode You also can go to a certain line number with the command : XX Where XX is a line number Example Typing : 50 would take me to line 50

vi edit mode Once we are we want to type or delete in the file we can use “edit mode” commands. Some edit mode commands x delete the current characterk dd delete the entire current line You can add a number before either of these commands to do that command multiple times

Typing in characters So now that we know the basics of deleting characters… how about adding characters? To do so, we enter insert mode by typing i enter insert mode Typing I will let you start entering characters that will go to the left of the current character. Once in insert mode… type away when your done hit the “Esc” button

Saving the file When you want to save the file make sure your in normal mode (usually hit esc) then hit : w save the file but remain open for editing : wq save the file and quit There are tons more vi commands, but these are the basics and should provide you with all that you need to do your work. I myself only know a few more than this as these commands make up 95% of anything you’ll want to do.

man pages Linux is much different than windows is that the documentation (useful documentation) for each command is stored on the system and available with man pages. To view the documentation for a command type man command Example man ls You can even do a man on the man pages man You will learn to love the man pages!

Labs! Let’s get some hands on practice now!
- Slides: 43