For those working with
Linux command Line, command ‘pwd‘ is very helpful, which tells where you are – in which
directory, starting from the root (/). Specially for Linux newbies, who may get lost amidst of
directories in command Line Interface while navigation, command ‘pwd‘ comes to rescue.
What is pwd?
‘pwd‘ stands for ‘Print Working Directory‘. As
the name states, command ‘pwd‘
prints the current working directory or simply the directory user is, at
present. It prints the current directory name with the complete path starting
from root (/). This command is built
in shell command and is available on most of the shell – bash, Bourne shell,
ksh,zsh, etc.
Basic syntax of pwd:
1. Print your current
working directory:
/home/manish
2. Create
a symbolic link of a folder (say /var/www/html into
your home directory as htm). Move
to the newly created directory and print working directory with symbolic links
and without symbolic links.
Create a symbolic link of
folder /var/www/html as htm in your home directory and move to it.
manish@localhost:~$ cd htm
3. Print
working directory from environment even if it contains symlinks.
/home/manish/htm
4. Print
actual physical current working directory by resolving all symbolic links.
/var/www/html
5. Check
if the output of command “pwd” and “pwd -P” are same or not i.e., if no options are given at run-time does
“pwd” takes option -P into
account or not, automatically.
/var/www/html
Result: It’s
clear from the above output of example 4 and 5 (both result are same) thus,
when no options are specified with command “pwd”, it
automatically takes option “-P” into
account.
6. Print version of your ‘pwd’ command.
pwd (GNU coreutils) 8.23
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Jim Meyering.
Note: A
‘pwd’ command is often used without options and never used with arguments.
Important: You might have noticed that
we are executing the above command as “/bin/pwd” and
not “pwd”.
So
what’s the difference? Well “pwd” alone
means shell built-in pwd. Your shell may have different version of pwd. Please
refer manual. When we are using /bin/pwd, we
are calling the binary version of that command. Both the shell and the binary
version of command Prints Current Working Directory, though the binary version
have more options.
7. Print all the locations containing
executable named pwd.
pwd is a shell builtin
pwd is /bin/pwd
8. Store
the value of “pwd”
command in variable (say a), and print its value
from the variable (important for shell scripting perspective).
manish@localhost:~$ echo "Current working directory is : $a"
Current working directory is : /home/manish
9. Change
current working directory to anything (say /home) and
display it in command line prompt. Execute a command (say ‘ls‘) to verify is everything is OK.
manish@localhost ~$ PS1='$pwd> ' [Notice single quotes in the example]
> ls
10. Set
multi-line command line prompt (say something like below).
123#Hello#!
And
then execute a command (say ls) to
check is everything is OK.
> $PWD
$ 123#Hello#!
$ '
/home
123#Hello#!
11. Check
the current working directory and previous working directory in one GO!
/home /home/manish
12. What
is the absolute path (starting from /) of
the pwd binary file.
13. What is the absolute path
(starting from /) of the pwd source
file.
14. Print the absolute path
(starting from /) of the pwd manual pages
file.
15. Write
a shell script analyses current directory (say manish) in your home directory. If you are under directory manish it output “Well!
You are in manish directory” and then print “Good Bye” else create a directory manish
under your home directory and ask you to cd to it.
Let’s first create a ‘manish’
directory, under it create a following shell script file with name ‘pwd.sh’.
manish@localhost:~$ cd manish
manish@localhost:~$ nano pwd.sh
Next, add the following script
to the pwd.sh file.
x="$(pwd)"
if [ "$x" == "/home/$USER/manish" ]
then
{
echo "Well you are in manish directory"
echo "Good Bye"
}
else
{
mkdir /home/$USER/manish
echo "Created Directory manish you may now cd to it"
}
fi
Give execute permission and run
it.
manish@localhost:~$ ./pwd.sh
Well you are in manish directory
Good Bye
pwd is one of the simplest yet most popular and most widely
used command. A good command over pwd is basic to use Linux terminal. That’s
all for now. I’ll be here again with another interesting article soon, till
then stay tuned and connected to manisht2k18.blogspot.in.
No comments:
Post a Comment