Navigating directories with * / . and ..


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Navigating directories with * / . and ..
# 1  
Old 01-18-2013
Navigating directories with * / . and ..

I would be very happy (after a lot of fruitless searching) if someone could explain the meaning of these variations on the ls command:

ls */
ls */.
ls */./

I understand the basic use of ls already eg ls -al but am wanting to list from different points in the file structure without having to leave the directory I am in and my experimenting has left me confused.

Also in the examples above what is the correct term for the characters after the "ls"? Are they correctly called operators? Or is that the wrong term?

Thanks.
# 2  
Old 01-19-2013
The characters ? (question mark) and * (asterisk) are called wildcards.

The asterisk represents zero or more characters.
Code:
$ ls
doc_1.txt  doc2.txt  f1.csv  f2.csv  fl3.csv  pic_1.jpg  pic_2.jpg

$ ls *.txt
doc_1.txt  doc2.txt

The question mark represents only one character.
Code:
$ ls
doc_1.txt  doc2.txt  f1.csv  f2.csv  fl3.csv  pic_1.jpg  pic_2.jpg

$ ls ???.csv
fl3.csv

.. or ../ represents parent directory and ./ represents current directory. So ls */ means list the contents of all directories in current path.
# 3  
Old 01-19-2013
Thanks - that helps a lot.

So how does" */./" differ from "*/." ? I seem to get slightly different results with each and still can't quite see why.

Also I understand that * and ? are called wildcards. But what are . .. and / called?
# 4  
Old 01-19-2013
Quote:
Originally Posted by bloodrule
Thanks - that helps a lot.

So how does" */./" differ from "*/." ? I seem to get slightly different results with each and still can't quite see why.

Also I understand that * and ? are called wildcards. But what are . .. and / called?
The pathname pattern * expands to the list of files in the current directory whose names do not have a period (.) as the first character in their name.

The pathname pattern */ expands to the list of directories in the current directory whose names do not have a period as the first character in their name. (Note that a directory is one type of file. Other types of files found on all UNIX and Linux systems include regular files, block special files, character special files, sockets, named pipes (AKA FIFO special files), and symbolic links. Most UNIX and Linux systems have more file types.)

The pathname pattern */. expands to the list of files named . (AKA dot in this context) in the directories named by the expansion of */.

The pathname pattern */./ expands to the list of files of type directory named . in the directories named by the expansion of */.

The pathname patterns */, */. and */./ expand to the same list of files since dot is always a name of the directory in which it is located (unless the filesystem has been corrupted), but they cannot always be treated as synonyms. For example the command:
Code:
rmdir */

will remove all empty directories in the current working directory that you have permission to remove, and will print diagnostic messages for directories that are not empty and for directories that you don't have permission to remove, but the command:
Code:
rmdir */.

will not remove any directories and will give you a diagnostic message (saying you can't remove . for each of the directories named by the expansion of */..

The file named . (AKA dot) is the current working directory. The file named .. (AKA dot-dot) is the parent directory of the current working directory. The file named / (AKA root) is the root directory for the hierarchy of files on the system available to the current process. In the root directory, . and .. may be different names for the same directory.
This User Gave Thanks to Don Cragun For This Post:
# 5  
Old 01-19-2013
Thank you!! That is the best answer I have ever seen to any question in any forum in ten years. I hope as many people as possible see your answer and learn from it.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

8 More Discussions You Might Find Interesting

1. Solaris

Giving read write permission to user for specific directories and sub directories.

I have searched this quite a long time but couldn't find the right method for me to use. I need to assign read write permission to the user for specific directories and it's sub directories and files. I do not want to use ACL. This is for Solaris. Please help. (1 Reply)
Discussion started by: blinkingdan
1 Replies

2. UNIX for Beginners Questions & Answers

Issue navigating GNU Info nodes

Hello... and thanks in advance for in help anyone can offer me I'm poking around the GNU Info command... It's a lot different from man pages (Including holding much more information) but I'm having issues navigating it... And it's frustrating the hell out of me! My problem is when I go to... (1 Reply)
Discussion started by: bodisha
1 Replies

3. UNIX for Dummies Questions & Answers

List the directories, having given pattern in the directories name, sorted by creation date

It is for HP-Unix B.11.31. Requirement: 1. List the directories, having given pattern in the directories name, sorted by creation date. Example: Directories with name "pkg32*" or "pkg33*" 2. On the output of 1. list the directories by creation date as sort order, with creation date... (2 Replies)
Discussion started by: Siva SQL
2 Replies

4. Shell Programming and Scripting

Navigating a WebPage with Perl

Hi All Below is Code, It opens a link from which it ask a login name and password, the script enter the login name and password and navigate to next page.. In the next page there is a drop down box from which i have to select a value, I have written the code but it gives error #!/usr/bin/perl... (3 Replies)
Discussion started by: parthmittal2007
3 Replies

5. Shell Programming and Scripting

PERL navigating directories. How do I do it

I am trying to write a Perl script that lists all the .pm files within c:\perl on a WinXP system. I have Strawberry Perl installed. I know that I can perform the action I want with shell script commands but I just want to perform it with Perl. I have written a Perl script that opens the pwd and... (0 Replies)
Discussion started by: ShermW0829
0 Replies

6. Shell Programming and Scripting

Script for parsing directories one level and finding directories older than n days

Hello all, Here's the deal...I have one directory with many subdirs and files. What I want to find out is who is keeping old files and directories...say files and dirs that they didn't use since a number of n days, only one level under the initial dir. Output to a file. A script for... (5 Replies)
Discussion started by: ejianu
5 Replies

7. Shell Programming and Scripting

navigating a web interface with a shell script

I'm trying to design a script that will check the external ip address of my home network and then assign it to the A record of a subdomain. When i started, i thought i could do this with SSH, but turns out I don't have ssh access to update the DNS record (not surprising i suppose) So now, i... (2 Replies)
Discussion started by: boyincity
2 Replies

8. UNIX for Dummies Questions & Answers

Unix - Navigating the file system

When I log on to my unix session I have a default location. But I need to navigate 3 directories up then 6 directories down to where I want to be. There must be a way to create some sort of short cut from my defeault location to my required location. Can anyone help? (4 Replies)
Discussion started by: jjaggii
4 Replies
Login or Register to Ask a Question