Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Westi on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

hard links

Status
Not open for further replies.

farley99

MIS
Feb 12, 2003
413
US
what is the difference between hard links, soft links and symbolic links?

how do i create a hard link?
 

Soft and symbolic links are the same. It's basically just a small file with another file name in it.

Hard links are very different. IT's a bit difficult to explain but all files has at least one hard link. Without it you would be able to see or access the file. A hardlink is actually the file itself as seen to the user. If you have more hard links to a file the file actually exists in multiple places on your filesystem. You cannot for the same reason, call any hard link the "real" file. All hard links are the file itself.
This also means that you can't hard link a file to a different filesystem.

Hard links are faster but more complicated to keep track of.

To create links:

ln -s creates soft links
ln creates hard links

Cheers

Henrik Morsing
Certified AIX 4.3 Systems Administration
& p690 Technical Support
 
How i view hard links?

What is the correct syntax?
ls -view_hard_links
 
Of course I checked man and google before I posted here,

From what I can see the man entry does not say how to view hard links
NAME
ls - list directory contents

SYNOPSIS
ls [OPTION]... [FILE]...

DESCRIPTION
List information about the FILEs (the current directory by
default). Sort entries alphabetically if none of -cftuSUX
nor --sort.

-a, --all
do not hide entries starting with .

-A, --almost-all
do not list implied . and ..

-b, --escape
print octal escapes for nongraphic characters

--block-size=SIZE
use SIZE-byte blocks

-B, --ignore-backups
do not list implied entries ending with ~

-c with -lt: sort by, and show, ctime (time of last
modification of file status information) with -l:
show ctime and sort by name otherwise: sort by
ctime

-C list entries by columns

--color[=WHEN]
control whether color is used to distinguish file
types. WHEN may be `never', `always', or `auto'

-d, --directory
list directory entries instead of contents

-D, --dired
generate output designed for Emacs' dired mode

-f do not sort, enable -aU, disable -lst
:
--si likewise, but use powers of 1000 not 1024

-H same as `--si' for now; soon to change to conform
to POSIX

--indicator-style=WORD append indicator with style WORD to
entry names:
none (default), classify (-F), file-type (-p)

-i, --inode
print index number of each file

-I, --ignore=PATTERN
do not list implied entries matching shell PATTERN

-k, --kilobytes
like --block-size=1024

-l use a long listing format

-L, --dereference
list entries pointed to by symbolic links

-m fill width with a comma separated list of entries

-n, --numeric-uid-gid
list numeric UIDs and GIDs instead of names

-N, --literal
print raw entry names (don't treat e.g. control
characters specially)

-o use long listing format without group info

-p, --file-type
append indicator (one of /=@|) to entries

-q, --hide-control-chars
print ? instead of non graphic characters

--show-control-chars
--show-control-chars
show non graphic characters as-is (default unless program is `ls' and output is a terminal)

-Q, --quote-name
enclose entry names in double quotes

--quoting-style=WORD
use quoting style WORD for entry names: literal, locale, shell, shell-always, c, escape

-r, --reverse
reverse order while sorting

-R, --recursive
list subdirectories recursively

-s, --size
print size of each file, in blocks

-S sort by file size

--sort=WORD
extension -X, none -U, size -S, time -t, version -v

status -c, time -t, atime -u, access -u, use -u

--time=WORD
show time as WORD instead of modification time: atime, access, use, ctime or status; use specified
time as sort key if --sort=time

-t sort by modification time

-T, --tabsize=COLS
assume tab stops at each COLS instead of 8

-u with -lt: sort by, and show, access time with -l: show access time and sort by name otherwise: sort
by access time

-U do not sort; list entries in directory order

-v sort by version

-w, --width=COLS
assume screen width instead of current value

-x list entries by lines instead of by columns

-X sort alphabetically by entry extension

-1 list one file per line

--help display this help and exit

--version
output version information and exit

By default, color is not used to distinguish types of files. That is equivalent to using --color=none.
Using the --color option without the optional WHEN argument is equivalent to using --color=always. With
--color=auto, color codes are output only if standard output is connected to a terminal (tty).

AUTHOR
Written by Richard Stallman and David MacKenzie.

REPORTING BUGS
Report bugs to <bug-fileutils@gnu.org>.

COPYRIGHT
Copyright (C) 2001 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

 

Farley, to view hard links you use the 'ls' command.

'ls' without options will show you all the hard links in that directory.

Read over my post again, I don't think it was all clear to you!

Cheers

Henrik Morsing
Certified AIX 4.3 Systems Administration
& p690 Technical Support
 

If you type 'ls -l' then all the entries starting with 'd' are directories, all starting with 'l' are symbolic links all starting with '-' are hard links and all others are special files.

So, 'ls -l | grep ^-' will give you all the hard links.

Hope that helped a bit more.

Cheers

Henrik Morsing
Certified AIX 4.3 Systems Administration
& p690 Technical Support
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top