Chapter 3 Study Guide: Difference between revisions

From ITCwiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 122: Line 122:
*- = other - txt, bin
*- = other - txt, bin


Display contents of files 
==Display contents of files==
 vi - editing a file
*vi - editing a file
*emas - alternative to vi
*cat - concatenation - similar to "type" in DOS/Windows.
*tac - reverse concatenation - types file in reverse
*head - displays the top ten lines of a file
*tail - displays the bottom ten lines of a file
*more - displays file page by page
*less - similar to more but allow line by line manipulation
 
==Key Terms==
 
 
emas - alternative to vi
The tab completion feature is something your really going to like, it makes life much easier for you, rather than typing every single command you type the first character or two and hit the tab key and it finishes it for you.
 
*~ metacharacter = represent user's home dir
cat - concatenation - similar to "type" in DOS/Windows.
*Absolute pathname - full path to a file or starting from /
 
*Binary data file - contains machine language (1 or 0)
tac - reverse concatenation - types file in reverse
*cat - display file contents
 
*cd - change directory
head - displays the top ten lines of a file
*Command mode - vi mode for text editing
 
*Concatenation - joining of text
tail - displays the bottom ten lines of a file
*egrep = grep -E
 
*emacas = ediotr macros editor, think of as word pad
more - displays file page by page
*fgrep = grep -F
 
*Gedit = GUI text editor
less - similar to more but allow line by line manipulation
*Head - displays first 10 lines, can specify # of lines
Key Terms
*Insert mode - vi mode only allows text into file, no other options
~ metacharacter
*less command - display file pg. by pg. cursor navigation
absolute pathname
*Linked file - file that represents another file
binary data file
*ll command = ls -l
command mode
*more command = displays file pg. by pg. & line by line
concantenation
*Named pipe file - temp connection that sends info from 1 cmd or process in memory to another, *can represent a file
directory
*Nano editor - terminal text editor, uses ctrl keys for functions and navigation
Emacs (Editor MACroS) editor
*od command - displays file contents in octal format
executable program
*Parent dir - one dir level up
filename
*Regular expressions - special metacharacters
filename extension
*Relative pathname - path to a folder relative to the pwd
gedit editor
*Socket file = named pipe between 2 computers
home directory
*Special device file - files to identify hardware
insert mode
*Strings command - search & display text in a bin file
linked file
*Tab-completion - press tab to complete path in the shell
log file
*tac command = cat backwards
 
*Tail cmd = display last 10 lines
named pipe file
*Text tools = program to create, modify, & search txt files
nano editor
*Wildcard metacharacters = used to match certain characters 
parent directory
 
regexp
==Key Commands==
regular expressions
 
relative pathname
We have some of the key commands listed alphabetically here but the cat command  is much like the tac command  where cat is used to display the entire contents of a text file the tac command  begins with the last line of a file and ends with the the first line of the file. (Just like the word cat backwards is tac)
socket file
  The " global regular expression print" or grep command searches files for patterns of characters using regular expressions.  The egrep & fgrep  are other variants of grep that we will talk about later.
special device file
The print working directory is a useful command to see where you are in a current directory in the tree.
subdirectory
And ls command is another useful used for listing files in a given directory.
Tab-completion feature
text file
*cat 
text tools
*cd (change directory)
vi editor
*egrep
wildcard metacharacters
*grep
*file  
*grep
*head
*less
*ls
*more
*pwd (print working directory)
*strings
*tac
*tail
==Regular Expressions==
===Search files for regular expressions using grep===
*grep allows you to search through a file for text argument.
 
 
 � �  Key � �Commands� � 
*grep "localhost" /etc/hosts
 
cat 
cd (change directory)
egrep
fgrep
file
grep
head
less
ls
more
pwd (print working directory)
strings
tac
tail
Search files for regular expressions using grep
grep allows you to search through a file for text argument.
 
grep "localhost" /etc/hosts
    return lines that include localhost in the file /etc/hosts
    return lines that include localhost in the file /etc/hosts


grep -v "localhost" /etc/hosts
*grep -v "localhost" /etc/hosts
    return lines that DONT include localhost in the file /etc/hosts
    return lines that DONT include localhost in the file /etc/hosts


grep -l "LOCALHOST" /etc/hosts
*grep -l "LOCALHOST" /etc/hosts
    return lines that include localhost in the file /etc/hosts that is not case-sensitive  
    return lines that include localhost in the file /etc/hosts that is not case-sensitive  
 
 
 
 
 
 
Regular Expressions
Commands to Display Contents of Binary Files
 strings = searching binary file for text
 od = displays file in octal format
 od -x = displays contents in hex


Searching for Text within Files
===Commands to Display Contents of Binary Files===
*strings = searching binary file for text
*od = displays file in octal format
*od -x = displays contents in hex
 
===Searching for Text within Files===
Tools: grep, awk, sed, vi, emacs, ex, ed, C++, PERL, tcl
Tools: grep, awk, sed, vi, emacs, ex, ed, C++, PERL, tcl
Regular expressions
Regular expressions
Wildcard metacharacters are interpreted by the shell
Wildcard metacharacters are interpreted by the shell
Regular expressions are interpreted by text tool program
Regular expressions are interpreted by text tool program
Wildcard metacharacters match characters in file & dir names
Wildcard metacharacters match characters in file & dir names
Regular expressions match charters within file
Regular expressions match charters within file
Wildcard metacharacters typically have different definitions than regular expressions metacharacters
 
Wildcard metacharacters typically have different definitions than regular expressions
 
metacharacters
 
There are more regular expression metacharacters than wildcard metacharacters
There are more regular expression metacharacters than wildcard metacharacters






  Emacs
  ===Emacs===
  Not installed by default in Fedora 13.
  Not installed by default in Fedora 13.
  Can run in a GUI environment.
  Can run in a GUI environment.
  More GUI than vi.
  More GUI than vi.
 Written in C and Emacs Lisp.
 Written in C and Emacs Lisp.
 Licensed GNU GPL
 Licensed GNU GPL
 Users can combine commands into macros
    to automate task.


Summary  
 Users can combine commands into macros to automate task.
Linux file system is a hierarchy,  series of directories  
 
 
==Summary==
*Linux file system is a hierarchy,  series of directories  
paths are absolute or relative
paths are absolute or relative
Many types of files - text, scripts, executable, dirs, linked, special device
*Many types of files - text, scripts, executable, dirs, linked, special device
ls - view file names and many options to modify view
*ls - view file names and many options to modify view
Wildcard metacharacters help to select multiple files
*Wildcard metacharacters help to select multiple files
Regular expression metacharacters are used in many ways.
*Regular expression metacharacters are used in many ways.
Text files can be viewed differently with commands such as, head, tail, cat, tac, more and less.
*Text files can be viewed differently with commands such as, head, tail, cat, tac, more and less.
vi is the most common text editor however GUI options exits  
*vi is the most common text editor however GUI options exits  


==References==
==References==

Revision as of 15:40, 30 January 2012

CNT-2311-Chapter 3

Exploring Linux Filesystems

Objectives

  • Comparison of Windows and Linux filesystems
  • Navigate the directory structure using relative and absolute pathnames
  • Types of files
  • View filenames and file types
  • Use shell wildcards
  • Display contents of files
  • Search files for regular expressions using grep
  • Use vi to modify text files
  • Alternatives to vi
  • File Hierarchy
  • Comparison of Windows v. Linux filesystems�

 

Navigate the directory structure using relative and absolute pathnames 

start in home dir

 use ~ to reference home directories

present dir = pwd

/home/randy/

change dir = cd

cd /etc - change directory to /etc

relative path name = path to the file in relation to the current working directory

".." references the next higher up dir

tab-completion!

 

Types of files

Text, Binary, Executable

Directory = still just a file

Linked = reference other files, shortcut

Special device files = reference hard disks or ports, contained in /dev

Named pipes = communication between process in memory

Created using mkfifo or mknod One process is a reader other is a writer Sockets = named pipes between remote computers Filenames Filename facts 255 max characters alphanumeric, _ -  .   may or may not have extension to denote type Lots of different extensions 

Links

Commands to view filenames and file types

pwd - Show current directory

pwd - /home/randy

ls -ltr   - Show listing and give color codes to information

listing including file permissions, ownership and date/time stamp.

Executable files: Green

Normal file : Normal

Directory: Blue

Symbolic link : Cyan

Pipe: Yellow

Socket: Magenta

Block device driver: Bold yellow foreground, with black background

Character device driver: Bold yellow foreground, with black background

Orphaned syminks : Blinking Bold white with red background

Missing links ( - and the files they point to) : Blinking Bold white with red background

Archives or compressed : Red (.tar, .gz, .zip, .rpm

Image files : Magenta (.jpg, gif, bmp, png, tif)

View filenames and file types

  •  ls -F = gives file type, special character is listed on the left of the name = Metacharacters=
  • @ = linked file
  • = exe
  • / = subdirectory
  • = is a socket
  • | = named pipe

Other files do not have special character appended to them - they can be anything not listed above


  • ls -l = ls long listing

When listing files/directories a special character on the left indicates what type of file it is

  • d = dir
  • L = linked
  • b & c = special device files
  • n = named pipe
  • s = socket
  • - = other - txt, bin

Display contents of files

  • vi - editing a file
  • emas - alternative to vi
  • cat - concatenation - similar to "type" in DOS/Windows.
  • tac - reverse concatenation - types file in reverse
  • head - displays the top ten lines of a file
  • tail - displays the bottom ten lines of a file
  • more - displays file page by page
  • less - similar to more but allow line by line manipulation

Key Terms

  The tab completion feature is something your really going to like, it makes life much easier for you, rather than typing every single command you type the first character or two and hit the tab key and it finishes it for you.

  • ~ metacharacter = represent user's home dir
  • Absolute pathname - full path to a file or starting from /
  • Binary data file - contains machine language (1 or 0)
  • cat - display file contents
  • cd - change directory
  • Command mode - vi mode for text editing
  • Concatenation - joining of text
  • egrep = grep -E
  • emacas = ediotr macros editor, think of as word pad
  • fgrep = grep -F
  • Gedit = GUI text editor
  • Head - displays first 10 lines, can specify # of lines
  • Insert mode - vi mode only allows text into file, no other options
  • less command - display file pg. by pg. cursor navigation
  • Linked file - file that represents another file
  • ll command = ls -l
  • more command = displays file pg. by pg. & line by line
  • Named pipe file - temp connection that sends info from 1 cmd or process in memory to another, *can represent a file
  • Nano editor - terminal text editor, uses ctrl keys for functions and navigation
  • od command - displays file contents in octal format
  • Parent dir - one dir level up
  • Regular expressions - special metacharacters
  • Relative pathname - path to a folder relative to the pwd
  • Socket file = named pipe between 2 computers
  • Special device file - files to identify hardware
  • Strings command - search & display text in a bin file
  • Tab-completion - press tab to complete path in the shell
  • tac command = cat backwards
  • Tail cmd = display last 10 lines
  • Text tools = program to create, modify, & search txt files
  • Wildcard metacharacters = used to match certain characters 

Key Commands

We have some of the key commands listed alphabetically here but the cat command is much like the tac command where cat is used to display the entire contents of a text file the tac command begins with the last line of a file and ends with the the first line of the file. (Just like the word cat backwards is tac)   The " global regular expression print" or grep command searches files for patterns of characters using regular expressions. The egrep & fgrep are other variants of grep that we will talk about later. The print working directory is a useful command to see where you are in a current directory in the tree. And ls command is another useful used for listing files in a given directory.

  • cat 
  • cd (change directory)
  • egrep
  • grep
  • file
  • grep
  • head
  • less
  • ls
  • more
  • pwd (print working directory)
  • strings
  • tac
  • tail

Regular Expressions

Search files for regular expressions using grep

  • grep allows you to search through a file for text argument.

 

  • grep "localhost" /etc/hosts

    return lines that include localhost in the file /etc/hosts

  • grep -v "localhost" /etc/hosts

    return lines that DONT include localhost in the file /etc/hosts

  • grep -l "LOCALHOST" /etc/hosts

    return lines that include localhost in the file /etc/hosts that is not case-sensitive      

Commands to Display Contents of Binary Files

  • strings = searching binary file for text
  • od = displays file in octal format
  • od -x = displays contents in hex

Searching for Text within Files

Tools: grep, awk, sed, vi, emacs, ex, ed, C++, PERL, tcl

Regular expressions

Wildcard metacharacters are interpreted by the shell

Regular expressions are interpreted by text tool program

Wildcard metacharacters match characters in file & dir names

Regular expressions match charters within file

Wildcard metacharacters typically have different definitions than regular expressions

metacharacters

There are more regular expression metacharacters than wildcard metacharacters


===Emacs===
Not installed by default in Fedora 13.
Can run in a GUI environment.
More GUI than vi.

 Written in C and Emacs Lisp.

 Licensed GNU GPL

 Users can combine commands into macros to automate task.


Summary

  • Linux file system is a hierarchy,  series of directories

paths are absolute or relative

  • Many types of files - text, scripts, executable, dirs, linked, special device
  • ls - view file names and many options to modify view
  • Wildcard metacharacters help to select multiple files
  • Regular expression metacharacters are used in many ways.
  • Text files can be viewed differently with commands such as, head, tail, cat, tac, more and less.
  • vi is the most common text editor however GUI options exits  

References

  • Anatomy of the Linux File System

http://www.ibm.com/developerworks/linux/library/l-linux-filesystem/

  • File extensions

http://learn.clemsonlinux.org/wiki/File_extensions

http://www.debianhelp.co.uk/fileext.htm

  • Linux/Unix/BSD Post-Exploitation Command List

https://docs.google.com/document/d/1ObQB6hmVvRPCgPTRZM5NMH034VDM-1N-EWPRz2770K4/edit?hl=en_US

  • vi tutorial

http://www.unix-manuals.com/tutorials/vi/vi-in-10-1.html

  • VI Cheatsheet

 http://www.atmos.albany.edu/deas/atmclasses/atm350/vi_cheat_sheet.pdf

  • Learning the vi and Vim Editors

http://www.amazon.com/Learning-Vim-Editors-Arnold-Robbins/dp/059652983X/ref=sr_1_1?s=books&ie=UTF8&qid=1326846342&sr=1-1 

  • Command Guides

http://wiki.ihcnt.net/w/Linux_command_guide

http://wiki.ihcnt.net/w/Linux-command-list 

  • Emac Guide

http://sean.wenzel.net/docs/emacs/quick_reference/ 

  • 15 Practical examples of ls commands

http://www.thegeekstuff.com/2009/07/linux-ls-command-examples/