Sei sulla pagina 1di 29

Unix commands Misc commands Shell and other programming File comparison and management searching Text processing

communicati System Storage commands ons status Misc commands

man,banner,cal, calendar,clear,nohup, tty . Man ual command. man man This is help command, and will explains you about online manual pages you can also use man in conjunction with any command to learn more about that command for example.

man ls will explain about the ls command and how you can use it. man -k pattern command will search for the pattern in given command.

Banner command. banner prints characters in a sort of ascii art poster, for example to print wait in big letters. I will type banner wait at unix command line or in my script. This is how it will look.

# # ## # ##### # # # # # # # # # # # # # ## # ###### # # ## ## # # # # # # # # # #

Cal command cal command will print the calander on current month by default. If you want to print calander of august of 1965. That's eightht month of 1965. cal 8 1965 will print following results. August 1965 M Tu W Th F S 2 3 4 5 6 7 9 10 11 12 13 14 16 17 18 19 20 21 23 24 25 26 27 28 30 31

S 1 8 15 22 29

Clear command clear command clears the screen and puts cursor at beginning of first line.

Calendar command calendar command reads your calendar file and displays only lines with current day. For example in your calendar file if you have this 12/20 Test new software.

1/15 Test newly developed 3270 product. 1/20 Install memory on HP 9000 machine. On dec 20th the first line will be displayed. you can use this command with your crontab file or in your login files. Nohup command. nohup command if added in front of any command will continue running the command or process even if you shut down your terminal or close your session to machine. For exmaple, if I want to run a job that takes lot of time and must be run from terminal and is called update_entries_tonight . nohup update_entries_tonight will run the job even if terminal is shut down in middle of this job.

Tty command Tty command will display your terminal. Syntax is tty options Options

-l will print the synchronous line number. -s will return only the codes: 0 (a terminal), 1 (not a terminal), 2 (invalid options) (good for scripts)

back to top of misc commands back to top of page File Management commands. cat,cd, cp, file,head,tail, ln,ls,mkdir ,more,mv, pwd, rcp,rm, rmdir, wc.

Pwd command. pwd command will print your home directory on screen, pwd means print working directory. /u0/ssb/sandeep is output for the command when I use pwd in /u0/ssb/sandeep directory. Ls command ls command is most widely used command and it displays the contents of directory. options

ls ls ls ls ls ls ls

will list all the files in your home directory, this command has many options. -l will list all the file names, permissions, group, etc in long format. -a will list all the files including hidden files that start with . . -lt will list all files names based on the time of creation, newer files bring first. -Fxwill list files and directory names will be followed by slash. -Rwill lists all the files and files in the all the directories, recursively. -R | more will list all the files and files in all the directories, one page at a time.

Mkdir command. mkdir sandeep will create new directory, i.e. here sandeep directory is created.

Cd command. cd sandeep will change directory from current directory to sandeep directory. Use pwd to check your current directory and ls to see if sandeep directory is there or not. You can then use cd sandeep to change the directory to this new directory. Cat command cat cal.txt cat command displays the contents of a file here cal.txt on screen (or standard out). Head command. head filename by default will display the first 10 lines of a file. If you want first 50 lines you can use head -50 filename or for 37 lines head -37 filename and so forth.

Tail command. tail filename by default will display the last 10 lines of a file. If you want last 50 lines then you can use tail -50 filename.

More command. more command will display a page at a time and then wait for input which is spacebar. For example if you have a file which is 500 lines and you want to read it all. So you can use more filename

Wc command wc command counts the characters, words or lines in a file depending upon the option. Options

wc -l filename will print total number of lines in a file. wc -w filename will print total number of words in a file. wc -c filename will print total number of characters in a file.

File command. File command displays about the contents of a given file, whether it is a text (Ascii) or binary file. To use it type file filename. For example I have cal.txt which has ascii characters about calander of current month and I have resume1.doc file which is a binariy file in microsoft word. I will get file resume.doc resume1.doc: data file cal.txt cal.txt: ascii text Cp command. cp command copies a file. If I want to copy a file named oldfile in a current directory to a file

named newfile in a current directory. cp oldfile newfile If I want to copy oldfile to other directory for example /tmp then cp oldfile /tmp/newfile. Useful options available with cp are -p and -r . -p options preserves the modification time and permissions, -r recursively copy a directory and its files, duplicating the tree structure.

Rcp command. rcp command will copy files between two unix systems and works just like cp command (-p and -i options too). For example you are on a unix system that is called Cheetah and want to copy a file which is in current directory to a system that is called lion in /usr/john/ directory then you can use rcp command rcp filename lion:/usr/john You will also need permissions between the two machines. For more infor type man rcp at command line.

Mv command. mv command is used to move a file from one directory to another directory or to rename a file. Some examples:

mv mv mv mv

oldfile newfile will rename oldfile to newfile. -i oldfile newfile for confirmation prompt. -f oldfile newfile will force the rename even if target file exists. * /usr/bajwa/ will move all the files in current directory to /usr/bajwa directory.

Ln command. Instead of copying you can also make links to existing files using ln command. If you want to create a link to a file called coolfile in /usr/local/bin directory then you can enter this command. ln mycoolfile /usr/local/bin/coolfile Some examples:

ln -s fileone filetwo will create a symbolic link and can exist across machines. ln -n option will not overwrite existing files. ln -f will force the link to occur.

Rm command. To delete files use rm command. Options:

rm oldfile will delete file named oldfile. rm -f option will remove write-protected files without prompting. rm -r option will delete the entire directory as well as all the subdirectories, very dangerous command.

Rmdir command. rmdir command will remove directory or directories if a directory is empty. Options:

rm -r directory_name will remove all files even if directory is not empty. rmdir sandeep is how you use it to remove sandeep directory. rmdir -p will remove directories and any parent directories that are empty. rmdir -s will suppress standard error messages caused by -p.

back to top of File management commands back to top of page Comparison and Searching diff,dircmp, cmp, grep, find.

Diff command. diff command will compare the two files and print out the differences between. Here I have two ascii text files. fileone and file two. Contents of fileone are This is first file this is second line this is third line this is different as;lkdjf this is not different filetwo contains This is first file this is second line this is third line this is different xxxxxxxas;lkdjf this is not different diff fileone filetwo will give following output 4c4 < this is different as;lkdjf --> this is different xxxxxxxas;lkdjf Cmp command. cmp command compares the two files. For exmaple I have two different files fileone and filetwo. cmp fileone filetwo will give me fileone filetwo differ: char 80, line 4 if I run cmp command on similar files nothing is returned. -s command can be used to return exit codes. i.e. return 0 if files are identical, 1 if files are different, 2 if files are inaccessible. This following command prints a message 'no changes' if files are same cmp -s fileone file1 && echo 'no changes' . no changes

Dircmp Command. dircmp command compares two directories. If i have two directories in my home directory named dirone and dirtwo and each has 5-10 files in it. Then dircmp dirone dirtwo will return this Dec 9 16:06 1997 dirone only and dirtwo only Page 1 ./cal.txt ./dohazaar.txt ./four.txt ./junk.txt ./test.txt ./fourth.txt ./rmt.txt ./te.txt ./third.txt

Grep Command grep command is the most useful search command. You can use it to find processes running on system, to find a pattern in a file, etc. It can be used to search one or more files to match an expression. It can also be used in conjunction with other commands as in this following example, output of ps command is passed to grep command, here it means search all processes in system and find the pattern sleep. ps -ef | grep sleep will display all the sleep processes running in the system as follows. ops 12964 25853 0 16:12:24 ttyAE/AAES 0:00 sleep 60 dxi 12974 15640 0 16:12:25 ttyAH/AAHP 0:00 sleep 60 ops 12941 25688 0 16:12:21 ttyAE/AAEt 0:00 sleep 60 ops 12847 25812 0 16:11:59 ttyAH/AAH6 0:00 sleep 60 ops 12894 25834 0 16:12:12 ttyAE/AAEX 0:00 sleep 60 dxi 13067 27253 2 16:12:48 ttyAE/ABEY 0:00 sleep 1 ops 13046 25761 0 16:12:44 ttyAE/AAE0 0:00 sleep 60 dxi 12956 13078 0 16:12:23 ttyAG/AAG+ 0:00 sleep 60 ops 12965 25737 0 16:12:24 ttyAE/AAEp 0:00 sleep 60 ops 12989 25778 0 16:12:28 ttyAH/AAHv 0:00 sleep 60 ssb 13069 26758 2 16:12:49 ttyAH/AAHs 0:00 grep sleep pjk 27049 3353 0 15:20:23 ? 0:00 sleep 3600 Options:

-b option will precede each line with its block number. -c option will only print the count of matched lines. -i ignores uppercase and lowercase distinctions. -l lists filenames but not matched lines.

other associated commands with grep are egrep and fgrep. egrep typically runs faster. for more information type man egrep or man fgrep in your system.

Find command. Find command is a extremely useful command. you can search for any file anywhere using this command provided that file and directory you are searching has read write attributes set to you ,your, group or all. Find descends directory tree beginning at each pathname and finds the files that meet the specified conditions. Here are some examples. Some Examples: find $HOME -print will lists all files in your home directory. find /work -name chapter1 -print will list all files named chapter1 in /work directory. find / -type d -name 'man*' -print will list all manpage directories. find / -size 0 -ok rm {} \; will remove all empty files on system.

conditions of find

-atime +n |-n| n will find files that were last accessed more than n or less than -n days or n days. -ctime +n or -n will find that were changed +n -n or n days ago. -depth descend the directory structure, working on actual files first and then directories. You can use it with cpio command. -exec commad {} \; run the Unix command on each file matched by find. Very useful condition. -print print or list to standard output (screen). -name pattern find the pattern. -perm nnnfind files whole permission flags match octal number nnn. -size n find files that contain n blocks. -type c Find file whole type is c. C could be b or block, c Character special file, d directory, p fifo or named pipe, l symbolic link, or f plain file.

Text processing cut,paste, sort, uniq,awk,sed,vi.

Cut command. cut command selects a list of columns or fields from one or more files. Option -c is for columns and -f for fields. It is entered as cut options [files] for example if a file named testfile contains this is firstline this is secondline this is thirdline Examples: cut -c1,4 testfile will print this to standard output (screen) ts ts ts It is printing columns 1 and 4 of this file which contains t and s (part of this). Options:

-c list cut the column positions identified in list. -f list will cut the fields identified in list. -s could be used with -f to suppress lines without delimiters.

Paste Command. paste command merge the lines of one or more files into vertical columns separated by a tab. for example if a file named testfile contains this is firstline and a file named testfile2 contains this is testfile2 then running this command paste testfile testfile2 > outputfile will put this into outputfile this is firstline this is testfile2

it contains contents of both files in columns. who | paste - - will list users in two columns. Options:

-d'char' separate columns with char instead of a tab. -s merge subsequent lines from one file.

Sort command. sort command sort the lines of a file or files, in alphabetical order. for example if you have a file named testfile with these contents zzz aaa 1234 yuer wer qww wwe Then running sort testfile will give us output of 1234 aaa qww wer wwe yuer zzz Options:

-b ignores leading spaces and tabs. -c checks whether files are already sorted. -d ignores punctuation. -i ignores non-printing characters. -n sorts in arithmetic order. -ofile put output in a file. +m[-m] skips n fields before sorting, and sort upto field position m. -r reverse the order of sort. -u identical lines in input file apear only one time in output.

Uniq command. uniq command removes duplicate adjacent lines from sorted file while sending one copy of each second file. Examples sort names | uniq -d will show which lines appear more than once in names file. Options:

-c print each line once, counting instances of each. -d print duplicate lines once, but no unique lines. -u print only unique lines.

Awk and Nawk command. awk is more like a scripting language builtin on all unix systems. Although mostly used for text processing, etc. Here are some examples which are connected with other commands. Examples: df -t | awk 'BEGIN {tot=0} $2 == "total" {tot=tot+$1} END {print (tot*512)/1000000}' Will give total space in your system in megabytes. Here the output of command df -t is being passed into awk which is counting the field 1 after pattern "total" appears. Same way if you change $1 to $4 it will accumulate and display the addition of field 4 which is used space. for more information about awk and nawk command in your system enter man awk or man nawk.

Sed command. sed command launches a stream line editor which you can use at command line. you can enter your sed commands in a file and then using -f option edit your text file. It works as sed [options] files options:

-e 'instruction' Apply the editing instruction to the files. -f script Apply the set of instructions from the editing script. -n suppress default output.

for more information about sed, enter man sed at command line in your system. Vi editor. vi command launches a vi sual editor. To edit a file type vi filename vi editor is a default editor of all Unix systems. It has several modes. In order to write characters you will need to hit i to be in insert mode and then start typing. Make sure that your terminal has correct settings, vt100 emulation works good if you are logged in using pc. Once you are done typing then to be in command mode where you can write/search/ you need to hit :w filename to write and in case you are done writing and want to exit :w! will write and exit. options:

i for insert mode. o I inserts text at the curson o A appends text at the end of the line. o a appends text after cursor. o O open a new line of text above the curson. o o open a new line of text below the curson. : for command mode. o <escape> to invoke command mode from insert mode. o :!sh to run unix commands. o x to delete a single character. o dd to delete an entire line o ndd to delete n number of lines. o d$ to delete from cursor to end of line.

yy to copy a line to buffer. P to paste text from buffer. nyy copy n number of lines to buffer. :%s/stringA/stringb /g to replace stringA with stringB in whole file. G to go to last line in file. 1G to go to the first line in file. w to move forward to next word. b to move backwards to next word. $ to move to the end of line. J join a line with the one below it. /string to search string in file. n to search for next occurence of string.

o o o o o o o o o o

back to top of Text processing commands back to top of page Shell and programming Shell programming,bourne shell, ksh, csh, echo,line,sleep, test,cc compiler. Shell programming concepts and commands. Shell programming is integral part of Unix operating systems. Shell is command line userinterface to Unix operating system, User have an option of picking an interface on Unix such as ksh, csh, or default sh., these are called shells(interface). Shell programming is used to automate many tasks. Shell programming is not a programming language in the truest sense of word since it is not compiled but rather an interpreted language. Unix was written in C language and thus c language is integral part of unix and available on all versions. Shells, like ksh and csh are popular shells on unix although there are 5 or 6 different shells available but I will only be discussing ksh and csh as well as sh. Common features among all shells are job control, for example if I am running a processes which is searching the whole system for .Z files and output is directed to a file named compressedfiles. example:

find / -name *.Z -print > compressedfiles then after entering this command hitting <control z> key will suspend this job, then entering bg at command line will put this job in background, entering fg will put this job in foreground. Entering jobs at command line will show me all my concurrent jobs that are running. Other common features

o o o o o o

> will redirect output from standard out (screen) to file or printer or whatever you like. >> filename will append at the end of a file called filename. < will redirect input to a process or commnand. | pipe output, or redirect output, good for joining commands, i.e. find command with cpio, etc. & at the end of command will run command in background. ; will separate commands on same line.

o o o o o o o o o o o o o o o

* will match any characters in a file or directories. junk* will match all files with first 4 letters ? will match single characters in a file. [] will match any characters enclosed. () execute in subshell. ` ` to run a command inside another command and use its output. " " partial quote for variables. ' ' full quote for variables. # begin comment (if #/bin/ksh or csh or sh is entered at first line of script it runs script in that shell) bg background execution. break break from loop statements. continue Resume a program loop. Kill pid number will terminate running jobs stop will stop background job. suspend will suspend foreground job. wait will wait for a background job to finish.

Bourne Shell (sh shell). sh or Bourne shell is default shell of Unix operating systems and is the most simplest shell in Unix systems. Examples:

cd; ls execute one after another. (date;who;pwd)> logifile will redirect all the output from three commands to a filenamed logfile. sort file | lp will first sort a file and then print it. alias [options] [name[='command']] will let you create your own commands. i.e. o alias ll="ls -la" will execute `ls -la` command whenever ll is entered. let expressions is syntax of let statement. o let i=i+1 will work as a counter with i incrementing each time this statement is encountered. for x[in list] do commands done is syntax for for do loop. function name {commands;} is the syntax of a function which can be called from anywhere in program. if condition1 then commands1 elif condition2 then commands2 ... ... ... else commands3 fi

Ksh shell (Korn). Ksh or Korn shell is widely used shell.

Csh or C shell csh is second most used shell.

Echo command echo command in shell programming.

Line command. line command in shell programming.

Sleep command. sleep command in shell programming.

Test Command. test command in shell programming.

CC compiler (c programming language compiler). Since Unix is itself written in C programming language, most Unix operating systems come with c compiler called cc.

Communications cu,ftp,login, rlogin,talk,telnet, vacation and write . Cu command. cu command is used for communications over a modem or direct line with another Unix system. Syntax is cu options destination Options

-bn process lines using n-bit characters (7 or 8). -cname Search UUCP's device file and select local area network that matches name. -d Prints diagnostics. -e sends even parity data to remote system -lline communicate on this device (line=/dev/tty001, etc) -n prompts for a telephone number. -sn set transmission rate to n(e.g 1200,2400,9600, BPS) Destination

telno is the telephone number of the modem to connect to. system is call the system known to uucp. aadr is an address specific to LAN.

Ftp command (protocol). ftp command is used to execute ftp protocol using which files are transferred over two systems. Syntax is ftp options hostname options

-d enable debugging.

-g disable filename globbing. -i turn off interactive prompts. -v verbose on. show all responses from remote server.

ftp hostname by default will connect you to the system, you must have a login id to be able to transfer the files. Two types of files can be transferred, ASCII or Binary. bin at ftp> prompt will set the transfer to binary. Practice FTP by ftping to nic.funet.fi loggin in as anomymous with password being your e-mail address. Login command. login command invokes a login session to a Unix system, which then authenticates the login to a system. System prompts you to enter userid and password.

Rlogin command. rlogin command is used to log on to remote Unix systems, user must have permissions on both systems as well as same userid, or an id defined in .rhosts file. Syntax is rlogin options host options

-8 will allow 8 bit data to pass, instead of 7-bit data. -e c will let you use escape character c. -l user will let you to login as user to remote host, instead of same as local host.

Talk command. talk command is used to invoke talk program available on all unix system which lets two users exchange information back and forth in real time. Syntax is talk userid@hostname

Telnet command. Telnet command invokes a telnet protocol which lets you log on to different unix, vms or any machine connected over TCP/IP protocol, IPx protocol or otherwise. Syntax is telnet hostname

Vacation command. vacation command is used when you are out of office. It returns a mail message to sender announcing that you are on vacation. to disable this feature, type mail -F " " . syntax is vacation options Options

-d will append the date to the logfile. -F user will forward mail to user when unable to send mail to mailfile. -l logfile will record in the logfile the names of senders who received automatic reply. -m mailfile will save received messages in mailfile.

Write command will initiate an interactive conversation with user. Syntax is write user tty

back to top of communications commands back to top of page Storage commands compress uncompress, cpio,dump,pack, tar, mt. Compress command. Compress command compresses a file and returns the original file with .z extension, to uncompress this filename.Z file use uncompress filename command. syntax for compress command is compress options files Options

-bn limit the number of bits in coding to n. -c write to standard output (do not change files). -f compress conditionally, do not prompt before overwriting files. -v Print the resulting percentage of reduction for files.

Uncompress command. Uncompress file uncompresses a file and return it to its original form. syntax is uncompress filename.Z this uncompresses the compressed file to its original name. Options

-c write to standard output without changing files

Cpio command. cpio command is useful to backup the file systems. It copy file archives in from or out to tape or disk, or to another location on the local machine. Its syntax is cpio flags [options] It has three flags, -i, -o, -p

cpio -i [options] [patterns] o cpio -i copy in files who names match selected patterns. o If no pattern is used all files are copied in. o It is used to write to a tape. cpio -o

Copy out a list of files whose name are given on standard output. cpio -p

copy files to another directory on the same system.

Options

o o o o o o o o o o o o o o

-a reset access times of input files. -A append files to an archive (must use with -o). -b swap bytes and half-words. Words are 4 bytes. -B block input or output using 5120 bytes per record. -c Read or write header information as Ascii character. -d create directories as needed. -l link files instead of copying. -o file direct output to a file. -r rename files interactively. -R ID reassign file ownership and group information to the user's login ID. -V print a dot for each file read or written. -s swap bytes. -S swap half bytes. -v print a list of filenames. Examples

o o o

find . -name "*.old" -print | cpio -ocvB > /dev/rst8 will backup all *.old files to a tape in /dev/rst8 cpio -icdv "save"" < /dev/rst8 will restore all files whose name contain "save" find . -depth -print | cpio -padm /mydir will move a directory tree.

Dump command is useful to backup the file systems. dump command copies all the files in filesystem that have been changed after a certain date. It is good for incremental backups. This information about date is derived from /var/adm/dumpdates and /etc/fstab . syntax for HP-UX dump is /usr/sbin/dump [option [argument ...] filesystem] Options

0-9 This number is dump level. 0 option causes entire filesystem to be dumped. b blocking factor taken into argument. d density of tape default value is 1600. f place the dump on next argument file instead of tape. This example causes the entire file system (/mnt) to be dumped on /dev/rmt/c0t0d0BEST and specifies that the density of the tape is 6250 BPI. o /usr/sbin/dump 0df 6250 /dev/rmt/c0t0d0BEST /mnt for more info type man dump at command line.

Pack command. pack command compacts each file and combine them together into a filename.z file. The original file is replaced. Pcat and unpack will restore packed files to their original form. Syntax is Pack options files Options

- Print number of times each byte is used, relative frequency and byte code. -f Force the pack even when disk space isn't saved.

To display Packed files in a file use pcat command pcat filename.z To unpack a packed file use unpack command as unpack filename.z .

Tar command. tar command creates an archive of files into a single file. Tar copies and restore files to a tape or any storage media. Synopsis of tar is tar [options] [file] Examples: tar cvf /dev/rmt/0 /bin /usr/bin creates an archive of /bin and /usr/bin, and store on the tape in /dev/rmt0. tar tvf /dev/rmt0 will list the tape's content in a /dev/rmt0 drive. tar cvf - 'find . -print' > backup.tar will creates an archive of current directory and store it in file backup.tar. Functions:

c creates a new tape. r append files to a tape. t print the names of files if they are stored on the tape. x extract files from tape. Options:

b n use blocking factor of n. l print error messages about links not found. L follow symbolic links. v print function letter (x for extraction or a for archive) and name of files.

Mt command Mt command is used for tape and other device functions like rewinding, ejecting, etc. It give commands to tape device rather than tape itself. Mt command is BSD command and is seldom found in system V unix versions. syntax is mt [-t tapename] command [count] mt for HP-UX accept following commands

eof write count EOF marks. fsf Forward space count files. fsr Forward space count records. bsf Backward space count files. bsr Backward space count records. rew Rewind tape. offl Rewind tape and go offline. eod Seek to end of data (DDS and QIC drives only). smk Write count setmarks (DDS drives only). fss Forward space count setmarks (DDS drives only). bss Backward space count setmarks (DDS drives only). Examples

o o

mt -t /dev/rmt/0mnb rew will rewind the tape in this device. mt -t /dev/rmt/0mnb offl will eject the tape in this device.

back to top of storage commands back to top of page System Status at, chmod,chgrp, chown,crontab,date, df,du, env, finger, ps,ruptime, shutdwon,stty, who.

At command. at command along with crontab command is used to schedule jobs. at options time [ddate] [+increment] is syntax of at command. for example if I have a script named usersloggedin which contains. #!/bin/ksh who | wc -l echo "are total number of people logged in at this time." and I want to run this script at 8:00 AM. So I will first type at 8:00 %lt;enter> usersloggedin %lt;enter> I will get following output at 8:00 AM 30 are total number of people logged in at this time. Options:

-f file will execute commands in a file. -m will send mail to user after job is completed. -l will report all jobs that are scheduled and their jobnumbers. -r jobnumber will remove specified jobs that were previously scheduled.

Chmod command. chmod command is used to change permissions on a file. for example if I have a text file with calender in it called cal.txt. initially when this file will be created the permissions for this file depends upon umask set in your profile files. As you can see this file has 666 or -rw-rw-rw attributes. ls -la cal.txt -rw-rw-rw1 ssb dxidev 135 Dec 3 16:14 cal.txt

In this line above I have -rw-rw-rw- meaning respectively that owner can read and write file, member of the owner's group can read and write this file and anyone else connected to this system can read and write this file., next ssb is owner of this file dxidev is the group of this file, there are 135 bytes in this file, this file was created on December 3 at time16:14 and at the end there is name of this file. Learn to read these permissions in binary, like this for example Decimal 644 which is 110 100 100 in binary meand rw-r--r-- or user can read,write this file, group can read only, everyone else can read only. Similarly, if permissions are 755 or 111 101 101 that means rwxr-xr-x or user can read, write and execute, group can read and execute, everyone else can read and execute. All directories have d in front of permissions. So if you don't want anyone to see your files or to do anything with it use chmod command and make permissions so that only you can read and write to that file, i.e. chmod 600 filename.

Chgrp command. chgrp command is used to change the group of a file or directory. You must own the file or be a superuser. chgrp [options] newgroup files is syntax of chgrp. Newgroup is either a group Id or a group name located in /etc/group . Options:

-h will change the group on symbolic links. -R recursively descend through directory changing group of all files and subdirectories.

Chown command. chown command to change ownership of a file or directory to one or more users. Syntax is chown options newowner files Options

-h will change the owner on symbolic links. -R will recursively descend through the directory, including subdirectories and symbolic links.

Crontab command. crontab command is used to schedule jobs. You must have permission to run this command by unix Administrator. Jobs are scheduled in five numbers, as follows. Minutes 0-59

Hour 0-23 Day of month 1-31 month 1-12 Day of week 0-6 (0 is sunday) so for example you want to schedule a job which runs from script named backup_jobs in /usr/local/bin directory on sunday (day 0) at 11.25 (22:25) on 15th of month. The entry in crontab file will be. * represents all values. 25 22 15 * 0 /usr/local/bin/backup_jobs The * here tells system to run this each month. Syntax is crontab file So a create a file with the scheduled jobs as above and then type crontab filename .This will scheduled the jobs. Date command. Date displays todays date, to use it type date at prompt. Sun Dec 7 14:23:08 EST 1997 is similar to what you should see on screen. Df command. df command displays information about mounted filesystems. It reports the number of free disk blocks. Typically a Disk block is 512 bytes (or 1/2 Kilobyte). syntax is df options name Options

-b will print only the number of free blocks. -e will print only the number of free files. -f will report free blocks but not free inodes. -F type will report on an umounted file system specified by type. -k will print allocation in kilobytes. -l will report only on local file systems. -n will print only the file system name type, with no arguments it lists type of all filesystems

Du command. du command displays disk usage.

Env command. env command displays all the variables.

Finger command. finger command.

PS command ps command is probably the most useful command for systems administrators. It reports information on active processes. ps options options.

-a Lists all processes in system except processes not attached to terminals. -e Lists all processes in system. -f Lists a full listing. -j print process group ID and session ID.

Ruptime command. ruptime command tells the status of local networked machines. ruptime options options.

-a include user even if they've been idle for more than one hour. -l sort by load average. -r reverse the sort order. -t sort by uptime. -i sort by number of users.

Shutdown command. Shutdown command can only be executed by root. To gracefully bring down a system, shutdown command is used.

options.

-gn use a grace-period of n seconds (default is 60). -ik tell the init command to place system in a state k. o s single-user state (default) o 0 shutdown for power-off. o 1 like s, but mount multi-user file systems. o 5 stop system, go to firmware mode. o 6 stop system then reboot. -y suppress the default prompt for confirmation.

Stty command stty command sets terminal input output options for the current terminal. without options stty reports terminal settings. stty options modes < device options

-a report all options. -g report current settings. Modes

0 hang up phone. n set terminal baud. erase keyname, will change your keyname to be backspace key.

Who command who command displays information about the current status of system. who options file Who as default prints login names of users currently logged in. Options

-a use all options. -b Report information about last reboot. -d report expired processes. -H print headings. -p report previously spawned processes. -u report terminal usage.

Advance unix command concepts Put advance commands utilities, redirection, etc here. cal > cal.txt To create a new file called cal.txt that has calendar for current month. > sign redirects output from stdout (screen) to a file.

Networking and TCP/IP Management

What is TCP/IP it? commands.

Hardwar Terminology e? used

note: IP addresses and system names used in this example are non-existing (fictional). In all probability these IP addresses might be real addresses, I disclaim any responsibility constituting towards any wrong doing to machines/systems/networks/etc behind these IP addresses.

What is Networking? The core of the strength of Unix machines are flexibility vis-a-vis networking. It will not be wrong to say that networking was first tested and developed successfully on Unix machines in late 1960's and early 1970's. Today core of Internet is run on Unix machines, which range from Lynix to Sun, HP to SCO. More then 70% of the Internet Service providers use Apache Web server which run on Unix Machines. Sun systems even developed diskless Unix machines networked to other machines. There are two types of protocols available on Unix machines, UDP and TCP/IP. Most Unix machines are connected through standard RJ45 cables with TCP/IP protocol. TCP/IP protocol was developed to network unix machines and now it has become Industry standard of communications on Internet. Model of TCP/IP is slightly different from OSI (OSI has seven layers TCP/IP four layers). TCP/IP consists of Layers of TCP/IP

Network access layer Physical Network itself (dialup, TWP, Coax, Fiber) Internet Layer defines the data diagram and handles routing of data. Host to Host Transport layer End to end data delivery service, (PPP connection). Application layer applications like telnet, rsh, login, www browser,gopher.

Data is passed down the stack when it is being sent to the network, and up the stack when it is being received from the network. Each layer in the stack adds control (actual bytes) when it is sending and subtracts (actual bytes) when date is received and moved up the stack. For example, consider a data packet which consists of five bytes and you want to send it to your friend over Internet. So, application layer passes your data to transport layer which adds its control in bytes to this data making it data+application+transport and passes it to Internet layer which adds its control in bytes to data+application+transport+Internet layer and passes it to network access layer which adds its control and makes it data+application+transport+Internet+network access and sends all the bytes over network. Now receiving computer's network access first reads network bytes and compares it to its records and then strips data+application+transport+Internet+network to data+application+transport+Internet and pass it to its Internet layer, which reads and do its computation and strips it to data+application+transport and so forth until data is passed on to application layer. Here is how telnet application works. You issue telnet command which sends out its bytes down the protocal stack and is transported to server computer. Server computer's network access layer passes it up the stack stripping down its controls bytes and at end to kernel. Kernel issues login: and sends it back to client. Then client enters its login name and so forth. Important files where all protocols are declared is called /etc/protocols, lowest layers looks at data and knows that those bytes being number 6 are on TCP protocol, etc. Then ports are defined in a file called /etc/services which is a part of application layer. If data comes with

order to open port 25 (which is smtp or simple mail transport protocol) it knows which application to open for e-mail (sendmail). an example few entries in /etc/protocols file ip icmp igmp ggp tcp pup udp 0 1 2 3 6 12 17 IP # internet protocol, pseudo protocol number ICMP # internet control message protocol IGMP # internet group management protocol GGP # gateway-gateway protocol TCP # transmission control protocol PUP # PARC universal packet protocol UDP # user datagram protocol

an example of few entries in /etc/services file echo echo netstat ftp telnet smtp time time name whois 7/tcp 7/udp 15/tcp 21/tcp 23/tcp 25/tcp 37/tcp 37/udp 42/tcp 43/tcp

mail timserver timserver nameserver nicname

TCP/IP configuration To configure a host to run TCP/IP you will need the following information. Every host must have a unique IP address and hostname. If you are planning your LAN to be on Internet then you need to fill out an application with NIC (or whoever provides it) and you can buy true Internet network license for your LAN. Class C are cheapest and upto 255 hosts can be configured with IP supplied (price is still not less than $10,000). Depending on the networking consider following:

default gateway address (only if your system communicates with TCP/IP hosts not on LAN). routing protocol (if it is used, each device needs to know this protocol). name server address (To resolve host names into IP addresses.) domain name (hosts using the domain name service must know their domain. subnet mask (each system must have same subnet mask). broadcast address (to avoid broadcast problems, broadcast address must be same on all computers.

You will also need to make sure that TCP/IP is installed in kernel of your system. Although everything can be done from command line but I recommend using system administration utility for TCP/IP configuration. Using System admin utility to configure system can assure a correct configuration. A configprogram is used to build an operational Unix kernel (for example Sco's netconfig). RIP Routing information protocol and DNS domain name server are started by daemons at system startup. RIP uses routed and DNS uses named daemon. Check your /etc/rc.local or /sbin/rc.* files or your startup files in init.d directory for more information. Internet daemon inetd is also started from bootup and it reads configuration file /etc/inetd.conf. Example inetd.conf file

ftp stream tcp nowait root /usr/local/etc/ftpd ftpd telnet stream tcp nowait root /usr/etc/in.telnetd in.telnetd name dgram udp wait root /usr/etc/in.tnamed in.tnamed # Shell, login, exec, comsat and talk are BSD protocols. shell stream tcp nowait root /usr/etc/in.rshd in.rshd subnet masking concept is used to overcome distance limitations (by assigning a new ip address to join cables each time over 500 metres (for ethernet), 300 meters (for thin TWP), is used to interconnect dissimilar physical networks (i.e. two different LANs, one token ring and another ethernet), is used to filter traffic between networks (local traffic stays on local subnet, only traffic for other networks is forwarded to gateway). ifconfig command is used to configure TCP/IP on system. Here are different uses of ifconfig: ifconfig -a will display information about interface on system. output is le0: flags=63 inet 198.87.24.223 netmask ffffff00 broadcast 206.2.114.0 lo0: flags=49 inet 127.0.0.1 netmask ff000000 ifconfig le0 126.98.23.2 netmask 255.255.255.0 broadcast 126.98.23.255 will assign a subnet mask to le0 interface. To take a value from file while assigning subnet mask, i.e. apples 255.255.255.0 is entry in /etc/networks and if you enter ifconfig le0 128.98.23.2 netmask apples it will work just as example before. To check the interface named le0 enter ifconfig le0. Output is: le0: flags=63 inet 198.87.24.223 netmask ffffff00 broadcast 198.87.24.0 To assign an IP address to a network interface, enter ifconfig le0 224.65.0.12 . dmesg collects system diagnostic messages to form error log and displays on screen. (obsolete by syslogd). syslogd is the syslogd daemon that reads and logs messages to a set of files described in the /etc/syslog.conf configuration file. netstat command displays network statistics. i.e. to check the status of all network interfaces enter, netstat -ain output looks like: Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue le0 1500 198.87.24.14 198.87.24.223 7138249 0 4529943 5 13018 0 lo0 1536 127.0.0.0 127.0.0.1 1405521 0 1405521 0 0 0 netstat -rn will display a routing table. For more information about netstat, enter man netstat.

Hardware needed? In order to make a simple network with PCs you need following. Let's say you need a small network with 10 PCs

Decide whether your network is going to be 10BaseT or 100BaseT. For a LAN with 10 PCs get a hub (10 BaseT or 100BaseT) with 10 ports (or two hubs with 5 ports each or whatever). Get network cards for each PC (10 BaseT or 100BaseT). Install network cards on each Pcs and load their drivers. Configure all of your PCs so that each has a separate IP address (if using TCP/IP), or names (Is using IPX). Connect all PCs to hub with TWP (RJ45 cable) (modems use RJ11 jacks). Now you should be able to map drives, send e-mail (install e-mail application first), etc to each PCs. Networking is done!!!

Networking Terminology The hardest part of networking to learn is probably its terminology. terminology

routers are devices that connects two networks. bridges are devices that connects your network to rest of the world, Internet, etc. repeaters are devices that repeats the signals for amplification purposes. hubs are devices that make up the network. All PCs when connected to a hub it becomes a LAN. File systems Backup Management What is Backup it? commands. other issues Media, Hardware

Why do we need backups? In order to recover lost files we need to have backups. Why do we use computers? so that we can store and manipulate our data. So if our data is lost computers are of no use. Thus giving us a reason to copy the data into a backup media, from which we can recover our lost files after disaster. Before backing up the files, a systems administratore needs to decide.

Which files need to be backed up? decide on incremental backup or full backup. When to perform a backup? what time of day, check for system load, etc. How to restore ? does the user needs corrupted file now or in few days. How to backup Which media (tape, disk, etc), commands(tar, cpio, dump, restore, mt, mc), etc.

back to top Back to main page Important Backup Commands These are common backup and restore commands used in all favours of Unix. Backup and restore (storage) Commands compress uncompress, cpio,dump, restore , pack, tar, mt.

Compress command. Compress command compresses a file and returns the original file with .z extension, to uncompress this filename.Z file use uncompress filename command. syntax for compress

command is compress options files Options

-bn limit the number of bits in coding to n. -c write to standard output (do not change files). -f compress conditionally, do not prompt before overwriting files. -v Print the resulting percentage of reduction for files.

Uncompress command. Uncompress file uncompresses a file and return it to its original form. syntax is uncompress filename.Z this uncompresses the compressed file to its original name. Options

-c write to standard output without changing files

Cpio command. cpio command is useful to backup the file systems. It copy file archives in from or out to tape or disk, or to another location on the local machine. Its syntax is cpio flags [options] It has three flags, -i, -o, -p

cpio -i [options] [patterns] o cpio -i copy in files who names match selected patterns. o If no pattern is used all files are copied in. o It is used to read from a tape or disk. cpio -o [options] [patterns] o Copy out a list of files whose name are given on standard output. o It is used to write to a tape or disk. cpio -p [options] [patterns] o copy files to another directory on the same system. Options

-a reset access times of input files. -A append files to an archive (must use with -o). -b swap bytes and half-words. Words are 4 bytes. -B block input or output using 5120 bytes per record. -c Read or write header information as Ascii character. -d create directories as needed. -l link files instead of copying. -o file direct output to a file. -r rename files interactively. -R ID reassign file ownership and group information to the user's login ID.

-V print a dot for each file read or written. -s swap bytes. -S swap half bytes. -v print a list of filenames. Examples

find . -name "*.old" -print | cpio -ocvB > /dev/rst8 will backup all *.old files to a tape in /dev/rst8 cpio -icdv "save"" < /dev/rst8 will restore all files whose name contain "save" find . -depth -print | cpio -padm /mydir will move a directory tree.

Dump command is useful to backup the file systems. dump command copies all the files in filesystem that have been changed after a certain date. It is good for incremental backups. This information about date is derived from /var/adm/dumpdates and /etc/fstab . syntax for HP-UX dump is /usr/sbin/dump [option [argument ...] filesystem] Options

0-9 This number is dump level. 0 option causes entire filesystem to be dumped. b blocking factor taken into argument. d density of tape default value is 1600. f place the dump on next argument file instead of tape. This example causes the entire file system (/mnt) to be dumped on /dev/rmt/c0t0d0BEST and specifies that the density of the tape is 6250 BPI. o /usr/sbin/dump 0df 6250 /dev/rmt/c0t0d0BEST /mnt To restore files, check restore command. for more info type man dump at command line.

Restore command. Restore and ufsrestore command restores files backed up with dump command. Syntax is restore options arguments files-dirs Options

-r will read and restore the entire tape. -x will extract all files and directory listed and restore in current directory. -t will type the names of the listed files as they appear on terminal. -f must be followed by a device name, otherwise default device is assumed. -i will launch interactive mode to restore the files you want to pick.

Pack command. pack command compacts each file and combine them together into a filename.z file. The original file is replaced. Pcat and unpack will restore packed files to their original form. Syntax is Pack options files

Options

- Print number of times each byte is used, relative frequency and byte code. -f Force the pack even when disk space isn't saved. To display Packed files in a file use pcat command pcat filename.z To unpack a packed file use unpack command as unpack filename.z .

Tar command. tar command creates an archive of files into a single file. Tar copies and restore files to a tape or any storage media. Synopsis of tar is tar [options] [file] Examples: tar cvf /dev/rmt/0 /bin /usr/bin creates an archive of /bin and /usr/bin, and store on the tape in /dev/rmt0. tar tvf /dev/rmt0 will list the tape's content in a /dev/rmt0 drive. tar cvf - 'find . -print' > backup.tar will creates an archive of current directory and store it in file backup.tar. Functions:

c creates a new tape. r append files to a tape. t print the names of files if they are stored on the tape. x extract files from tape. Options:

b n use blocking factor of n. l print error messages about links not found. L follow symbolic links. v print function letter (x for extraction or a for archive) and name of files.

Mt command Mt command is used for tape and other device functions like rewinding, ejecting, etc. It give commands to tape device rather than tape itself. Mt command is BSD command and is seldom found in system V unix versions. syntax is mt [-t tapename] command [count] mt for HP-UX accept following commands

eof write count EOF marks. fsf Forward space count files. fsr Forward space count records. bsf Backward space count files. bsr Backward space count records. rew Rewind tape.

offl Rewind tape and go offline. eod Seek to end of data (DDS and QIC drives only). smk Write count setmarks (DDS drives only). fss Forward space count setmarks (DDS drives only). bss Backward space count setmarks (DDS drives only). Examples o mt -t /dev/rmt/0mnb rew will rewind the tape in this device. o mt -t /dev/rmt/0mnb offl will eject the tape in this device.

Other issues These following are some other issues concerning backups. 1. 2. 3. 4. 5. 6. 7. An effective backup strategy is an ongoing process. The simpliest backup scheme is to copy all the files on a media, called full backup. Copy only those files which were changed since last backup, called incremental backup. Always label on media before what you are going to backup in that media. Know where the media is and keep a handy procedure on "how to backup and restore." Write protect media. Take security of media into account. A stolen/lost tape of full backup is full access to system.

Physical media Magnetic Tape Magnetic tapes are the most used media for backup. 8mm and 4mm tapes are most common backup medium for Unix systems. 8mm tapes were originally designed for video uses (8mm video camcorder), media holds upto 2GB of data. If your system needs more then 1 tape for backup then a stacker which can hold upto ten tapes along with software is very common. 4mm tapes which are smaller can hold more data since it is newer technology, upto 4GB. Another type of very famous upcoming media is DLT tapes, DLT tapes normally comes with all the hardware and software. All you have to do is make sure that there are enough tapes and schedule the backup. Floppy disks Floppy disks are found on most computer systems. Very inexpensive and reliable but their capacity is very small. Floppy disks are only good for emergency booting of system. Backup on floppies can run into several hundred or thousands of floppies each time. Hard Disks Disk mirroring capabilities make it a very fast and reliable backup system. protocols are set of rules which define standard across a set of machines, i.e. All machines in this world use TCP/IP protocol for Internet, Novell and Microsoft use IPX/SPX protocol for their networks.

TCP/IP is Transmission control protocol/Internet Protocol. file servers are machines which have huge disk space to house files for all users in network.

token ring is a type of network in which computers are connected as if in a ring (not physically though). ethernet is type of network in which computers are connected to a central location (a hub). print servers are devices that allow shared printers over network. twp is Twisted Wire pair for LAN (a regular LAN cable for ethernet). coax is coaxial cable (old LAN cable for ethernet also used for cable TV). RJ45 refers to the jack or end of TWP cable which connects to RJ45 plug (wider telephone jack). RJ11 refers to the regular telephone jack and plug. 10BaseT and 100BaseT refers to the speed of network, 10 kbps or 100 kbps.

Potrebbero piacerti anche