Chapter 3 Study Guide
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
- http://learn.clemsonlinux.org/wiki/File_extensions
- http://www.debianhelp.co.uk/fileext.htm
- http://filext.com/alphalist.php?extstart=%5EL (not limited to linux)
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 ~ metacharacter absolute pathname binary data file command mode concantenation directory Emacs (Editor MACroS) editor executable program filename filename extension gedit editor home directory insert mode linked file log file named pipe file nano editor parent directory regexp regular expressions relative pathname socket file special device file subdirectory Tab-completion feature text file text tools vi editor wildcard metacharacters � � Key � �Commands� � 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
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 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 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
- 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/
- 50 Most Frequently Used UNIX / Linux Commands http://www.thegeekstuff.com/2010/11/50-linux-commands/