using find to locate hard and soft links with tar


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting using find to locate hard and soft links with tar
# 1  
Old 03-13-2006
Error using find to locate hard and soft links with tar

I am digging for certain types of files in the current directory and all its sub-directories and archiving them with the following code:

#! /usr/bin/ksh

Archive=`date +%Y_%m_%d_%T`
find . -type f \( -name \*\.ksh -o -name \*\.sql -o -name \*\.ini \) -print|xargs tar -cf configksh_$Archive.tar

rm -rf $Archive

The problem with this piece of code I have is that-- I can't locate the links (symbolic / hard / soft.. I'm not sure of the difference either) of the resultant files.

Can somebody throw light on how I can "find" all the links recursively within the current directory along with the files that are of the desired extensions as shown. (Links , obviously, needn't have these extensions).

Correct me if I'm wrong in saying:

find . \( -type f -o -type l \) \( -name \*\.ksh -o -name \*\.sql -o -name \*\.ini \) -print|xargs tar....

to do what I want.

Thanx to all who save me quickly,
Sirisha

Last edited by manthasirisha; 03-13-2006 at 10:39 AM.. Reason: Addition of a small comment
# 2  
Old 03-14-2006
C'mon ppl.. it's about 20 hrs and not a single reply?!

I'm really desperate to get this right as early as possible..
I understood from a lot of posts here that there is no direct way to find hard links...except with the help of inode number. For soft links the "l" predicate in the list of file permissions when issued a "ls -l".. may help..

but i just want to confirm if i'm thinking in the right direction.

Can files of the required extensions be identified along with their links(hard or soft) using find command? If so, please enlighten me how.

Thanks a ton in advance,
Sirisha

Last edited by manthasirisha; 03-14-2006 at 09:25 AM..
# 3  
Old 03-14-2006
manthasirisha,

Please note that we are not obligated to reply to your posts. Everyone on this forum has a job as a sysadmin, or a programmer or are students and are helping out on the forums in their free time.

You have already used the find command with the type predicate. Use the same command:
Code:
find . -type l -exec ls -l {} \;

This find will list all files that are soft (symbolic) links. Is this what you want?
# 4  
Old 03-14-2006
Blowtorch,

I never did say anything like that.. nor even did I mean when was asking help for a second time. It was a very informal and casual expression I thought, could use to request our expert friends from such a hyooooooge group. It wasn't meant to obligate anyone here to respond to it all.. it's a just a plain and urgent request! Sorry, if you felt it personal.

Thanks a ton for your advice on that! But that's not all that I'm looking for. I need a short method by which I can extract the files I need and follow up both their hard and soft links.

Hope I made myself thorougly clear!

Sirisha
# 5  
Old 03-14-2006
If you are using GNU-find: use the "-follow" clause to dereference the links if this is what you want to do.

More on this could be found at "man find".

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Soft links question

Hello. I have some main directories. For example : /main_dir1 /main_dir2In main_dir2, I have a sub dir named sub_dir2-1 with 2 files in it ( file_2-1, file_2-2 ) /main_dir2sub_dir2-1file_2-1 file_2-2From "/main_dir1/A/B/C" I make a soft link ln -s /main_dir2/sub_dir2-1 ... (6 Replies)
Discussion started by: jcdole
6 Replies

2. Shell Programming and Scripting

Timestamp change for hard and soft links

Hi team, i am writing a purge script to delete softlinks and hardlinks on linux system which are 3/10/30 days old. To test the script i need to create links with old timestamp, i am able to cange timestamp for files but not for links. i tried touch -h option but this option is not available on... (1 Reply)
Discussion started by: Satyak
1 Replies

3. Shell Programming and Scripting

Create tar file excluding all hard links

I have a problem with tar. Taring a folder with a lot of contents, causes the tar to contain hard links to some files, seen with the same name but 0 in size. The hard links don't exist in the first place. How can I prevent that from happening? I am using the -T option with either -n or... (2 Replies)
Discussion started by: Tribe
2 Replies

4. UNIX for Dummies Questions & Answers

Simple example for soft and hard links

Hai, give me a simple example for soft and hard links. this will work for soft link ?? ln -s (2 Replies)
Discussion started by: Ramesh M
2 Replies

5. AIX

List all the soft links and hard links

Hi I'm logged in as root in an aix box Which command will list all the soft links and hard links present in the server ? (2 Replies)
Discussion started by: newtoaixos
2 Replies

6. Solaris

Hard Links and Soft or Sym links

When loooking at files in a directory using ls, how can I tell if I have a hard link or soft link? (11 Replies)
Discussion started by: Harleyrci
11 Replies

7. Programming

creating soft links

i'm trying to write a c code to copy a soft link over to a specified directory. Is it possible to do this without using symlink()? if so, what can I use? Thanks! (2 Replies)
Discussion started by: l flipboi l
2 Replies

8. UNIX for Dummies Questions & Answers

Command to find all soft links in a directory

I need the command to find all soft links in a directory. Can someone please help. Thank you. (2 Replies)
Discussion started by: jgeo01
2 Replies

9. UNIX for Dummies Questions & Answers

links.... soft or hard.. not sure?

hi, i am in a directory, have 2 files as below then do a ls -l gives the below lrwxrwxrwx 1 root system 23 Mar 08 2001 filea -> /adir/filea lrwxrwxrwx 1 root system 23 Mar 08 2001 filea -> /adir/fileb now, when i do a cd /adir, the system said, adir not... (5 Replies)
Discussion started by: yls177
5 Replies

10. UNIX for Dummies Questions & Answers

links: (soft, hard? symbolic??) inode

Hi, what is link? and soft link? how about hard one and symbolic link. and inode. i get confuse about this links. could anyone help me with full explainsion? thks Gusla (5 Replies)
Discussion started by: gusla
5 Replies
Login or Register to Ask a Question