Linux Symbolic Link Append Name


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Linux Symbolic Link Append Name
# 1  
Old 09-21-2012
Linux Symbolic Link Append Name

Can someone help create a symbolic link where I append my own string to the name of the link? Here's the code that I have so far:

Code:
find /home/folder1/*.txt -type f -exec ln -s {} \;
find /home/folder2/*.txt -type f -exec ln -s {} \;

So that command works to create my symbolic link but I would like to append my own text to the link name because I could have the same file name in each folder and in the destination I need to find a way to give unique name to the symbolic link. So I was thinking of creating the sym links to look like this:

Code:
folder1_doc1.txt
folder2_doc1.txt
folder1_doc2.txt
folder2_doc2.txt

I'm thinking the script would look something like this:

Code:
find /home/folder1/*.txt -type f -exec ln -s {} "folder1_" +\;
find /home/folder1/*.txt -type f -exec ln -s {} "folder2_" + \;

# 2  
Old 09-21-2012
Allow me to point out something. Using zillions of symbolic links is fraught with problems. A simple one is that you use up files. Filesystems have data objects called inodes allocated to them. The number is fixed. So if you have 10000 inodes allocated, all of your directories, filename and link files use up one inode each.

To answer your question -
Note: You also seem to have a syntax error in your find statement.
consider NOT using a one liner, use a function instead:
Code:
# function make_links 
# usage make_links pathname linkname  linkhome [directory for the link to live in]
# so $1 is the serch path for find
#     $2 is the name to prepend to the link name
#     $3 is where the link will live
make_links()
{
   find "$1"  -type f -name '*.txt' |
   while read fname
   do
       # make sure we do not overwrite an existing link
       [ ! -L  ${3}/${2}${fname} ] &&   ln -s $fname  ${3}/${2}${fname}
   done 
   
}
# example usage
make_links /home/folder1  folder1_  $HOME
make_links /home/folder2  folder2_  $HOME

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Symbolic link

Hi, trying to understand more about symblic link, when I compiled a program called "match" in one folder ~/downloadsoftware/I want this program to be accessible like a system command by putting a symbolic link in /usr/bin/ Not by setting the $PATH method in .bashrc at this time. What I did is:... (4 Replies)
Discussion started by: yifangt
4 Replies

2. UNIX for Dummies Questions & Answers

[Solved] Symbolic link not allowed or link target not accessible

Hi everybody, I read about treads realted to this issue but they did not resovle issue given below. Please help me resolve issue given below I have html file under /srv/www/htdocs/actual_folder ls actual_folder/ test.html and following link works... (0 Replies)
Discussion started by: newbielgn
0 Replies

3. Shell Programming and Scripting

ls on a symbolic link

Hi all, Can anyone please confirm if the command below is the only way that I can get what the symbolic link is set to? mnlxd110(oracle)/db/posd2/dba$: ls -l | grep "^l" lrwxrwxrwx 1 oracle dba 28 Aug 9 2011 bdump -> diag/rdbms/posp1/posp1/trace mnlxd110(oracle)/db/posd2/dba$:... (7 Replies)
Discussion started by: newbie_01
7 Replies

4. Linux

Linux Library symbolic link damaged

Hi, firstly I am not so familiar with linux and i think i have done some damage to the red hat server. It seems that now in command line I am unable to use any basic command whatsoever (ls, move, cp, bash, etc). I was trying to deploy an application and have changed the symbolic link (soft... (1 Reply)
Discussion started by: zaxx
1 Replies

5. Shell Programming and Scripting

Symbolic Link Help

Hello All, This may be a silly question to some but I am really stuck. Is there a way to reverse the following; sudo rm /bin/sh sudo ln -s /bin/bash /bin/sh It was part of a driver compile/installation procedure by Digi for Ubuntu stating that dash isn't supported and a symbolic link... (2 Replies)
Discussion started by: LAVco
2 Replies

6. Shell Programming and Scripting

symbolic link

Hi, i am trying to create sym links on sles 11 , but it seems i am doing something wrong. oracle@tests:/u01/app/oracle/oradata/ACIS> pwd /u01/app/oracle/oradata/ACIS oracle@tests:/u01/app/oracle/oradata/ACIS> ln -s /db/ACIS/dbase/dbf/ /u01/app/oracle/oradata/ACIS/... (2 Replies)
Discussion started by: tonijel
2 Replies

7. UNIX for Dummies Questions & Answers

need some info about symbolic link and hard link

hello folks how y'all doin well i have some questions about symbolic link and hard link hope some one answer me i open terminal and join as root and i wrote ln -s blah blah then i wrote ls i see red file called blah blah but didn't understand what is this can some one explain and... (2 Replies)
Discussion started by: detective linux
2 Replies

8. Solaris

[help] about symbolic link solaris 8

hi experts, i had create wrong symbolic link on my server use this ln -s /opt/EBS /export/home/EBS, cause i had create an EBS directory on /export/home/EBS/ so the command ln create EBS directory on /export/home/EBS/EBS/.... how to remove the EBS that had created by ln command ? thank you... (1 Reply)
Discussion started by: bucci
1 Replies

9. Shell Programming and Scripting

Creating symbolic link

Any idea how to create a symbolic link...for example i want to create a symbolink link for a specific user in his profile to use the df command...? Thanks in advance (9 Replies)
Discussion started by: charbel
9 Replies

10. UNIX for Dummies Questions & Answers

symbolic Link

question abt symbolic link ... i'm doing the following ... ln -s x.sh ./scripts/y.sh and cat ./scripts/y.sh it is giving following error cat: cannot open y.sh Any reason u an think of ? But it is working fine when i goto scripts directory and cretae the symbolic link. ... (1 Reply)
Discussion started by: bhargav
1 Replies
Login or Register to Ask a Question