03-13-2006
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
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
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
2. UNIX for Dummies Questions & Answers
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
3. UNIX for Dummies Questions & Answers
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
4. Programming
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
5. Solaris
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
6. AIX
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
7. UNIX for Dummies Questions & Answers
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
8. Shell Programming and Scripting
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
9. Shell Programming and Scripting
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
10. UNIX for Dummies Questions & Answers
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
LEARN ABOUT NETBSD
locate.conf
LOCATE.CONF(5) BSD File Formats Manual LOCATE.CONF(5)
NAME
locate.conf -- locate database configuration file
DESCRIPTION
The locate.conf file specifies the behavior of locate.updatedb(8), which creates the locate(1) database.
The locate.conf file contains a list of newline separated records, each of which is composed of a keyword and arguments, which are separated
by white space. Arguments with embedded shell metacharacters must be quoted in sh(1) style. Lines beginning with ``#'' are treated as com-
ments and ignored. However, a ``#'' in the middle of a line does not start a comment.
The configuration options are as follows:
ignore pattern ...
Ignore files or directories. When building the database, do not descend into files or directories which match one of the specified
patterns. The matched files or directories are not stored to the database.
Default: Not specified.
ignorecontents pattern ...
Ignore contents of directories. When building the database, do not descend into files or directories which match one of the speci-
fied patterns. The matched files or directories themselves are stored to the database.
Default: Not specified.
ignorefs type ...
Ignore file system by type, adding type to the default list. When building the database, do not descend into file systems which are
of the specified type. The mount points are not stored to the database. If a ``!'' is prepended to type, the meaning is negated,
that is, ignore file systems which do not have the type. As a special case, if ``none'' is specified for type, the ignorefs list is
cleared and all file systems are traversed.
type is used as an argument to find(1) -fstype. The sysctl(8) command can be used to find out the types of file systems that are
available on the system:
sysctl vfs.generic.fstypes
Default: !local cd9660 fdesc kernfs procfs
searchpath directory ...
Specify base directories to be put in the database.
Default: /
workdir directory
Specify the working directory of locate.updatedb, in which a temporary file is placed. The temporary file is a list of all files,
and you should specify a directory that has enough space to hold it.
Default: /tmp
Refer to find(1) for the details of pattern (see -path expression) and type (see -fstype expression).
FILES
/etc/locate.conf The file locate.conf resides in /etc.
SEE ALSO
find(1), locate(1), locate.updatedb(8), sysctl(8)
HISTORY
The locate.conf file format first appeared in NetBSD 2.0.
AUTHORS
ITOH Yasufumi
BSD
July 10, 2011 BSD