1.3 Command structure and usage
Command Structure and Usage
UNIX command की संरचना (structure) इस प्रकार होती है -
Command [-option(s)] [option argument(s)] [command argument(s)]
Command, options and arguments are separated by whitespace.
Whitespace = string of spaces and tabs
Command line = command with its options and arguments
command | name of the command (प्रायः command का short-name प्रयुक्त किया जाता है ) |
---|---|
options |
यह command के behavior को बदलता है | option से पूर्व hyphen (-) prefix (उपसर्ग) लगाया जाता है कई options को एक साथ combine करके भी लिखा जा सकता है | परन्तु केवल उन्ही options को combine किया जा सकता है जिनके साथ किसी option argument का प्रयोग न हो | यह वैकल्पिक (optional) है आवश्यक नहीं | |
option argument |
यह option की value को व्यक्त करता है | यह single value या values का समूह हो सकता है | यह भी वैकल्पिक (optional) है आवश्यक नहीं है | |
command argument |
यह command के लिए आवश्यक parameter को व्यक्त करता है | यह command पर निर्भर करता है कि इसकी आवश्यता होगी या नहीं | |
Example of UNIX Commands -
$ ls -l | यहाँ ls एक command है तथा -l command option है | |
---|---|
$ ls -l -r -t $ ls -lrt |
यहाँ ls command है तथा -l -r -t तीन options है जिन्हें एक साथ भी लिखा जा सकता है | |
$mkdir test | यहाँ mkdir एक command है तथा test command argument/parameter है | |
Command name rules -
- Command length is often 2 – 9 characters
- Only lowercase letters and digits as characters (a b c …. z)
- Option name must be of one character only
- Option से पूर्व hyphen (–) प्रयुक्त होगा
- Options जिनके साथ कोई argument नहीं है उनको group किया जा सकता है | e.g. $ ls -lrt
- Option and option argument must be separated by space character.
- More than one argument for a single option must be separated by comma ( , ) – argument separator
- -- shows end of options list
- Order of option does not matter e.g $ ls -lrt / $ ls -ltr / $ ls -rtl …..
- Single hyphen (–) means standard input
Getting help about a command -
$ man <command name> |
man command is used to see the manual / help about a command. <spacebar> to see next page of help q – to quit help page यहाँ man शब्द manual शब्द का संक्षिप्त रूप है | e.g. $ man who |
---|
Recalling previously used commands -
- commands को recall तभी किया जा सकता है जब उन्हें memory में कहीं store किया गया हो |
- UNIX operating system यूजर द्वारा जितनी बार भी login करके जो भी command प्रयोग किया गया है उनको save रखता है |
- जो भी कमांड सही या गलत यूजर द्वारा टाइप किया गया है वो एक फाइल में save होता है | उस फाइल का नाम .sh_history है |
यह .sh_history फाइल यूजर की home directory में रहती है |
$ history
$ r <number> or $ !<number> : to recall a command by number ( r = recall )
Commands for editing command line -
Ctrl + p Down arrow key (↓) |
recall previously used command(s) |
---|---|
Ctrl + n Up arrow key (↑) |
recall next command(s) in the .sh_history file |
Ctrl + b Back arrow key (←) |
moves the cursor to left (back) along command line |
Ctrl + f Forward arrow key (→) |
moves the cursor to right (forward) along command line |
Ctrl +a Home Key |
moves cursor to BOL (Beginning Of Line) |
Ctrl + e End Key |
moves cursor to EOL (End Of Line) |
Hands-on-experience of executing commands -
Command | Output / Remarks |
---|---|
unix | unix : command not found |
date | to display system date and time Mon Aug 22 14:22:44 IST 2005 Note - normal user can't change the date and time using this command only administrator can change the date and time |
tput clear | to clear the screen |
cal | to see calendar of particular month and year |
who | to list all the user who are logged-in |
ps | to see list of processes |
ls | to list files in a directory |
wc | word count program |
exit | to close the terminal emulator program |
Note - Unix commands are mostly of 4 characters in length and all commands are single word (lowercase) commands.
UNIX commands are case-sensitive. (ls and LS are different commands)
type - यह एक command है जिसकी सहायता से किसी command की file system में location पता की जा सकती है |
- used to locate a command
- यह command को केवल उन्हीं directories में search करता है जो PATH variable में specify की गयी है |
e.g.
$type ls
ls is /bin/ls
$echo $PATH ($ means value of the variable)
which - यह command किसी file/command/program की location बताता है |
$which ls
/usr/bin/ls
PATH variable - user द्वारा input command को जिन directories sequence में ढूँढना है उसे PATH variable द्वारा specify किया जाता है | इसमें comma separated directory sequence को store किया जाता है | इसकी value को echo command द्वारा देखा जा सकता है |
$echo $PATH
Command line पर एक साथ एक से अधिक commands enter/input किये जा सकते है | इसके लिए commands को semicolon (;) द्वारा पृथक किया जाता है |
e.g. $pwd ; ls
एक command multiple lines में split किया जा सकता है इसके लिए shell द्वारा secondary prompt ( > ) use किया जाता है |
e.g. $ echo "Hello during
> lock-down follow the
> advisory and stay
> stay at home" [Enter]
UNIX terminal full duplex है अर्थात एक command के execute होने से पहले दूसरा command जारी किया जा सकता है | इस दौरान नए कमांड को buffer में रखा जाता है |
man command -
UNIX में commands की संख्या बहुत ही अधिक है और सभी commands के syntax और options को याद रखना लगभग असंभव है | इसलिए UNIX में man command उपलब्ध है जिसकी सहायता से किसी भी command की help / documentation / manual को देखा जा सकता है इसे प्रायः man documentation कहा जाता है |
e.g. $ man wc
man द्वारा documentation को one-page at a time दिखाया जाता है | इसके लिए man command output को pager program को भेजता है |
pager program - program या command जो content (output) को page-by-page दिखाता है |
more तथा less दो pager programs है जो की Linux and Unix में उपलब्ध है |
f - (or spacebar) - next page (screen)
b - previous page (screen)
q - quit (documentation से बाहर आने के लिए )
/<string> - to search particular string in documentation
n - next page where string is found
PAGER - variable द्वारा default pager program को configure किया जाता है |
$echo $PAGER
$man -k echo ( -k option is used to show brief information / one-line about the command)
$apropos यह command man -k के समतुल्य है |
$apropos date
$man -f तथा whatis command समतुल्य है |
$whatis cp