Solved

link file

Posted on 2014-04-02
9
408 Views
Last Modified: 2014-04-08
When we link two files
what will be the expected output..

ln –s /usr/lib/libnsrora.a $ORACLE_HOME/lib/libobk.a

ie,
we get the contents of libnsrora.a + libobk.a


is that right?
0
Comment
Question by:tonydba
  • 3
  • 3
  • 2
  • +1
9 Comments
 
LVL 84

Expert Comment

by:ozo
ID: 39972262
man ln
NAME
     link, ln -- make links

SYNOPSIS
     ln [-Ffhinsv] source_file [target_file]
     ln [-Ffhinsv] source_file ... target_dir
     link source_file target_file

DESCRIPTION
     The ln utility creates a new directory entry (linked file) which has the same modes as the original file.  It is useful for maintaining multiple copies of a file in many places at once without
     using up storage for the ``copies''; instead, a link ``points'' to the original copy.  There are two types of links; hard links and symbolic links.  How a link ``points'' to a file is one of the
     differences between a hard and symbolic link.

     The options are as follows:
...
     -s    Create a symbolic link.
...
     By default, ln makes hard links.  A hard link to a file is indistinguishable from the original directory entry; any changes to a file are effectively independent of the name used to reference the
     file.  Hard links may not normally refer to directories and may not span file systems.

     A symbolic link contains the name of the file to which it is linked.  The referenced file is used when an open(2) operation is performed on the link.  A stat(2) on a symbolic link will return the
     linked-to file; an lstat(2) must be done to obtain information about the link.  The readlink(2) call may be used to read the contents of a symbolic link.  Symbolic links may span file systems and
     may refer to directories.
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39972269
No, not at all.

You will get an error message saying that $ORACLE_HOME/lib/libobk.a already exists.

And should you specify the "-f" (=force) flag along with "-s" then $ORACLE_HOME/lib/libobk.a will be deleted (!) and replaced with a link to /usr/lib/libnsrora.a! Accessing this link $ORACLE_HOME/lib/libobk.a will be the same as accessing /usr/lib/libnsrora.a directly!

To repeat it: $ORACLE_HOME/lib/libobk.a will be gone when using the "-f" flag!
 
Be careful!
0
 

Author Comment

by:tonydba
ID: 39972290
Actually I did not understand

what is the expected output of the command I provided..
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39972298
ln: creating symbolic link `$ORACLE_HOME/lib/libobk.a' to `/usr/lib/libnsrora.a': File exists
0
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

 
LVL 84

Expert Comment

by:ozo
ID: 39972300
If the target file already exists, the output will be an error message, as woolmilkporc has said.
Otherwise, there will be no output, and the link will be silently created.

Were you thinking of the `cat` command?
0
 
LVL 13

Expert Comment

by:Sandy
ID: 39972334
it won't work.. to create the symbolic link the destination file must not be exist.

TY/SA
0
 

Author Comment

by:tonydba
ID: 39974949
Sir only only question..


Wht is the expected output if we link two file.

I definitely understand that source and target exist...
how the output looks like that is my question.
0
 
LVL 84

Accepted Solution

by:
ozo earned 500 total points
ID: 39975122
What do you mean by "output"?
The result of a successful link is a new target file which is a link to the source file.
Nothing is displayed to stdout or stderr after a successful link, the exit status will be 0, and you get  a new shell prompt.
If you try to link two existing files, it will fail, an error message will be displayed (which might look like http:#a39972298), the exit status will be 1, and you get  a new shell prompt.

I wouldn't have called any of that "output", so I would say that there is no "output".
But if you try to look at the contents of the target file after it has been created by a successful link, it will look like it's the same as the contents of the source file.
0
 

Author Closing Comment

by:tonydba
ID: 39986486
Thank you.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this tutorial I will explain how to make squid prevent malwares in five easy steps: Squid is a caching proxy for the Web supporting HTTP, HTTPS, FTP, and more. It reduces bandwidth and improves response times by caching and reusing frequently-…
Daily system administration tasks often require administrators to connect remote systems. But allowing these remote systems to accept passwords makes these systems vulnerable to the risk of brute-force password guessing attacks. Furthermore there ar…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now