Solved

link file

Posted on 2014-04-02
9
412 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
Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

 
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
 
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

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

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

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…
Join Greg Farro and Ethan Banks from Packet Pushers (http://packetpushers.net/podcast/podcasts/pq-show-93-smart-network-monitoring-paessler-sponsored/) and Greg Ross from Paessler (https://www.paessler.com/prtg) for a discussion about smart network …
Learn how to navigate the file tree with the shell. Use pwd to print the current working directory: Use ls to list a directory's contents: Use cd to change to a new directory: Use wildcards instead of typing out long directory names: Use ../ to move…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

770 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