Softpanorama
May the source be with you, but remember the KISS principle ;-)

Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

Cd Command

News Advanced Unix filesystem navigation Recommended Links Pushd, popd and dirs

cdpath

Regular expresstion Shells
ls uniq Bash Tips and Tricks Unix Shell Tips and Tricks Tips Humor Etc

Tips

There are several important shortcuts (see Advanced Unix filesystem navigation for details)

cd ~  # cd to home directory
cd    # same thing
cd -  # change to previous directory (see also pushd and popd directory stack commands)
cd /etc # change to absolute path 

TIP: You can create an alias for cd that prints your current directory name after you have changed directory:

alias cd `cd \!*;pwd'

Relative path and CDPATH

cd mypath # change to relative path. 
If CDPATH environment variable is defined, then all directories in that path will be searched for the subdirectory when a relative cd is executed:
> export CDPATH=~/docs > cd a_doc_subdir # will work even when not in ~/docs 
You can also use regular expressions in specifying the directory, for example
cd /usr/l*/b* 
Standard Wildcards (globbing patterns, see Regular expresstion for details)

Standard wildcards (also known as globbing patterns) are used by various command line utilities to work with multiple files. For more information on standard wildcards (globbing patterns) refer to the manual page by typing:

man 7 glob
? (question mark)
this can represent any single character. If you specified something at the command line like "hd?" GNU/Linux would look for hda, hdb, hdc and every other letter/number between a-z, 0-9.
* (asterisk)
this can represent any number of characters (including zero, in other words, zero or more characters). If you specified a "cd*" it would use "cda", "cdrom", "cdrecord" and anything that starts with "cd" also including "cd" itself. "m*l" could by mill, mull, ml, and anything that starts with an m and ends with an l.
[ ] (square brackets)
specifies a range. If you did m[a,o,u]m it can become: mam, mum, mom if you did: m[a-d]m it can become anything that starts and ends with m and has any character a to d in-between. For example, these would work: mam, mbm, mcm, mdm. This kind of wildcard specifies an "or" relationship (you only need one to match).
{ } (curly brackets)
terms are separated by commas and each term must be the name of something or a wildcard. This wildcard will copy anything that matches either wildcard(s), or exact name(s) (an "or" relationship, one or the other).

For example, this would be valid:

cp {*.doc,*.pdf} ~

This will copy anything ending with .doc or .pdf to the users home directory. Note that spaces are not allowed after the commas (or anywhere else).

[!]
This construct is similar to the [ ] construct, except rather than matching any characters inside the brackets, it'll match any character, as long as it is not listed between the [ and ]. This is a logical NOT. For example rm myfile[!9] will remove all myfiles* (ie. myfiles1, myfiles2 etc) but won't remove a file with the number 9 anywhere within it's name.
\ (backslash)
is used as an "escape" character, i.e. to protect a subsequent special character. Thus, "\\" searches for a backslash. Note you may need to use quotation marks and backslash(es).

The pwd Command

The name of the current directory in which you are working is probably the most basic piece of information about your current environment. You can use the pwd (print current directory) command to show the name of your current (working) directory.

On a UNIX system, files are stored in various directories. At any given time, just one of these directories is your current working directory. And your shell commands affect the files and subdirectories in this working area. When you log on to the system, the current directory is your home directory, where you have full rights to do whatever you want to the files and subdirectories there. You can move from directory to directory using the cd command, discussed in a later section in this chapter. It is generally a good idea to make sure that you have landed in the desired directory before you start executing other commands.


CAUTION
Because UNIX filenames are case sensitive, it is possible--although not a good idea--to have one directory called Projects and another called projects. It is an easy mistake to move to the projects directory when you really want the Projects directory. Therefore, it is good practice to use the pwd command to verify that you are in the right directory before you start deleting any files. Better yet, establish a naming convention for your directories. For example, some people use uppercase letters for directory names and lowercase letters for all regular filenames.


Immediately after logging in, you're placed in your home directory. Let's say that your home directory is /usr/home/genuser. If you execute the pwd command immediately after logging in, then /usr/home/genuser is displayed:

% pwd
/usr/home/genuser
%

TIP: To help identify the directory you are currently in, you can modify your shell prompt to include the current directory name. For example, in C shell:

 

% set prompt="pwd %"
 

includes the name of your working directory as part of the shell prompt, and the prompt looks something like this:

/usr/home/peter %

 

SEE "Shell Variables," p. 163

The cd Command

The cd (change directory) command changes the current working directory to the named directory. For example:

% pwd
/usr/home/peter
% cd /usr/home/sally
% pwd
/usr/home/sally

CAUTION
If you are familiar with DOS, you will find the cd command works exactly the same way in UNIX with two exceptions. In DOS, if you don't specify a directory name when you give the cd command, the current working directory's name is displayed (just like the UNIX pwd command). However, in UNIX, if you don't specify a directory name when you give the cd command, the new directory will be your home directory. The other exception is the use of slash ("/") versus backslash ("\") in the directory path as explained in the following Note.

NOTE: You will no doubt notice by now that UNIX directory paths are specified using the forward slash ("/") rather than the backslash ("\") you're so accustomed to in DOS. Don't use the backslash lightly because backslashes in UNIX have special meaning. A backslash stops the shell from giving a special character (known as a metacharacter), such as "*", its special meaning (wildcard, in this case). See the "Special Characters" section later in this chapter for more information. 

TIP: You can create an alias for cd that prints your current directory name after you have changed directory. Place the command:

alias cd `cd \!*;pwd'

in the .cshrc file, if you are using the C shell. If the UNIX shell you are using doesn't support aliases, you can create a shell script instead.

The pathname argument to cd may be either an absolute pathname (as shown in the preceding example) or a relative pathname, which is shown in the following example:

% pwd
/etc/home/sally
% cd ../peter
% pwd
/etc/home/peter
% cd Projects/UNIX.Book
% pwd
/etc/home/peter/Projects/UNIX.Book

The double dots ("..", a pseudonym for the parent directory) in the first cd command moves the working directory "up one level" and then "down" to a child directory called peter; you can move up multiple levels in the directory tree by specifying multiple ".." in the pathname (for example, cd ../.. moves you up two levels). The second cd command makes the current directory the child directory named UNIX.Book of the child directory named Projects. Note that the second cd path starts where the first one finished.

NOTE: Although ".." is the pseudonym for the parent directory, "." is the pseudonym for the current directory. You may already be familiar with them from using DOS--DOS "borrowed" this naming convention from UNIX.


Top updates

Shop Amazon Cyber Monday Deals Week
Google Search


NEWS CONTENTS

Old News ;-)

Oracle - The UNIX cd command - navigating directory structure

The UNIX change directory (cd) command is very useful for navigating in your Oracle directory structure. The cd command without any arguments takes you to the location of your UNIX home directory. The UNIX home directory is specified in the /etc/passwd file and defines where you will be immediately after a UNIX logon.

sting*testc1-/u01/app/oracle/admin/testc1/pfile
>cd

sting*testc1-/export/home/oracle
>


When you give cd a directory location, you are transferred to that location. In this example, we transfer to the $ORACLE_HOME/rdbms/admin directory:

sting*testc1-/export/home/oracle
>cd $ORACLE_HOME/rdbms/admin

sting*testc1-/u01/app/oracle/product/8.1.7_64/rdbms/admin
>


UNIX also has a very handy cd argument for switching back-and-forth between two directories. In this example, we use the cd command to bounce back-and-forth from the pfile directory and the /etc directory:

sting*testc1-/u01/app/oracle/admin/testc1/pfile
>cd /etc

sting*testc1-/etc
>cd -
/u01/app/oracle/admin/testc1/pfile

sting*testc1-/u01/app/oracle/admin/testc1/pfile
>cd -
/etc

sting*testc1-/etc
>


You can also use the cd .. command to go up one level in your directory tree. In this example, we navigate from the pfile directory where the init.ora file is located to the bdump directory where the Oracle alert log is located (Figure 1-4).

Figure 4: The OFA Tree and cd navigation

sting*testc1-/u01/app/oracle/admin/testc1/pfile
>cd ../bdump

sting*testc1-/u01/app/oracle/admin/testc1/bdump




Etc

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner.

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haters Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least


Copyright 1996-2014 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting hosting of this site with different providers to distribute and speed up access. Currently there are two functional mirrors: softpanorama.info (the fastest) and softpanorama.net.

Disclaimer:

The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: February 19, 2014