command options argument ------- ------- -------- at -c,l,m,r,s time[date] run job(s)/process(es) at a particular time[date] e.g. at 03 at> ls > save.ls at> pwd >> save.ls at> ^D at 3 am, put a list of the files and directories in the pwd into 'save.ls' and append this file with the pwd info at -l show a list of the job(s) under 'at' control, with ID number at -m 1445 at> clear at> mywee.sh XXXXX > mws.result at> ^D at 2:45 pm, run the shell script 'mywee.sh' using XXXXX as an argument and redirect the output to 'mws.result'. Also send an EMail to the user upon completion at -r 389012.a cancel the job with ID 389012 Back to Index command options argument ------- ------- -------- awk -Fc -f file filename similar to grep, with the advantage of being able to find by fields within lines and to process the lines it finds with further commands. Rather like grep coupled to find and piped through a math function, like a spreadsheet in function. e.g. awk -f seek.schmo poem uses the file of awk commands called 'seek.schmo' and applies them to 'poem'. awk '/breath/ {print $0}' poem finds lines in the file 'poem' with the string 'breath' and displays them on the terminal. Note: {print $0} is default action awk -F\ '$1~/breath/ {print $1, $2}' poem finds lines in the file 'poem' with the first word (seen as a field with a space delimiter) containing the string 'breath' and displays the first and second words (fields) awk '$3!~/nausea/ {print $2, $1, $6}' illness finds lines in the file 'illness' with the third field NOT containing 'nausea' and then displays fields 2, 1, and 6, in that order awk -F: '$1~/item/ {tn=$3+$4+$5;tv=tn*$6;print $2, tn, tv}\ inventory finds lines that list items from the file 'inventory'. The itemID ($2) is printed, as is the total number of items in the three warehouses ($3+$4+$5) and the total value of these items (tn*$6, where $6 is the item unit cost). Notes: field delimiter is full colon; semi-colon is used to separate the three actions awk 'END {print NR}' poem goes to the end of the file 'poem' and prints out the total number of lines. NR = Number of Records, and is built in to AWK. awk '$3 >= 15 {print $0}' inventory finds the records with the third field GE 15 and prints them. Conditional pattern selection. awk '$1~/[A-F]*/&& $3 <= 150 {nd=150-$3;print "warehouse \ 3 needs " nd " more of " $1}' inventory finds the items beginning with A through F and assesses the stock requirements of warehouse #3 for these items. && means BOTH conditions must be met. awk also has the following control commands for action statements: if ( conditional ) statement [ else statement ] while ( conditional ) statement for ( expression ; conditional ; expression) statement break continue { [ statement ] ...} variable=expression print [ expression-list ] [ > expression ] Sprintf format [ , expression-list ] [ > expression ] next skip remaining patterns on this input line exit skip the rest of the input Back to Index command options argument ------- ------- -------- cal - [month] year show a calendar for a particular month or year e.g. cal 05 1873 Back to Index command options argument ------- ------- -------- cancel - job ID from lp stops a printing job. e.g. cancel 96 stops printing job ID 96 Back to Index command options argument ------- ------- -------- cat - filename(s) dump contents of file(s) to screen e.g. cat Personal/form.txt Back to Index command options argument ------- ------- -------- cc -c,o filename(s).c (or .o) compiles c programme(s) contained in 'filename.c(or .o)', and generates an executable file, usually called a.out e.g. cc -o works yes.c it.c compiles 'yes.c' and 'it.c' into an executable file named 'works' Back to Index command options argument ------- ------- -------- cd - Dirname change to another directory e.g. cd Pictures cd ../lib Back to Index command options argument ------- ------- -------- chmod ugo,+/-,rwx filename(s) changes the protection and/or mode of operation of a file e.g. chmod u+x test makes the file 'test' into an executable one within a shell for the user chmod go-rw poem removes permission for the group or the world to read or write the file 'poem' chmod o-rwx Poems no one outside you or the group may read files in, write files to, or even list the files in the your Poems sub-directory chmod o-x,g+w script others can't execute your file 'script', but your group can write to it Back to Index command options argument ------- ------- -------- cmp -l file1 file2 compares the two files and reports the location of the first difference found between them e.g. cmp poem poem1 cmp -l poem poem1 shows all differences cmp poem shows first difference between what you enter and file 'poem' Back to Index command options argument ------- ------- -------- comm -1,2,3 file1 file2 compares the two files, but only if they have been sorted first, and shows results in a three column table. Col1 lists lines only in file1, col2 for file2, and col3 for lines in common. e.g. comm -12 poem poem1 show only lines in common (col3) Back to Index command options argument ------- ------- -------- cp - filename(s) newfilename filename(s) Dirname copy file(s) into another filename or directory e.g. cp 1st 2nd composite puts contents of '1st' and '2nd' into the 'composite' file cp assorted Misc copies 'assorted' into the 'Misc' subdirectory Back to Index command options argument ------- ------- -------- csh - - make a c shell; exit with ^D Back to Index command options argument ------- ------- -------- cut -c,f -d filename(s) cuts columns from a file and passes them along. Works either in character mode or field mode. The -d option allows you to change the default field delimiter from a. e.g. cut -c1-4,7 cheese selects only characters 1 through 4 and 7 from each line of 'cheese' and sends them to the screen cut -f2,5- report selects the delimited fields 2, 5, 6, 7 ... (to the last column) from 'report' cut -f3,4,9 -d" " poem > texture selects only words 3, 4 and 9 from 'poem', storing them in the file 'texture' Back to Index command options argument ------- ------- -------- date - - show the date and time Back to Index command options argument ------- ------- -------- diff -b,e file1 file2 compares two files and lists the changes required to make the first identical to the second. e.g. diff -b poem poem1 ignores blanks diff -e poem poem1 lists differences as a series of ex editor commands required Back to Index command options argument ------- ------- -------- echo - charstring; env var; `command` returns the argument to the screen; useful for descriptions in shell scripts e.g. echo Version 1.1 prints 'Version 1.1' to the screen echo $HOME prints the value of your home directory echo `grep nonsense *.html` prints the lines from any "html" files with the word "nonsense" Back to Index command options argument ------- ------- -------- f77 -c,o filename(s).f (or .o) compiles fortran programme(s) contained in 'filename.f (or .o)', and generates an executable file, usually called a.out Back to Index command ------- find dirname search criteria actions finds file(s) in specified directory (and all subdirectories) matching the given pattern and performs an action upon them e.g. find /home1/cc -name oops -print finds all files named 'oops' in the directory 'cc' or its sub- directories, and shows the path find . -name '*.[fc]' -print finds all fortran and c files in the current directory and shows the path find ./bin ./lib -atime +7 -ok rm {} \; finds all files last accessed over 7 days ago in the /bin and /lib subdirectories, and queries you, for each one, if you want it removed find . -mtime 1 -exec lpr -P2up {} \; all the files you modified yesterday are printed find .. -size +2 ! -newer std.in -print all the files in the directory above the current on are searched for those with sizes greater than two blocks and with updates NOT more recently than std.in, and then their paths are shown Back to Index command options argument ------- ------- -------- grep -n,c,v string [filename(s)] search for 'string' in the files named and dumps lines with 'string' result to screen e.g. grep -n silly poem finds 'silly' in the file 'poem' showing the lines and their numbers in the file, too grep -c "h.s" Well/que finds all words such as his, whose, hostile, hassle, hussle, watches ... in 'que' file and displays a count of matching lines grep -v "and so" tale finds all lines without "and so" and displays them grep '^Yo Mama' insults finds all lines beginning with the words 'Yo Mama' in the file 'insults' grep 'ley$' poem finds all lines ending with 'Tetley', 'lines of ley', etc grep [n-t]at poem finds all lines with words like tattle, prat, gnat, but excludes those lines with the words cat, mat, vat grep [^n-t]at poem finds all lines withOUT words like tattle, prat, gnat, but won't omit lines with cat, mat, vat Back to Index command options argument ------- ------- -------- kill -9 process ID number stops a job/process; process ID number comes from 'ps' Back to Index command e.g. kill 3890 stops process 3890 kill -9 3890 REALLY stops it Back to Index command options argument ------- ------- -------- ln - file1 file2 filename(s) Dirname links a new file to an existing one, in the current or different directory e.g. ln ../New/text doc puts a link file named 'doc' to the file 'New/text' in the present directory ln text doc Wip puts link files for 'text' and 'doc' into Wip directory Back to Index command options argument ------- ------- -------- lp -d filename(s) sends a formatted file to the specified printer e.g. lp -dps poem prints 'poem' on the post- script (laser) printer, ps Back to Index command options argument ------- ------- -------- lpr -P[ps,2up,ansi] filename(s) formats a file for printing and sends it to the specified printer e.g. lpr -Pps Wip/text prints 'Wip/text' to postscript (laser) printer, ps lpr -P2up poem prints 'poem' @ 50% on ps Back to Index command options argument ------- ------- -------- lpstat -p - returns the status of the printing queues e.g. lpstat shows which printers are active and how many jobs are queued lpstat -p full report of all printers, regardless of activity Back to Index command options argument ------- ------- -------- ls -a,c,l,p,r,s,R,... [Dirname] shows list of files and directories in current or named directory e.g. ls -a lists ALL entries ls -c lists files by creation time ls -l files in long format, showing links, size, owner ls -p ../Wip marks directories with / ls -r reverse order ls -s shows size in blocks ls -R shows subdirectories Back to Index command options argument ------- ------- -------- mail - filename(s) Email programme e.g. mail text sends file 'text' to whoever Back to Index command options argument ------- ------- -------- man -k [keyword],??? [command] shows help file/manual page for 'command' or list of possible commands relevant to 'keyword' e.g. man -k erase lists commands and manual pages with the string 'erase' man cat shows manual page on cat command Back to Index command options argument ------- ------- -------- mesg - y or n lets you turn on (y) or off (n) your ability to receive messages from other users of the computer Back to Index command options argument ------- ------- -------- mkdir - Dirname makes a new subdirectory called 'Dirname' e.g. mkdir Forpost puts a new subdirectory named 'Forpost' in current directory Back to Index command options argument ------- ------- -------- mv - file1 file2 filename(s) Dirname moves (renames) the contents of a file into a new filename moves (renames) a (group of) file(s) to a new Directory e.g. mv ../New/text doc moves the contents of the file 'text' into the file 'doc' mv text doc Wip moves the two files 'text' and 'doc' from the current directory into the Wip directory Back to Index command options argument ------- ------- -------- nohup - command prefacing a command with 'nohup' prevents the ensuing job/process from being terminated at user logout e.g. nohup ls > save.ls puts a listing of all files from current directory into 'save.ls', even though user has logged out Back to Index command options argument ------- ------- -------- nroff -e,h,i,q -mNAME - nN filename(s) formats text files with indents and line spacings and whatnot for eventual dumping to screen or file or printer. The info to tell what formatting to do may be a simple option (-e), a series of basic commands "embedded in the text file, or an option that calls a whole file of possible formatting macros (-me , where e is the NAME of the macro-holding file), these macros themselves being embedded in the text file. e.g. nroff -e poem dumps 'poem' to screen with equally spaced words in adjusted lines nroff -me poem dumps 'poem' to screen, using embedded macros defined in the 'tmac.e' file for formatting Back to Index command options argument ------- ------- -------- passwd - - change to a new password Back to Index command options argument ------- ------- -------- paste -s -d filename(s) pastes lines together from two or more files to form a "table" of the lines from the files. Alternately, paste can concatenate all the lines of one file with the -s option. Delimiters may be specified other than and many delimiters may be cycled through as the merge proceeds. e.g. paste poem1 poem2 appends each line of poem2 onto the end of each line of poem1, delimited by a paste -s -d" \t\n" report takes the lines of 'report' in threes, separating the first two by , the second two by and ending the third with a (aka CRLF) Back to Index command options argument ------- ------- -------- pg -c,s,??? [filename(s)] shows the contents of a file on screen, one page at a time. pg is a 'read-only text editor'; once using pg to show a file, move around within the file by pressing for the next screen, or +/- integers to jump a number of screens ahead or back. The 'q' command quits pg. e.g. pg text shows the contents of 'text' one page at a time Back to Index command options argument ------- ------- -------- pr -a,d,f,ln,m,n,p,r,t,wn,+n filename(s) formats file(s) for display to terminal or piping to printer -a multicolumn output, by line across page (with -n option) -d doublespaced -f use formfeed to separate pages; doesn't affect page length -ln make page length n lines, instead of 66 -m print all files at once, one per column -n output in n columns, by line down the page -p pause before the beginning of each page -r do not show diagnostic report if error occurs -t omit 5 line header and footer -wn set page width to n characters, instead of 72 +n start with nth page e.g. pr -dp poem show 'poem' on screen, double- spaced and requiring a RETURN before showing next page Back to Index command options argument ------- ------- -------- ps -a,f - display the process status, which shows the process ID numbers of jobs in the system, the types of jobs and from where they are being run e.g. ps -a show ALL processes from all users ps -f show ALL information about the users' jobs, including priority Back to Index command options argument ------- ------- -------- pwd - - show the name of the present working directory Back to Index command options argument ------- ------- -------- rm -i,r [Dirname/]filename(s) removes the named file(s) e.g. rm -i Janu*.* deletes all files starting with 'Janu' and with only one extension, with a query for each file rm -r Old deletes the directory 'Old' and every file within it! Back to Index command options argument ------- ------- -------- rmdir - Dirname(s) removes the named directory(s) IFF empty e.g. rmdir Oldstuff deletes 'Oldstuff' if it has no files Back to Index command options argument ------- ------- -------- sed -n 'ed command' filename(s) edits file(s) as though it was (they were) a stream of text, dumping output elsewhere (screen or another file) instead of modifying the original file. Great for global changes and for specific changes IFF you know which lines (by number or by pattern) need to be altered. Use sed under sh, not csh! An 'ed command' has the following structure: '(number(,range)OR(,/pattern/)command(/old/new/)(\insert)' This is a complicated structure and needs clarification. The first part of an 'ed command' tells sed where to apply the changes: to a line or lines matching numbers or patterns, to a mix of the two, or globally. e.g. sed '2d' poem deletes second line of 'poem' sed '2,4 s/tree/timber/' poem replaces the FIRST occurance of the word 'tree' with the word 'timber' in lines 2 through 4 of 'poem' sed '7,/Linus/p' poem prints every line from the seventh to the first with the word 'Linus' sed 's/[Hh]emo/[Hh]aemo/g' poem in ALL lines of 'poem', change EVERY occurance of 'hemo' or 'Hemo' to 'haemo' or 'Haemo' (g = global) sed -n '$p' poem prints the last line of 'poem' sed -n '/c[ao]n/p' poem prints only lines with 'can' or 'con' in them sed -n '/c[^ao]n/p' poem prints only lines with words containing 'c?n', where ? isn't either a or o; omits 'can I go for a walk?' but includes 'can I go to Cincinatti for a walk?' sed -n '/c[ao]n/!p' poem prints only lines WITHOUT 'can' or 'con' in them The second part of an 'ed command' tells sed what changes to apply. Note that some of these change commands will not accept a range of lines (e.g., 2,6) for their action. e.g. sed 'a\ > append THIS!' poem puts the phrase 'append THIS!' on its own line after EVERY line in the file 'poem' sed '/opt/ i\ > insert THIS!' poem puts the phrase 'insert THIS!' on its own line before every line containing the word 'opt' sed '/You/ c\ > Yo Mama' insults changes all lines with the word 'You' into the phrase shown sed '/boots/ s/military/army/g' insults changes the word 'army' to 'military' whenever 'boots' is in a line of the file 'insults' sed -n '3p' poem prints the third line of 'poem' sed '/nausea/q' ill prints the file 'ill' up to the first occurance of 'nausea' sed '$ r finish' poem appends the contents of the file 'finish' to the file 'poem' sed '/[aeio]/ !w uvowel.ls' poem copies every line from 'poem' lacking the letters [aeio] and puts them in a file called 'uvowel.ls' sed '=' poem prints the line numbers for each line of 'poem' sed '/tart/=' poem prints the line numbers of each line with the word 'tart' in 'poem' sed '/don\'t/!p' poem prints all lines without the word 'don't' from 'poem' Finally, sed commands may be multiple; concatenate them by enclosing them within one set of '', but on separate lines. Back to Index command options argument ------- ------- -------- sh - - makes a Bourne shell; exit with ^D Back to Index command options argument ------- ------- -------- sort -b,d,f,n,o filename,r -tc,+sw -ew[cf] filename(s) sorts and merges lines from file(s). Resulting list is alpha- betical, but UPPER and lower case letters are sorted separately, numbers are sorted by first digit (not value), blanks beginning lines come before A or a in listing, and other symbol characters are used in sorting as well. These defaults can be over-ridden and lines may also be sorted by strings other than the first one, by using the fields option. e.g. sort -b poem sort 'poem', ignoring blanks sort -d poem sort 'poem' using ONLY letters, numbers and blanks sort -f poem sort 'poem' ignoring letter case sort -n inventory sort 'inventory' by number value sort -o surpoem poem sort 'poem' and put result into a newfile called 'surpoem' sort -r poem sort 'poem' in reverse order sort -t: -f -o invsort +1 -3 inventory sort 'inventory' using only the second and third words on each line. Words are delimited by a full colon (not spaces). Ignore the case of the letters and dump the result to a file called 'invsort' sort -t; -n +2 -3 +7 number.list sort 'number.list' using only the third and eigth values on the lines. Values are delimited by semi-colons sort -t- -d +2.3r -4 +6f listing > processed.list sort 'listing' using only the third character of the third word, sorted in REVERSE, the fourth word, sorted normally, and the seventh word, sorted independent of letter case. The field delimiter is a dash '-' and the output is redirected to 'processed.list' Back to Index command options argument ------- ------- -------- spell - filename(s) produces a list of all questionable words in the file(s) listed. Back to Index command options argument ------- ------- -------- stty -option settings, baud rate reports on the current settings of baud rate and terminal options. When followed by a option with a new setting, changes the terminal environment to the new setting e.g. stty -echo turns off echoing stty erase \ ^h sets 'erase' to Back Space Back to Index command options argument ------- ------- -------- tail +/- number,l,b,c filename(s) prints sections of file(s). +number means start after this number of lines (or blocks or characters, if the flags b or c are given), while -number means start this number of lines before the end of the file. Default number is -10l. e.g. tail poem shows last ten lines of 'poem' tail +30c poem shows all of 'poem' beginning with thirtieth character Back to Index
command options argument ------- ------- -------- tee -a,i filename(s) forks output to both the screen and a named file e.g. ls | tee save.ls sends list of files to screen and to file 'save.ls' Back to Index
command options argument ------- ------- -------- time - command runs the command indicated and reports on the time used. Time is reported for user (command execution) sys (command support) and real (time sharing) Back to Index command options argument ------- ------- -------- tty - - reports the pathname of your terminal Back to Index command options argument ------- ------- -------- uniq -c,d,u infile [outfile] removes all repeated lines from infile; output to screen or to outfile. Repeated lines must be adjacent (so sort first!) e.g. uniq -c poem shows all lines, with number of repeats counted uniq -d poem shows only duplicated lines uniq -u poem shows only unique lines in infile Back to Index command options argument ------- ------- -------- wc -l,w,c filename(s) counts the number of characters, words and lines in a file e.g. wc poem shows three numbers for # chars, words and lines + filename wc -l poem shows only # lines + filename Back to Index command options argument ------- ------- -------- who - [ami] [ am i] tells who is using the system, and who YOU might be e.g. who shows all current users whoami shows your userID who am I shows your userID + stuff Back to Index command options argument ------- ------- -------- write - userID sends lines from your terminal to the terminal of another user e.g. write norbert lets me fill Norbert's screen with my blather Back to Index command options argument ------- ------- -------- zip - h,i,r filename(s) shrinks or (unzip) expands files, between their usable forms (i.e., editable, executable, viewable, etc.) and a much smaller format for transfer or storage e.g. zip mbf mybigfile.txt shrinks the file 'mybigfile.txt' to one called 'mbf.zip' zip -h writes a short help file on zip to the screen zip allst -i allstuff.* makes a compressed archive called 'allst.zip' of all files beginning with 'allstuff', regardless of the file extensions zip -r megadir . makes a compressed archive called 'megadir' of the current directory and all its subdirectories unzip mbf.zip expands 'mbf.zip' back to 'mybigfile.txt' again Back to Index Special features ------- -------- Wild cards ? matches any one character * matches any number of characters [co]*.c matches c programme files beginning with 'c' or 'o' [a-q]* matches files beginning with any letter from a through to q Job control & put job/process followed by '&' into background at tell a job/process when to run kill terminates a specified job/process nohup make job/process permanent, even if user logs out; should be used with '&', so log out is possible! Redirection methods > sends output to a file instead of the screen >> appends output to a file instead of the screen < receive input from a file | "pipeline" send output from one command to another command tee fork output to screen and to named file Continuation methods ; command separator - for consecutive commands on one line \ command line linker - to continue command on next line # line nulifier - text following is treated only as text Value/content recall methods $variable return value of variable `command` return contents of command output neutralising METAcharacters * ? [ ] > >> < | & ; \ ` " $ # \ METAcharacters following \ is used as a character ` METAcharacters within `` are used only as characters " MEtacharacters within "" EXCEPT $ ` \ are used only as characters Text file formatting nroff alters appearance of simple text files via "embedded" commands placed in the text file and executed by nroff when the file is given as its argument command function .ce N centre next N lines .de cmds .. define an embedded nroff macro .in N indent text N spaces .hy N auto-hyphenation on when N ne 0 .ll N line length N characters .ls N line spacing to N lines .na no right margin justification .nf no fill text .sp N include N blank lines .ti N indent next line N spaces .tr sdfn replace 's' with 'd', 'n' with 'f' Back to Index
David
Featherston ( dwf@biobase.dk ) |
Updated: Friday, 30 May, 1997 |
Copyright © 1995-1997 David W. Featherston |
---|