6cd17870dd5e88b47e10bf240b4a0e0e.ppt
- Количество слайдов: 39
Chapter 3: Command Line Utilities Doin’ stuff
In this chapter … • Special characters • Redirection • More utilities than you shake a stick at
Typing Commands • Beware of special characters • Characters that have special meaning to the shell • Shell expands, modifies and interprets special characters before issuing the command
Special Characters • &; |*? ‘“`[]()$<>{}^#/%!~+ • Plus whitespace (tabs, spaces, newlines) • Do not use these in filenames unless you have to • To use them, either put in single quotes, or proceed with a backslash – ls ‘filename with special chars!!’ – ls [cat]
Special Characters con’t • All special characters have special meaning to the shell • We’ll explore these in great detail in upcoming chapters
Utilities • Linux & Unix come with thousands of utilities • Some used explicitly, others implicitly • Some text-based, some GUI, some both
Some tips before we start • Tab completion – When typing a filename or command name, you can type the first few letters then hit TAB to autocomplete the command • Pipe (|) symbol – Used to chain commands together – The output of one command becomes the input of another – We’ll revisit this in detail later
ls: Li. St files • Used to list files contained in a directory • Can narrow the search using pattern matching • Examples – ls displays ‘all’ the files in the directory – ls cats displays the file cats in the directory – ls ca* displays files starting with ‘ca’
cat: catenate a file • Displays the contents of one or more files • Beware – don’t try with binary files • Examples – cat myfile displays contents of myfile – cat file 1 file 2 displays contents of file 1 followed by contents of file 2
rm: Re. Moves a file • Similar to del in DOS • Use the –i option to invoke interactive mode, which prompts you if you’re sure • Examples: – rm myfile deletes myfile – rm –i myfile prompts you before deleting
more and less: pagers • more and less are similar in that they both break up long files into page long chunks • Press h to display possible commands • Examples – less myfile displays myfile one page at a time
hostname: Where am I? • hostname will display the name of the system you are currently logged onto • Usually a fully qualified domain name (FQDN) • Example: – hostname displays: ares. bcs. solano. cc. ca. us
cp: Co. Pies files • Usage: cp sourcefile destinationfile • Creates a copy, leaves sourcefile intact • If destinationfile exists, it will be overwritten – Unless you use –i option • Example: – cp myfile. backup
mv: Mo. Ve files / change name • Usage: mv existingfile newfile • Just like cp, can overwrite with –i option • Renames a file, which can also move it to another directory • Examples: – mv myfile foshizzle – mv /dir 1/myfile /dir 2/myfile
lpr: Line PRinter • • • Places files into the print queue Usage: lpr [-Pprintername] files You can check the status of queue with lpq You can delete a job with lprm Sorry, we don’t have a printer
grep: global regular expression print • • Used to search for strings in files/output Usage: grep expression filename Returns lines with expression in filename Example: – grep ‘automagically’ myfile
head: display beginning • Displays beginning of file • head -X filename displays first X lines • Check out pg 727/691 for more options
tail: duh • Displays the end of a file • tail -X myfile displays the last X lines • Check out pg 843/783 for more options
sort: displays sorted info • sort displays data in a sorted manner, without altering the original file • Lots of options – sort alphabetically, numerically, with or without repeats, reverse order, etc • Check out pg 817/762
uniq: removes duplicates • uniq displays data, omitting successive repeat entries • Have to sort file first – otherwise it might not find all duplicates • Does not alter original file
file: what kind of file is this? • Usage: filename • Tells you what kind of file you’re working with and what kind of data is in it • Examples include program, shell builtin, ASCII text, compressed data, etc
echo: display text • Displays (echoes) text back to the terminal screen • Can print out contents of shell variables • Useful in shell scripts • In other words, seems dumb now but we’ll use it a lot down the road
date: displays time and date • Command options can change formatting • Privileged accounts can use date to change date and time • Can be useful for scripting
script: captures session • Captures all input and output on the terminal and saves to a file • A good way to document your work, or capture errors for analysis • Type script to start capture, exit to quit • By default stores everything in the file typescript
Text Converters • unix 2 dos and dos 2 unix • Unix and DOS use different end of line characters • Use these utilities when moving text files back and forth between Windows and Linux systems • Weird script error? Try dos 2 unix
Compressing files • • bzip 2 files gzip files compress files Each use their own algorithms and have their uses
Uncompressing files • bunzip 2 compressed-file • gunzip compressed-file • ucompressed-file
tar: Tape ARchive • Packs and unpacks files from archives • *Does not compress, only assembles* • Tons of options, allowing you to add or remove files from archive, and also apply compression using third party support
which: locates utilties • Will display the location of a utility • which ls displays location of ls command you’re using • In case of there being multiple locations, which only displays the first (i. e. , the one you will be using)
whereis: locates utilities • Similar to which, but displays the utilities in a standard set of locations • The first one listed may not be the one you will issue when you enter the command • All depends on your PATH (chapter 4)
Sidenote • which and whereis do not list shell builtins • Shell builtins are functions that are internal to the shell itself – no binary executable • To see if you’re using a builtin, use type
apropos: what do I use? • Not sure what utility you’re looking for? • Try apropos keyword • Displays utilities and libraries related to your keyword • Found one, but not sure? whatis utility to show what it does, or check man page
locate: search for files • System maintains a database of files • Your system administrator should configure a job to regularly update this database • Searches for any kind of file – not just utilities • Some systems use slocate (secure) • Latest distros use mlocate via locate
who: Who’s online? • Displays what users are logged on • Also displays when they logged on, and with what device (terminal or console, etc) • Also try who am i
finger: reach out and touch … • finger by itself displays users logged on like who, but also shows idle time and office location • finger username shows info about that user, like home directory, last logon, their shell, if they have unread mail, and. plan and. project files
w: What’s up? • w is similar to who by showing who’s logged on • Also shows system uptime, and memory and CPU load averages • Good overall status of the system
write: send a message • write username opens up a text-based chat with the user • Type message • Wait for response • CTRL-D to exit write
mesg: Enable/disable write • Usage: mesg y|n • Turns off whether users can write you or not • Useful if you don’t want to be bugged
mail: system mail • Our system is a closed system • You can send mail to other users on the system • No public mail


