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 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) 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 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/ 50 Most Frequently Used UNIX / Linux Commands http://www.thegeekstuff.com/2010/11/50-linux-commands/