Unix Basics

Published on July 2020 | Categories: Documents | Downloads: 27 | Comments: 0 | Views: 195
of 9
Download PDF   Embed   Report

Comments

Content

 

Unix Basics Unix Shell Shell in unix acts as a command interpreter between user and Unix kernel as well as  provides a strong scripting language .

Following are the different types of Unix shells , B shell , /bin/sh – This is the default Unix shell for many Unix operating systems . Bourne shell was written by S. R. Bourne and its more emphasis is to use it as a scripting language rather than an interactive shell . Some of the features are : Provided support for environment variables using parameters and exportable variables. Redirection of program output and error . Command substitution using back quotes: `command`. embed a file/commands using input redirector << “for ~ do ~ done” loops “case ~ in ~ esac” for selecting and responding to a data value . C-shell /bin/csh was designed to provide the interactive features lacking in b shell such as  job control and aliasing . K shell /bin/ksh – was created by David Korn and has features of both B shell and C shell along with some additional features . Bash – the Bourne again shell was developed by GNU project .It is based on B shell language and has features of C and K shells. tcsh is the default shell of FreeBSD and its descendants. Essentially it is C shell with  programmable command line completion, command-line editing, and a few other  features. Zsh is a shell designed for interactive use and it has many of the useful features of bash, ksh, and tcsh along with many new features.

Unix Shells configuration files : b shell  —————————————————–   ——————————— ——————– 

shell prompt : $ executable file : /bin/sh Read on interactive/non interactive login to bash /etc/profile ~/.profile

 

bash shell  —————————————————–   ——————————— ——————– 

shell prompt : $ executable file : /bin/bash Read on interactive/non interactive login to bash /etc/profile ~/.profile ~/.bash_profile ~/.bash_login Always read on invoking bash ~/.bashrc /etc/profile login login login ~/.profile login login csh shell  ——————————————————   ——————————— ——————— 

shell prompt : % executable file : /bin/csh Read on csh shell invocation . /etc/csh.cshrc ~/.cshrc Read on interactive/non interactive login to tcsh shell /etc/.login ~/.login ~/.logout /etc/csh.login ksh  —————————————————–   ——————————— ——————– 

shell prompt : $ executable file : /bin/ksh Read on interactive/non interactive login to bash /etc/profile ~/.profile tcsh shell

 ——————————————————   ——————————— ——————— 

 

shell prompt : & executable file : /bin/tcsh Read on tcsh shell invocation . ~/.tcshrc /etc/csh.cshrc ~/.cshrc Read on interactive/non interactive login to tcsh shell /etc/.login ~/.login ~/.logout /etc/csh.login zsh  —————————————————–   ——————————— ——————– 

shell prompt : $ executable file : zsh Configuration files : Always read on invoking zsh ~/.zshenv always /etc/zshenv always only read on interactive login to zsh. ~/.zshrc /etc/zshrc Read on interactive/non interactive login to zsh /etc/zprofile login /etc/zlogin /etc/zlogoutlogin login /.zprofile login ~/.zlogin login ~/.zlogout login

Unix Dir Structure

Directory

Description Primary hierarchy root and root directory of the entire

/

file system hierarchy.

 

/bin/

Executable binary command files.

/dev/

Has nodes for devices , hard disk , tape etc

/etc/

Host-specific configuration files such as /etc/inittab , /etc/hosts

/home/

Users’ home directories .

/lib/

Libraries ne needed by by various Unix programs.

/mnt/

Temporary file system mount point .

/opt/

Optional application software packages installation directory .

/proc/

Virtual file system having kernel process files .

/sbin/

system binaries files such as in i nit .

/tmp/

Temporary file system used to store temporary data of   programs .

/usr/

user related command , programs , librar   Binary commands for all users .

/usr/bin/ Include files required by programs.. /usr/include/ Libraries for the binaries in /usr/bin/ and /usr/sbin/. /usr/lib/ system binaries for users . /usr/sbin/ shared file system /usr/share/ Source code files /usr/src/ Optional user programs and packages are installed here . /usr/local/

/var/

Directory to store dynamic files such as logs . Most  programs has /var as default location for writing writing log , lock  and spool fies . Lock files.

/var/lock/

 

Log files. /var/log/ Users’ mailboxes. /var/mail/ Spool for tasks waiting to be processed (e.g. print queues /var/spool/

and unread mail).

Unix commands Unix commands are the first thing needed by a unix sysadmin who are starting to work in unix operating system . Unix operating systems comes with online manual system which can be used to see the command details ,syntax options and examples on while working on a unix system. Unix manual can be accessed using man <command name> Unix commands are listed in following sections based on command functionality and you can scroll down to see all the sections. Unix Command Sections : 1. Wild card, 2. dir level Operation 3. File – Listing , moving 4. File Create , edit , View 5. File operation 6. Process 7. User Admin 8. System System Status 9. Environment Variable 10. Connectivity 11. Backup and recovery 12. Find files and directories You can also download a one page pdf version of the unix commands listed below.

Wild Card Characters Single character and match all wild card characters which can be used in Unix commands to substitute one or more characters

*

The * wildcard character substitutes for one or more characters in a filename. For instance, to list all the files in your directory that end with .c, enter the command ls *.c

?

? (question mark) serves as wildcard character for any one  character in a filename. For instance, if you have files named prog1, prog2, prog3, and prog3 in your directory, the Unix command: ls prog?

 

dir level Operatio Commands to Change , make , move and remove the directory entries . Change

cd dir Change to directory d

Make

mkdir dir Create new directory d

Move

mv dir1 dir2 Rename directory d1 as d2

Remove

rmdir dir Remove directory d

File – Listing , moving Commands to list ,copy , move , rename , delete and type the files . list , no details only names

ls filename , filename with wildcard character/s.

list , details

ls -1 filename , filename with wildcard character/s.

move mo ve to dire direct ctor ory y

mv file filena name me dirn dirnam amee (wil (wildc dcar ard d ch char arac acte ter/ r/ss supp suppor orte ted) d)

copy file to other/current

cp file directory/newfile or cp directory/oldfile .

directory Copy file file file1 file1 into file2 file2 cp file1 file1 file2 file2 move mo ve (r (ren enam amee ) fil filee

mv file file1 1 fil file2 e2 Rena Rename me file file file file1 1 as as fil file2 e2

Delete the file

rm file , rm -rf directory – Recursively remove files & directly without any warning.

Remove

rm file Delete (remove) file f  

file

file filename , file command tries to determine the file type , text , executable etc after comparing the values in /etc/magic .

File Create , edit , View Command/s to to create new files , edit & view existing file . vi filename , Opens a existing file or creates a new one does not vi – vi full screen editor  exists. ed – Line Text editor

ed filename

count – Line, word, & char 

wc filename

Text content display –  List contents of file at once

cat filename

Text content display by screen : List contents of  more filename file screen by screen

 

Concatenate – file1 & file2 into file3

cat file1 file2 >file3

File operation Commands to change owner of file, compare files , sort a file , split large file , match a  pattern in a file , list difference between two files . Change read/write/execute mode chmod mode file of fil chown

chown [-R] [-h] owner[:group] file

Compare two files

cmp file1 file2

Sort Alphabetically

sort file

Sort Numerically

sort -n file

Split f into n-line pieces split [-n] f  match pattern

grep pattern file Outputs lines that

diff file1 file2 Lists file differences head f Output beginning head file of file

Output end of file

tail file

Process Commands to find the Status of a process , suspend the process , stop the process , interrupt a process & kill a process . status process status stats

ps

Suspend current process CTRL/z * Interrupt processes CTRL/c * Stop screen scrolling

CTRL/s *

Resume screen scrolling CTRL/q * Sleep for n seconds

sleep n

Print list of jobs

 jobs

Kill job n

kill %

Remove process n

kill -9 n

Resume background job bg [%n] n Resume foreground job fg [%n]

 

n Exit from shell

exit

User Admin command to add user and change password of a user . add a new user login to # useradd -u 655 -g 20 -d /home/ttes testlogin loginname   the system -u is userid , if not specified system takes highest available . -g group id should be existing in /etc/group , if not specified other  or user is assigned. -d home directory , default is to use user as the directory name under the home directory. loginname – new login name to be created . #useradd testlogin will create a user by the name ‘testlogin’ with all default values .

 password Change

passwd <user>

alias (csh/tcsh) – Create alias name1 name2 command alias (ksh/bash) – Create alias name1=”name2″ alias command alias – Remove alias

unalias name1[na2...]

System System Status Command to find quota , date , users , logged in user , finger [username] and history of  Unix commands issued . Display disk quota

quota

Print date & time

date

List logged in users

who

Display current user 

whoami

Output user  information

finger [username]

Display recent commands

history

Environment Variable command to set and export system environment variables .

 

set

set command alone displays the environment variables, it is used to set options in ksh like set -o vi

export

export variable , export makes variable visible in sub shells.

Set environment variable (csh/tcsh) to value v

sentenv name v

Set environment variable (ksh/bash) to value v

export name=v example : export TERM=vt100

Connectivity Commands for conneting to other systems using telnet ,ssh , ftp , sftp , ping Connecting to a remote $telnet hostname/ip address or $telnet Telnet brings up the login prompt of remote host and expects you to enter your user  host name & password .Without argument it enters command mode (telnet>) and accepts command listed by ? at telnet> prompt. Communication is not encrypted between two hosts. Securely connecting to ssh username@hostname or ssh -l username hostname a remote host Depending on ssh setting for your account you may or may not be asked a password to login. Your login/passwd will be same login  password as you would use with telnet connection. Communication is encrypted between two hosts so if someone intercepts your communication he will not be able to use it. Copy files from/to remote host

ftp hostname ftp expects you to enter your username/passwd or if it is ftp only account it will require ftp account password .  put , mput (multipleput) command is used to transfer files files to remote host. get , mget (multipleput) command is used to transfer files from remote host. ftp allows some limited number of commands to be executed at ftp> prompt & summary of ftp command can be found by using ? at ftp> prompt

Securely copy files from/to remote host

sftp username@hostname:remotefile localfile Communication is encrypted between two hosts.

Test the tcp/ip connectivity between two hosts

ping hostname If you can ping a host the host is reachable from the machine that you are using. Router/firewall configuration may prevent ping to succeed .

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close