introduction to unix and linux by mike gideon. guide to operating systems, 4th ed.2 understanding...

45
INTRODUCTION TO UNIX AND LINUX By Mike Gideon

Upload: piper-fern

Post on 29-Mar-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

INTRODUCTION TO UNIX AND LINUX

By Mike Gideon

Page 2: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 2

Understanding the File System Functions

• All information stored on a computer’s hard disk is managed, stored, and retrieved through a file system• The file system allocates locations on a disk for storage and it

keeps a record of where specific information is kept• Some file systems also implement recovery procedures when a

disk area is damaged or when the OS goes down

• The overall purpose of a file system is to create a structure for filing data

• A file is a set of data that is grouped in some logical manner, assigned a name, and stored on the disk

Page 3: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 3

Understanding File System Functions• File systems used by operating systems perform the

following general tasks:• Partition and format disks to store and retrieve information• Enable files to be organized through directories and folders• Establish file-naming conventions• Provide utilities to maintain and manage the file system and

storage media• Provide for file and data integrity• Enable error recovery or prevention• Secure the information in files

Page 4: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 4

Understanding File System Functions• Directory or folder – organizational structure that contains

files and may additionally contain subdirectories (or subfolders)

• Directories may store the following information• Date and time the directory or file was created• Date and time the directory or file was last modified• Date and time when the directory or file was last accessed• Directory or file size• Directory or file attributes, such as security information, or if the

directory or file was backed up• If the information in a directory or file is compressed or encrypted

Page 5: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 5

Designing a Directory Structure

• A chaotic file structure:• makes it difficult to run or remove programs• Makes it difficult to determine the most current versions• Makes users spend unproductive time looking for specific files

• Some users keep most of their files in the computer’s primary level or root directory (root folder)

• Some programs use an automated setup that suggests folders for new programs• Example – creating new subfolders under the Program Files folder

• To avoid chaos, design the file and folder structure from the start (especially on servers)

Page 6: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 6

Designing a Directory Structure

• Consider following some general practices:• Root folder should not be cluttered with files or too many

directories/folders• Each software application should have its own folder/subfolder• Similar information should be grouped (example: accounting

systems or office productivity software)• Operating system files should be kept separate and protected• Directories and folders should have names that clearly reflect their

purposes (a folder named “Shared” would contain documents that can be shared by many users)

Page 7: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 7

Disk Storage Basics

• Hard disks arrive from manufacturer with low-level formatting• A low-level format is a software process that marks the location of

disk tracks and sectors• Tracks are like several circles around a disk and each track is

divided into sections of equal size called sectors

Page 8: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Disk Storage Basics

Disk tracks and sectors on a platter

Guide to Operating Systems, 4th ed. 8

Page 9: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Files

Guide to Operating Systems, 4th ed. 9

Page 10: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 10

Block Allocation• Block allocation – divides the disk into logical blocks

called clusters, which correlate to sectors, heads, and tracks on the disk• Keeps track of where specific files are stored on the disk

• Cylinders – tracks that line up on each platter from top to bottom and are all read at the same time

• Data regarding block allocation is stored using one of two techniques:• File allocation table (FAT)• New Technology File System (NTFS) and Unix/Linux file systems – uses

various locations on the disk to store a special type of file that is used for directory and file allocation information

Page 11: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Cylinders

Guide to Operating Systems, 4th ed. 11

Page 12: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Hard Drive

Guide to Operating Systems, 4th ed. 12

Page 13: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 13

Partitions• Partitioning – process of blocking a group of tracks and

sectors to be used by a particular file system, such as FAT or NTFS

• After partitioning, the disk must be high-level formatted in order for the OS to store files

• It might be necessary for a disk to have more than one file system• Will require a partition for each file system• Example: To allow the installation of Red Hat Enterprise Linux and

Windows 7 on the same computer• Linux: usr, var, and home are different file systems

Page 14: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 14

Partitions

• Logical drives – creating multiple logical volumes on a single disk and assigning drive letters to each volume

• When a partition is created, information about that partition is stored in a special area of the disk known as the partition table (in MS-DOS, Mac OS, and Windows) and disk label (in UNIX/Linux)

• Another piece of disk that is reserved is known as the boot block in UNIX/Linux and Mac OS X, or the Master Boot Record (MBR) in MS-DOS and Windows.

Page 15: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Partitions• In Windows, the MBR consists of four elements:

• The boot program – examines the partition table to determine which partition to boot from

• The disk signature – stores information about the disk and is used by management software such as the Windows registry

• The partition table for the active partition• The end-of-MBR marker – where the MBR ends

• Not all operating systems support partitions in the same way

• Each operating system uses specific utilities to create partitions

Guide to Operating Systems, 4th ed. 15

Page 16: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 16

Formatting• Formatting – the process of placing the file system on the

partition• Necessary in order to install an operating system

• After the OS is installed, a disk management tool can be used to partition and format additional free space

• Can also use the format command from the Command Prompt window • The format command includes several switches (extra codes) • To view a list of these switches, type format /?

Page 17: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 17

Formatting• When a file is stored to disk:

• Data is written to clusters on the disk• Filename is stored in the folder, along with the number of the first cluster

the data is stored in• When the OS fills the first cluster, data is written to the next free cluster

and the FAT entry corresponding with the first cluster points to the number of the second cluster used

• When the second cluster is full, the OS continues with the next free cluster and the FAT entry for the second cluster points to the number of the third cluster used, and so on…

• When a file is completely written to the disk, the FAT entry for the final cluster is filled with all 1s (means end of file)

• This is commonly referred to as the linked-list method

Page 18: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 18

Formatting• Clusters are a fixed length

• When a files does not use all of the space in a cluster, the rest of the cluster is unusable

• Unusable spots are marked in the FAT as bad clusters (never used for file storage)

• Each partition stores and extra copy of the FAT table in case the first copy gets damaged

• There is only one copy of the root directory on each partition (see figure on the following slide)

• The FAT tables and root directory are at the beginning of each partition and always at the same location

Page 19: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 19

Formatting

Page 20: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Formatting• Each FAT directory entry contains filename, file change

date and time, file size, and file attributes• Attributes can indicate whether a file is set to:

• Read-only• Archive (to be backed up the next time a backup is made)• System• Hidden

Guide to Operating Systems, 4th ed. 20

Page 21: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 21

Windows File Systems• Windows XP, Vista 7, Server 2003, and Server 2008

support three files systems:• Extended FAT16• FAT32• NTFS

• These OSs also support file systems for DVD/CD-ROM drives and USB devices (flash drives)

Page 22: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

FAT16 and Extended FAT16• Extended FAT16 evolved from FAT16 used in earlier

versions of MS-DOS and Windows (3.x/95/98/Me)• In extended FAT16:

• Maximum size of a volume is 4GB• Maximum size of a file is 2GB• Has been around for awhile and can be read by non-Windows

operating systems like UNIX/Linux • Considered a stable file system• Long filenames (LFNs) can be used

• Can contain up to 255 characters• Not case sensitive

Guide to Operating Systems, 4th ed. 22

Page 23: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Guide to Operating Systems, 4th ed. 23

FAT32• Support for FAT32 started with Windows 95 Release 2• Designed to accommodate larger capacity disks• FAT32:

• Root folder does not have to be at the beginning of a volume• Can use disk space more efficiently than FAT16 (because it uses

smaller cluster sizes)• Largest volume that can be formatted is 32 GB• Maximum file size is 4 GB• Offers fast response on small 1 or 2 GB partitions

Page 24: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

CDFS and UDF• Windows versions after Windows 2000 recognize some

additional file systems used by peripheral storage technologies

• CD-ROM File System (CDFS) – supported so that OSs can read and write files to DVD/CD-ROM drives

• Universal Disk Format (UDF) – also used on DVD/CD-ROMs, which are used for huge file storage to accommodate movies and games

Guide to Operating Systems, 4th ed. 24

Page 25: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• There are many different file systems that can be used

with UNIX• Some file systems are more “native” to specific UNIX operating

systems than others

• Most versions of UNIX and Linux support the UNIX file system (ufs), which is the original native UNIX file system• ufs is a hierarchical file system that is expandable, supports large

storage, provides excellent security, and is reliable• Many qualities of NTFS are modeled after ufs (journaling and hot

fixes)

Guide to Operating Systems, 4th ed. 25

Page 26: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• In Linux, the native file system is called the extended file

system (ext or ext fs)• ext is modeled after ufs and enables the use of the full

range of built-in Linux commands, file manipulation, and security

• The first ext version had bugs• ext2 – reliable file system that handles large disk storage• ext3 – added journaling capabilities• ext4 – supports file sizes up to 16 TB

Guide to Operating Systems, 4th ed. 26

Page 27: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• Both ufs and ext use the same structure

• Built on the concept of information nodes (or inodes)• Each file has an inode and is identified by an inode number• An inode contains general information about that file such as:

• User and group ownership, permissions, size and type of file, date the file was created, and the date the file was last modified and read

• Each disk is divided into logical blocks• The superblock contains information about the layout of blocks,

sectors, and cylinder groups on the file system

• The inode for a file contains a pointer (number) that tells the OS where to find a file on the hard disk (based on logical blocks)

• Inode 0 contains the root of the folder structure and is the jumping off point for all other inodes

Guide to Operating Systems, 4th ed. 27

Page 28: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• A UNIX/Linux system can have many file systems

• Mounts file systems as a sub file system of the root file system• All file systems are referred to by a path• The path starts out with / (/ indicates the main root directory of the

file system)

• Directories in the file system contain a series of filenames• UNIX/Linux allows the use of long filenames, which may include

any character that can be represented by ASCII

Guide to Operating Systems, 4th ed. 28

Page 29: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System

UNIX/Linux file system path entries

Guide to Operating Systems, 4th ed. 29

Page 30: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• Disks are referenced by a special inode called a device• There are two types of devices:

• Raw device – has no logical division in blocks • Block device – does have logical division in blocks

• Devices are normally kept in the /dev or /devices directory• Symbolic link – used to link a directory entry to a file that

is on a different partition• Merely a pointer to a file

Guide to Operating Systems, 4th ed. 30

Page 31: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• You must first partition a disk to use the UNIX/Linux file

system• The command to partition the disk differs slightly

• Most UNIX systems use either fdisk or format• Typing man fdisk or man format at the command prompt gives you an

overview of available commands

Guide to Operating Systems, 4th ed. 31

Page 32: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• Once a partition is made, a file system can be created

• You must know the device name of the partition on which you wish to create a file system

• Type newfs, followed by the name of the device• The newfs command is not available in all versions of Linux

• Use the mkfs command instead

Guide to Operating Systems, 4th ed. 32

Page 33: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System• When a file is saved to disk, the system first stores part

of the data to memory until it has time to write to disk• If computer is shut down prior to data being written to disk, you can

end up with a damaged file system• UNIX/Linux systems should always be shut down using proper

shutdown commands• You can manually force a write of all data in memory by using the

sync command

• Another utility is known as fsck• Verifies the integrity of the superblock, the inodes, all cluster

groups, and all directory entries

Guide to Operating Systems, 4th ed. 33

Page 34: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The UNIX File System

UNIX/Linux file system commands

Guide to Operating Systems, 4th ed. 34

Page 35: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The File System

A file is a container for storing information.

Unix/Linux does not impose any structure.

No end-of-file (eof) mark.

Name and size is not stored in the file itself.

File attributes are stored separately / accessible by kernel

Page 36: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

The File System

The Shell is a file

The Kernel is a file

Directories are treated like files

Devices are treated like files (printers, keyboard, etc.)

Page 37: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Types of Files

• Ordinary File

• Directory File

• Device or Pseudo File

• Symbolic link

also socket and named pipes

Page 38: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Types of Files

• Ordinary File – aka Regular Files

Text – printable characters with newline characters

Binary – printable and non printable characters (ASCII range 0-255)

commands, images, music files, videos, databases

Cat .profileCat /bin/ls

Page 39: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Types of Files

• Directory File

Contains no data but maintains some details about files and subdirectories it contains.

Hierarchical structure – “tree” for organization

Page 40: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Types of Files

• Device or Pseudo Files

Take up no space

Internal representation of a physical device (keyboard, monitor, hard drive, etc.)

Page 41: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

Types of Files

• Symbolic link

Pointer to another file (similar to a shortcut)

Hard links - uses original file’s i-number- indistinguishable

Soft links - contains pathname to other file

Page 42: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

File System Hierarchy

• Inverted Tree

• Top called the “root” (represented by frontslash / )

• Absolute paths /home/mike

• No two files can have the same absolute path (same name, different directories is okay)

• Don’t always use absolute paths - example

Page 43: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

File System Hierarchy

Page 44: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

File System Directories (folders)• /bin /proc• /boot /root• /cdrom /sbin• /dev /srv• /etc /tmp• /home /usr• /lib /var• /lost+found• /media /usr = static data (user and programmers)

• /mnt /var = variable data (admin stuff)

• /opt

Page 45: INTRODUCTION TO UNIX AND LINUX By Mike Gideon. Guide to Operating Systems, 4th ed.2 Understanding the File System Functions All information stored on

References• Information gathered from: • Hahn, H. Guide to Unix and Linux• Das, S. Your Unix/Linux the Ultimate Guide• Palmer, M, & Walters, M. Guide to Operating Systems, 4th ed.