Softpanorama

May the source be with you, but remember the KISS principle ;-)
Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

ln command

News Recommended Links Recommended articles Reference Solaris UFS File System
Usage of links for simplifying navigation in Unix Advanced Unix filesystem navigation pushd/popd/dirs NCD clones cp command
Filesystems Horror Stories Unix History Humor Etc

Hard and soft links are a great features of Unix. It is a reference (link) in a directory to a file stored in another directory. Links can be of two types: hard and soft.  In case of soft links you can reference not only a file but a directory essentially providing alternative path to the file and subdirectories in it.  The latter is extremely important for simplifying complex filesystem navigation. About usage of symbolic links for filesystem navigation see:

There might be multiple links to a file. Links eliminate redundancy because you do not need to store multiple copies of a file.

Links are of two types: hard and soft (also known as symbolic).

To create a symbolic link, you must use the -s  option with the ln  command. Files that are soft linked contain an l  symbol at the first bit of the access permission bits displayed by the ls -l  command, whereas those that are hard linked do not contain the l  symbol. A directory is symbolically linked to a file. However, it cannot be hard linked.

It is obvious that no file exists with a link count less than one.  Relative pathnames .  or ..  are nothing but links for the current directory and its parent directory.  These are present in every directory: any directory stores the two links ., ..  and the Inode  numbers of the files. They can be listed by the ls -lia  option. A directory must have a minimum of two links. The number of links increases as the number of sub-directories increase. Whenever you issue a command to list the file attributes, it refers to the Inode  block with the Inode  number and the corresponding data is retrieved.

ln command is used to make a link between files. It's format resembles the format of cp command. As we already know a link allows a filename in one directory to point to a file in another directory. Once a link has been made the linkname (alias for a file) can be used, in most circumstances, as if it were a normal file. As a link takes up much less disc space than the file which it is pointing to this it can be used to save space if you need to store duplicate files in many dfferent directories.  It is also useful for simplifying navigation especially in obscure software packages with crazy directory structures like Tivoli. For example you can create a link to the specified target directory from some specialized directory (for example specially created root directory /q -- qucklinks)

 

To create a symbolic link in Unix, at the Unix prompt, enter the following command:

  ln -s source_file myfile

Replace source_file with the name of the existing file for which you want to create the symbolic link (this file can be any existing file or directory across the file systems). Replace myfile with the name of the symbolic link. The ln command then creates the symbolic link. After you've made the symbolic link, you can perform an operation on or execute myfile, just as you could with the source_file. You can use normal file management commands (e.g., cp, rm) on the symbolic link.

Note: If you delete the source file or move it to a different location, your symbolic file will not function properly. You should either delete or move it. If you try to use it for other purposes (e.g., if you try to edit or execute it), the system will send a "file nonexistent" message.

To find out more about symbolic links, you can view the man pages for the ln command. To do this, at the Unix prompt, enter the following command:

  man ln

Mandatory arguments to long options are mandatory for short options too.

This example shows copying three files from a directory into the current working directory.

    [2]%cp ~team/IntroProgs/MoreUltimateAnswer/more*
    [3]%ls -l more*
    -rw-rw-r--   1 mrblobby  mrblobby    632 Sep 21 18:12 moreultimateanswer.adb
    -rw-rw-r--   1 mrblobby  mrblobby   1218 Sep 21 18:19 moreultimatepack.adb
    -rw-rw-r--   1 mrblobby  mrblobby    784 Sep 21 18:16 moreultimatepack.ads

The three files take a total of 2634 bytes. The equivalent ln commands would be:

    [2]%ln -s ~team/IntroProgs/MoreUltimateAnswer/moreultimateanswer.adb .
    [3]%ln -s ~team/IntroProgs/MoreUltimateAnswer/moreultimatepack.adb .
    [4]%ln -s ~team/IntroProgs/MoreUltimateAnswer/moreultimatepack.adb .
    [5]%ls -l
    lrwxrwxrwx   1  mrblobby  mrblobby     35 Sep 22 08:50 moreultimateanswer.adb ->
                     /users/team/IntroProgs/MorUltimateAnswer/moreultimateanswer.adb
    lrwxrwxrwx   1  mrblobby  mrblobby     37 Sep 22 08:49 moreultimatepack.adb ->                       /users/team/IntroProgs/MorUltimateAnswer/moreultimatepack.adb
    lrwxrwxrwx   1   mrblobby  mrblobby    37 Sep 22 08:50 moreultimatepack.ads ->
                     /users/team/IntroProgs/MorUltimateAnswer/moreultimatepack.ads

The ln command now indicates in the first character on the line that this entry is a link. The filename is followed by an arrow ( -> ) and the full path name of the file which it is pointing to. The total size of the three links is 109 bytes. Although mrblooby is shown as owning these files, he only owns the links, and these permissions do not relate to the file itself.

The -s option allows a symbolic link to be made, rather than a phsical link. This allows a link to be made between two file systems. As a symbolic link can be made whenever a non-symbolic link can be made, but a non-symbolic link link cannot always be made when a symbolic link can be made, a symbolic link should always be specified.

The usage of the link command is.

   ln -s ActualFilename LinkFileName

Where -s indicates a symbolic link. ActualFilename is the name of the file which is to be linked to and LinkFileName is the name by which the file should be known.


ln will complain if:

Usage of links for simplifying navigation in Unix

In many flavours of Unix, espesially in HP-UX and AIX system files are located in strange places, which create a lot discomfort for sysadmins who are used to Linux or Solaris. You can minimize those creating symbolic links to target files in location that you used to.

As for directories lining to directores is not a good idea, but still you can create special root directory, called, say, hub and put symbolic links to directories into it. It is important never run recursive operation via this directory as you can affect files that you never intended to.


Heelo
Top Visited
Switchboard
Latest
Past week
Past month


NEWS CONTENTS

Old News ;-)

[Jun 02, 2010] Learn Linux, 101 Create and change hard and symbolic links by Ian Shields

developerWorks

Hard links

You use the ln command to create additional hard links to an existing file (but not to a directory, even though the system sets up . and .. as hard links).

Listing 1 shows how to create a directory containing two files and a subdirectory with two hard links to file1, one in the same directory and one in the subdirectory. We have added a word to file1, and then another word to file3 and displayed the contents of the link in the subdirectory to show that all do indeed point to the same data.


Listing 1. Creating hard links
ian@attic4:~$ mkdir -p lpi104-6/subdir
ian@attic4:~$ touch lpi104-6/file1
ian@attic4:~$ touch lpi104-6/file2
ian@attic4:~$ ln lpi104-6/file1 lpi104-6/file3
ian@attic4:~$ ln lpi104-6/file1 lpi104-6/subdir/file3sub
ian@attic4:~$ echo "something" > lpi104-6/file1
ian@attic4:~$ echo "else" >> lpi104-6/file3
ian@attic4:~$ cat lpi104-6/subdir/file3sub
something
else

You will get an error if you attempt to create hard links that cross file systems or that are for directories. Listing 2 shows that my home and research directories are on different file systems and that an attempt to create a hard link across these fails, as does an attempt to create a hard link to the lpi104-6 directory.


Listing 2. Failures with hard link creation
ian@attic4:~$ df . research
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda7             71205436   9355052  58233352  14% /
/dev/sdb3            137856204  27688208 103165264  22% /home/ian/ian-research
ian@attic4:~$ ln lpi104-6/file1 research/lpi104-6/file3
ln: creating hard link `research/lpi104-6/file3' => `lpi104-6/file1': No such file or dir
ectory
ian@attic4:~$ ln lpi104-6 lpidir104-6
ln: `lpi104-6': hard link not allowed for directory

Soft links

You use the ln command with the -s option to create soft links. Soft links use file or directory names, which may be relative or absolute. If you are using relative names, you will usually want the current working directory to be the directory where you are creating the link; otherwise, the link you create will be relative to another point in the file system. Listing 3 shows you two ways to create a soft link for the file1 that we just created, and also how to create soft links instead of the two hard links that failed in Listing 2.


Listing 3. Creating soft links
ian@attic4:~$ # Create symlink using absolute paths
ian@attic4:~$ ln -s ~/lpi104-6/file1 ~/lpi104-6/file4
ian@attic4:~$ # Create symlink using relative paths
ian@attic4:~$ cd lpi104-6/
ian@attic4:~/lpi104-6$ ln -s file1 file5
ian@attic4:~/lpi104-6$ cd ..
ian@attic4:~$ # Create symlink across file systems
ian@attic4:~$ mkdir ~ian/research/lpi104-6
ian@attic4:~$ ln -s ~/lpi104-6/file1 ~ian/research/lpi104-6/file4
ian@attic4:~$ # Create symlink for directory
ian@attic4:~$ ln -s lpi104-6 lpidir104-6

As before, you can use any of the links or the target file name to reference the file or directory. Listing 4 shows some examples.


Listing 4. Using soft links
ian@attic4:~$ echo "another line" >> ~ian/research/lpi104-6/file
ian@attic4:~$ # cat a symlink
ian@attic4:~$ cat lpi104-6/file5
something
else
another line
ian@attic4:~$ # cat a hard link
ian@attic4:~$ cat lpi104-6/file1
something
else
another line
ian@attic4:~$ # display directory contents using symlink
ian@attic4:~$ ls lpidir104-6
file1  file2  file3  file4  file5  subdir

While we're creating links, let's create a link using relative paths when our working directory is not the directory where we want the link. We'll look at what this does in the next section.


Listing 5. Creating a bad soft link
ian@attic4:~$ ln -s lpi104-6/file1 lpi104-6/file6

Identifying links

In the previous section, you saw how to create links, but not how to distinguish the links you created. Let's look at that now.

Finding information

On many systems today, the ls command is aliased to ls --color=auto, which prints different types of file system objects in different colors. The colors are configurable. If you use this option, hard links might show up with a dark blue background, and symlinks with cyan text,

While color might be convenient for sighted people who can distinguish them, they are not much use to others, and certainly not much use to shell scripts or programs. Without color, you need more information, such as that provided by a long listing using ls -l. In Listing 6 we explicitly disable color output, but you could also explicitly call the /bin/ls command.


Listing 6. Identifying links
ian@attic4:~$ ls --color=none -lR lpi104-6
lpi104-6:
total 12
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
-rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
lrwxrwxrwx 1 ian ian   24 2010-05-27 17:15 file4 -> /home/ian/lpi104-6/file1
lrwxrwxrwx 1 ian ian    5 2010-05-27 17:15 file5 -> file1
lrwxrwxrwx 1 ian ian   14 2010-05-27 17:37 file6 -> lpi104-6/file1
drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir

lpi104-6/subdir:
total 4
-rw-r--r-- 3 ian ian 28 2010-05-27 17:17 file3sub
ian@attic4:~$ /bin/ls -l ~ian/research/lpi104-6/file4
lrwxrwxrwx 1 ian ian 24 2010-05-25 11:51 /home/ian/research/lpi104-6/file4 -> /home/ian/
lpi104-6/file1
ian@attic4:~$ /bin/ls -l lpidir104-6
lrwxrwxrwx 1 ian ian 8 2010-05-27 17:16 lpidir104-6 -> lpi104-6

The second column of output is a link count showing the number of hard links to this file, so we know that file1, file3, and file3sub all have multiple hard links pointing to the object they represent, although we do not yet have enough information to know they all represent the same object. If you delete a file that has a link count greater than 1, the link count in the inode is reduced by 1, but the file is not deleted until the count goes to 0. All other hard links to the same file will show a link count that is now reduced by 1.

In the first column of output, you see the first character is an 'l' (lower-case L) for symbolic links. You also see the target of the link displayed after the -> characters. For example file4 -> /home/ian/lpi104-6/file1. Another tipoff is that the size is the number of characters in the link target's name. Note that the link counts in the directory listing are not updated for symbolic links. Deleting the link does not affect the target file. Symlinks do not prevent a file from being deleted; if the target file is moved or deleted, then the symlink will be broken. For this reason, many systems use colors in directory listings, often pale blue for a good link and red for a broken one.

You can use the -i option of the ls command to display inode numbers for file and directory entries. Listing 7 shows both short and long output for our lpi104-6 directory.


Listing 7. Displaying inode information
ian@attic4:~$ ls -i lpi104-6
1680103 file1  1680103 file3  1680107 file5  1680101 subdir
1680104 file2  1680108 file4  1680110 file6
ian@attic4:~$ ls -il lpi104-6
total 12
1680103 -rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
1680104 -rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
1680103 -rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
1680108 lrwxrwxrwx 1 ian ian   24 2010-05-27 17:15 file4 -> /home/ian/lpi104-6/file1
1680107 lrwxrwxrwx 1 ian ian    5 2010-05-27 17:15 file5 -> file1
1680110 lrwxrwxrwx 1 ian ian   14 2010-05-27 17:37 file6 -> lpi104-6/file1
1680101 drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir

You can also use the find command to search for symbolic links using the -type l find expression as shown in Listing 8.

Listing 8. Using find to locate symlinks
ian@attic4:~$ find lpi104-6 research/lpi104-6 -type l
lpi104-6/file6
lpi104-6/file5
lpi104-6/file4
research/lpi104-6/file4

Broken symlinks

In Listing 5, we claimed to create a bad soft link. This is one example of a broken symlink. Since hard links always point to an inode that represents a file, they are always valid. However, symlinks can be broken for many reasons, including:

None of these conditions raises an error, so you need to think carefully about what might happen to your symlinks as you create them. In particular, your choice of absolute or relative paths is likely to be influenced by what you expect to happen to the objects you are linking over the life of the link.

If you are using colored output, broken symlinks are likely to show up as red text on a black background, as is the case for file6 in Figure 1. Otherwise, you will need to use either the -H or -L options of ls to dereference the link and give you information about the target. The -H option dereferences links on the command line and the -L option dereferences those plus links that are part of the display. Listing 9 illustrates the difference in the output from these two options.


Listing 9. Dereferencing links with ls -H and ls -L
ian@attic4:~$ /bin/ls -lH lpidir104-6
total 12
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
-rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
lrwxrwxrwx 1 ian ian   24 2010-05-27 17:15 file4 -> /home/ian/lpi104-6/file1
lrwxrwxrwx 1 ian ian    5 2010-05-27 17:15 file5 -> file1
lrwxrwxrwx 1 ian ian   14 2010-05-27 17:37 file6 -> lpi104-6/file1
drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir
ian@attic4:~$ /bin/ls -lL lpidir104-6
/bin/ls: cannot access lpidir104-6/file6: No such file or directory
total 20
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file1
-rw-r--r-- 1 ian ian    0 2010-05-26 14:11 file2
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file3
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file4
-rw-r--r-- 3 ian ian   28 2010-05-27 17:17 file5
l????????? ? ?   ?      ?                ? file6
drwxr-xr-x 2 ian ian 4096 2010-05-26 14:11 subdir

Note the error message indicating that file6 does not exist and also the output for it with all the '?' characters, again indicating that the file is not found.

One final point on our broken symbolic link. Attempts to read the file will fail as it does not exist. However, attempts to write it will work if you have the appropriate permission on the target file, as shown in Listing 10. Note that we need to create the lpi104-6/lpi104-6 before we can write the file.


Listing 10. Reading from and writing to a broken symlink
                    
ian@attic4:~$ cat lpi104-6/file6
cat: lpi104-6/file6: No such file or directory
ian@attic4:~$ echo "Testing file6" > lpi104-6/file6
bash: lpi104-6/file6: No such file or directory
ian@attic4:~$ mkdir lpi104-6/lpi104-6
ian@attic4:~$ cat lpi104-6/file6
cat: lpi104-6/file6: No such file or directory
ian@attic4:~$ echo "Testing file6" > lpi104-6/file6
ian@attic4:~$ cat lpi104-6/file6
Testing file6
ian@attic4:~$ ls lpi104-6/lpi104-6
file1

Who links to me?

To find which files are hard links to a particular inode, you can use the find command and the -samefile option with a filename or the -inum option with an inode number, as shown in Listing 11.


Listing 11. Finding hard links to the same file
                    
ian@attic4:~$ find lpi104-6 -samefile lpi104-6/file1
lpi104-6/subdir/file3sub
lpi104-6/file3
lpi104-6/file1
ian@attic4:~$ ls -i lpi104-6/file1
1680103 lpi104-6/file1
ian@attic4:~$ find lpi104-6 -inum 1680103
lpi104-6/subdir/file3sub
lpi104-6/file3
lpi104-6/file1

To find which files link symbolically to a particular file, you can use the find command and the -lname option with a filename, as illustrated in Listing 12. Links may use a relative or absolute path, so you probably want a leading asterisk in the name to find all matches.

Listing 12. Finding symbolic links to a file or directory
ian@attic4:~$ find lpi104-6 research/lpi104-6 -lname "*file1"
lpi104-6/file6
lpi104-6/file5
lpi104-6/file4
research/lpi104-6/file4

[Jul 07, 2007] Easing SUSE Server administration from the command line

How can hard links and symbolic links make administration of SLES 10 easier?

Van Vugt: Hard and symbolic links allow you to put information at the places where you would need it, without losing the option of management in one place. Think of the tmp directory, which is used for temporary files. This directory occurs on many locations in your file system. In general, all those different tmp directories are just links to one single /tmp directory. This allows you to put all temporary files on one centralized location, and to create a special volume for that, which prevents your server from running out of disk space.

Also, links can help you to deal with a program. One example is older graphical utilities that try to locate the X-server in /usr/X11. On a good day, that default location for the X-server changed and nowadays, /usr/X11R6 is used. Imagine that you have such an old application that still tries to locate program files in /usr/X11. It would be able to find those program files if you created a symbolic link with the name X11 that refers to the new X11R6 directory.

docs.sun.com Solaris 10 Release Notes

New ln Utility Requires -f Option

The behavior of /usr/bin/ln has changed to adhere to all of the standards from SVID3 through XCU6. If you use the ln command without the -f option to link to an existing target file, the link is not established. Instead, a diagnostic message is written to standard error, and the command proceeds to link any remaining source files. Finally, the ln command exits with an error value.

For example, if file b exists, the syntax ln a b generates the following message:

ln: b: File exists

This behavior change affects existing shell scripts or programs that include the ln command without the -f option. Scripts that used to work might now fail in Solaris 10 OS.

Workaround: Use the -f option with the ln command. If you have existing scripts that execute the link utility, make sure to modify these scripts to comply with the command's new behavior.

Recommended Links

Softpanorama hot topic of the month

Softpanorama Recommended

Internal

Solaris File System Structure

External

Reference

docs.sun.com Solaris 10 Release Notes New ln Utility Requires -f Option

The behavior of /usr/bin/ln has changed to adhere to all of the standards from SVID3 through XCU6. If you use the ln command without the -f option to link to an existing target file, the link is not established. Instead, a diagnostic message is written to standard error, and the command proceeds to link any remaining source files. Finally, the ln command exits with an error value.

For example, if file b exists, the syntax ln a b generates the following message:

ln: b: File exists

This behavior change affects existing shell scripts or programs that include the ln command without the -f option. Scripts that used to work might now fail in Solaris 10 OS.

Workaround: Use the -f option with the ln command. If you have existing scripts that execute the link utility, make sure to modify these scripts to comply with the command's new behavior.

Solaris 10

Solaris 9 man pages for ln

Recommended Articles

 Learn Linux, 101 Create and change hard and symbolic links

TTTT Links (see also other tips at  Tuesday Tiny Techie Tips )

ln(1)  creates a "link" to a file. To know what that means, you need to know a little bit about how the UNIX filesystem works. (note, I'm doing this off the top of my head without references, so if you want to go write your own UNIX filesystem, you might want to double check my misconceptions).

The UNIX File System

Most UNIX machines store their files on magnetic disk drives. A disk drive is a device that can store information by making electrical imprints on a magnetic surface. One or more heads skim close to the spinning magnetic plate, and can detect, or change, the magnetic state of a given spot on the disk. The drives use disk controllers to position the head at the correct place at the correct time to read from, or write to, the magnetic surface of the plate. It is often possible to partition a single disk drive into more than one logical storage area. This section describes how the UNIX operating system deals with a raw storage device like a disk drive, and how it manages to make organized use of the space.

How the UNIX file system works

Every item in a UNIX file system can de defined as belonging to one of four possible types:

Ordinary files

Ordinary files can contain text, data, or program information. An ordinary file cannot contain another file, or directory. An ordinary file can be thought of as a one-dimensional array of bytes.

Directories

In a previous section, we described directories as containers that can hold files, and other directories. A directory is actually implemented as a file that has one line for each item contained within the directory. Each line in a directory file contains only the name of the item, and a numerical reference to the location of the item. The reference is called an i-number, and is an index to a table known as the i-list. The i-list is a complete list of all the storage space available to the file system.

Special files

Special files represent input/output (i/o) devices, like a tty (terminal), a disk drive, or a printer. Because UNIX treats such devices as files, a degree of compatibility can be achieved between device i/o, and ordinary file i/o, allowing for the more efficient use of software. Special files can be either character special files, that deal with streams of characters, or block special files, that operate on larger blocks of data. Typical block sizes are 512 bytes, 1024 bytes, and 2048 bytes.

Links

A link is a pointer to another file. Remember that a directory is nothing more than a list of the names and i-numbers of files. A directory entry can be a hard link, in which the i-number points directly to another file. A hard link to a file is indistinguishable from the file itself. When a hard link is made, then the i-numbers of two different directory file entries point to the same inode. For that reason, hard links cannot span across file systems. A soft link (or symbolic link) provides an indirect pointer to a file. A soft link is implemented as a directory file entry containing a pathname. Soft links are distinguishable from files, and can span across file systems. Not all versions of UNIX support soft links.

The I-List

When we speak of a UNIX file system, we are actually referring to an area of physical memory represented by a single i-list. A UNIX machine may be connected to several file systems, each with its own i-list. One of those i-lists points to a special storage area, known as the root file system. The root file system contains the files for the operating system itself, and must be available at all times. Other file systems are removable. Removable file systems can be attached, or mounted, to the root file system. Typically, an empty directory is created on the root file system as a mount point, and a removable file system is attached there. When you issue a cd command to access the files and directories of a mounted removable file system, your file operations will be controlled through the i-list of the removable file system.

The purpose of the i-list is to provide the operating system with a map into the memory of some physical storage device. The map is continually being revised, as the files are created and removed, and as they shrink and grow in size. Thus, the mechanism of mapping must be very flexible to accomodate drastic changes in the number and size of files. The i-list is stored in a known location, on the same memory storage device that it maps.

Each entry in an i-list is called an i-node. An i-node is a complex structure that provides the necessary flexibility to track the changing file system. The i-nodes contain the information necessary to get information from the storage device, which typically communicates in fixed-size disk blocks. An i-node contains 10 direct pointers, which point to disk blocks on the storage device. In addition, each i-node also contains one indirect pointer, one double indirect pointer, and one triple indirect pointer. The indirect pointer points to a block of direct pointers. The double indirect pointer points to a block of indirect pointers, and the triple indirect pointer points to a block of double indirect pointers. By structuring the pointers in a geometric fashion, a single i-node can represent a very large file.

It now makes a little more sense to view a UNIX directory as a list of i-numbers, each i-number referencing a specific i-node on a specific i-list. The operating system traces its way through a file path by following the i-nodes until it reaches the direct pointers that contain the actual location of the file on the storage device.

The file system table

Each file system that is mounted on a UNIX machine is accessed through its own block special file. The information on each of the block special files is kept in a system database called the file system table, and is usually located in /etc/fstab. It includes information about the name of the device, the directory name under which it will be mounted, and the read and write privileges for the device. It is possible to mount a file system as "read-only," to prevent users from changing anything.

File system quotas

Although not originally part of the UNIX filesystem, quotas quickly became a widely-used tool. Quotas allow the system administrator to place limits on the amount of space the users can allocate. Quotas usually place restrictions on the amount of space, and the number of files, that a user can take. The limit can be a soft limit, where only a warning is generated, or a hard limit, where no further operations that create files will be allowed.

The command

quota

will let you know if you're over your soft limit. Adding the -v option will provide statistics about your disk usage.

File system related commands

Here are some commands related to file system usage, and other topics discussed in this section:

bdf

On HP-UX systems, reports file system usage statistics

 

df

On HP-UX systems, reports on free disk blocks, and i-nodes

 

du

Summarizes disk usage in a specified directory hierarchy

 

ln

Creates a hard link (default), or a soft link (with -s option)

 

mount, umount

Attaches, or detaches, a file system (super user only)

 

mkfs

Constructs a new file system (super user only)

 

fsck

Evaluates the integrity of a file system (super user only)

A brief tour of the UNIX filesystem

The actual locations and names of certain system configuration files will differ under different inplementations of UNIX. Here are some examples of important files and directories under version 9 of the HP-UX operating system:

/hp-ux

The kernel program

 

/dev/

Where special files are kept

 

/bin/

Executable system utilities, like sh, cp, rm

 

/etc/

System configuration files and databases

 

/lib/

Operating system and programming libraries

 

/tmp/

System scratch files (all users can write here)

 

/lost+found/

Where the file system checker puts detached files

 

/usr/bin/

Additional user commands

 

/usr/include/

Standard system header files

 

/usr/lib/

More programming and system call libraries

 

/usr/local/

Typically a place where local utilities go

 

/usr/man

The manual pages are kept here

Other places to look for useful stuff

If you get an account on an unfamiliar UNIX system, take a tour of the directories listed above, and familiarize yourself with their contents. Another way to find out what is available is to look at the contents of your PATH environment variable:

echo $PATH

You can use the ls command to list the contents of each directory in your path, and the man command to get help on unfamiliar utilities. A good systems administrator will ensure that manual pages are provided for the utilities installed on the system.

 

 


Etc

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least


Copyright © 1996-2016 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: February 19, 2014